diff --git a/build/contracts/InitialAllocationCollateralToken.json b/build/contracts/InitialAllocationCollateralToken.json index 2ef4c3c..1c16727 100644 --- a/build/contracts/InitialAllocationCollateralToken.json +++ b/build/contracts/InitialAllocationCollateralToken.json @@ -370,22 +370,22 @@ ], "bytecode": "0x60806040523480156200001157600080fd5b506040516200182638038062001826833981018060405281019080805182019291906020018051820192919060200180519060200190929190805190602001909291905050508383838383600390805190602001906200007392919062000140565b5082600490805190602001906200008c92919062000140565b5080600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff1660ff16600a0a82026006819055506006546001819055506006546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050600560009054906101000a900460ff1660ff16600a0a820260078190555050505050620001ef565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018357805160ff1916838001178555620001b4565b82800160010185558215620001b4579182015b82811115620001b357825182559160200191906001019062000196565b5b509050620001c39190620001c7565b5090565b620001ec91905b80821115620001e8576000816000905550600101620001ce565b5090565b90565b61162780620001ff6000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100eb578063095ea7b31461017b57806318160ddd146101e057806323b872dd1461020b5780632ff2e9dc14610290578063313ce567146102bb5780636529e97e146102ec578063661884631461031757806370a082311461037c57806395d89b41146103d3578063a5d1c24214610463578063a81564fc1461048e578063a9059cbb146104a5578063d73dd6231461050a578063dd62ed3e1461056f578063ecd80acf146105e6575b600080fd5b3480156100f757600080fd5b50610100610641565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610140578082015181840152602081019050610125565b50505050905090810190601f16801561016d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018757600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106df565b604051808215151515815260200191505060405180910390f35b3480156101ec57600080fd5b506101f56107d1565b6040518082815260200191505060405180910390f35b34801561021757600080fd5b50610276600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107db565b604051808215151515815260200191505060405180910390f35b34801561029c57600080fd5b506102a5610b95565b6040518082815260200191505060405180910390f35b3480156102c757600080fd5b506102d0610b9b565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102f857600080fd5b50610301610bae565b6040518082815260200191505060405180910390f35b34801561032357600080fd5b50610362600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bb4565b604051808215151515815260200191505060405180910390f35b34801561038857600080fd5b506103bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e45565b6040518082815260200191505060405180910390f35b3480156103df57600080fd5b506103e8610e8d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042857808201518184015260208101905061040d565b50505050905090810190601f1680156104555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046f57600080fd5b50610478610f2b565b6040518082815260200191505060405180910390f35b34801561049a57600080fd5b506104a3610f31565b005b3480156104b157600080fd5b506104f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ce565b604051808215151515815260200191505060405180910390f35b34801561051657600080fd5b50610555600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ed565b604051808215151515815260200191505060405180910390f35b34801561057b57600080fd5b506105d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e9565b6040518082815260200191505060405180910390f35b3480156105f257600080fd5b50610627600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611570565b604051808215151515815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106d75780601f106106ac576101008083540402835291602001916106d7565b820191906000526020600020905b8154815290600101906020018083116106ba57829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561081857600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561086557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156108f057600080fd5b610941826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109d4826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610aa582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60065481565b600560009054906101000a900460ff1681565b60075481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610cc5576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d59565b610cd883826115c690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f235780601f10610ef857610100808354040283529160200191610f23565b820191906000526020600020905b815481529060010190602001808311610f0657829003601f168201915b505050505081565b60085481565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f8a57600080fd5b6001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506110356007546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f4e6e48df225ff222dc9e0158c45c709906054b12d2da1efb7d0224276bd6814460405160405180910390a2565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561110b57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561115857600080fd5b6111a9826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061123c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061137e82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008282111515156115d457fe5b818303905092915050565b600081830190508281101515156115f257fe5b809050929150505600a165627a7a7230582015bfa9ad568b4e916203aa99453834df52cd04dd067246aedb5c8e1f8fd6fd6f0029", "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100eb578063095ea7b31461017b57806318160ddd146101e057806323b872dd1461020b5780632ff2e9dc14610290578063313ce567146102bb5780636529e97e146102ec578063661884631461031757806370a082311461037c57806395d89b41146103d3578063a5d1c24214610463578063a81564fc1461048e578063a9059cbb146104a5578063d73dd6231461050a578063dd62ed3e1461056f578063ecd80acf146105e6575b600080fd5b3480156100f757600080fd5b50610100610641565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610140578082015181840152602081019050610125565b50505050905090810190601f16801561016d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018757600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106df565b604051808215151515815260200191505060405180910390f35b3480156101ec57600080fd5b506101f56107d1565b6040518082815260200191505060405180910390f35b34801561021757600080fd5b50610276600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107db565b604051808215151515815260200191505060405180910390f35b34801561029c57600080fd5b506102a5610b95565b6040518082815260200191505060405180910390f35b3480156102c757600080fd5b506102d0610b9b565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102f857600080fd5b50610301610bae565b6040518082815260200191505060405180910390f35b34801561032357600080fd5b50610362600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bb4565b604051808215151515815260200191505060405180910390f35b34801561038857600080fd5b506103bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e45565b6040518082815260200191505060405180910390f35b3480156103df57600080fd5b506103e8610e8d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042857808201518184015260208101905061040d565b50505050905090810190601f1680156104555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046f57600080fd5b50610478610f2b565b6040518082815260200191505060405180910390f35b34801561049a57600080fd5b506104a3610f31565b005b3480156104b157600080fd5b506104f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ce565b604051808215151515815260200191505060405180910390f35b34801561051657600080fd5b50610555600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ed565b604051808215151515815260200191505060405180910390f35b34801561057b57600080fd5b506105d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e9565b6040518082815260200191505060405180910390f35b3480156105f257600080fd5b50610627600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611570565b604051808215151515815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106d75780601f106106ac576101008083540402835291602001916106d7565b820191906000526020600020905b8154815290600101906020018083116106ba57829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561081857600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561086557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156108f057600080fd5b610941826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109d4826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610aa582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60065481565b600560009054906101000a900460ff1681565b60075481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610cc5576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d59565b610cd883826115c690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f235780601f10610ef857610100808354040283529160200191610f23565b820191906000526020600020905b815481529060010190602001808311610f0657829003601f168201915b505050505081565b60085481565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f8a57600080fd5b6001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506110356007546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f4e6e48df225ff222dc9e0158c45c709906054b12d2da1efb7d0224276bd6814460405160405180910390a2565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561110b57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561115857600080fd5b6111a9826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061123c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061137e82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115df90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008282111515156115d457fe5b818303905092915050565b600081830190508281101515156115f257fe5b809050929150505600a165627a7a7230582015bfa9ad568b4e916203aa99453834df52cd04dd067246aedb5c8e1f8fd6fd6f0029", - "sourceMap": "714:1446:19:-;;;1098:359;8:9:-1;5:2;;;30:1;27;20:12;5:2;1098:359:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:9;1291:11;1312:22;1344:13;1159:9:18;1152:4;:16;;;;;;;;;;;;:::i;:::-;;1187:11;1178:6;:20;;;;;;;;;;;;:::i;:::-;;1219:13;1208:8;;:24;;;;;;;;;;;;;;;;;;1291:8;;;;;;;;;;;1283:17;;1277:2;:23;1260:13;:41;1243:14;:58;;;;1326:14;;1311:12;:29;;;;1373:14;;1350:8;:20;1359:10;1350:20;;;;;;;;;;;;;;;:37;;;;999:395;;;;1440:8:19;;;;;;;;;;;1432:17;;1426:2;:23;1400:22;:50;1373:24;:77;;;;1098:359;;;;714:1446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "714:1446:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:18:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;799:18:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;799:18:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:26;;;;;;;;;;;;;;;;;;;;;;;736:444:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:29:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;877:29:18;;;;;;;;;;;;;;;;;;;;;;;849:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;849:21:18;;;;;;;;;;;;;;;;;;;;;;;;;;;782:39:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;782:39:19;;;;;;;;;;;;;;;;;;;;;;;3617:403:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:20:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:20:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;823:20:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:45:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:45:19;;;;;;;;;;;;;;;;;;;;;;;1535:330;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1535:330:19;;;;;;608:321:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2024:134:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2024:134:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:18:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:31:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:26:-;415:7;437:12;;430:19;;371:83;:::o;736:444:31:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;877:29:18:-;;;;:::o;849:21::-;;;;;;;;;;;;;:::o;782:39:19:-;;;;:::o;3617:403:31:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:26:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;823:20:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;827:45:19:-;;;;:::o;1535:330::-;1595:26;:38;1622:10;1595:38;;;;;;;;;;;;;;;;;;;;;;;;;1594:39;1586:48;;;;;;;;1685:4;1644:26;:38;1671:10;1644:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;1722:50;1747:24;;1722:8;:20;1731:10;1722:20;;;;;;;;;;;;;;;;:24;;:50;;;;:::i;:::-;1699:8;:20;1708:10;1699:20;;;;;;;;;;;;;;;:73;;;;1782:30;;:32;;;;;;;;;;;;;1847:10;1829:29;;;;;;;;;;;;1535:330::o;608:321:26:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:31:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;2024:134:19:-;2093:4;2116:26;:35;2143:7;2116:35;;;;;;;;;;;;;;;;;;;;;;;;;2109:42;;2024:134;;;:::o;836:110:24:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", + "sourceMap": "714:1446:14:-;;;1098:359;8:9:-1;5:2;;;30:1;27;20:12;5:2;1098:359:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:9;1291:11;1312:22;1344:13;1159:9:13;1152:4;:16;;;;;;;;;;;;:::i;:::-;;1187:11;1178:6;:20;;;;;;;;;;;;:::i;:::-;;1219:13;1208:8;;:24;;;;;;;;;;;;;;;;;;1291:8;;;;;;;;;;;1283:17;;1277:2;:23;1260:13;:41;1243:14;:58;;;;1326:14;;1311:12;:29;;;;1373:14;;1350:8;:20;1359:10;1350:20;;;;;;;;;;;;;;;:37;;;;999:395;;;;1440:8:14;;;;;;;;;;;1432:17;;1426:2;:23;1400:22;:50;1373:24;:77;;;;1098:359;;;;714:1446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "714:1446:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:18:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;799:18:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;799:18:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1803:188:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:188:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:21;;;;;;;;;;;;;;;;;;;;;;;736:444:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:444:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:29:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;877:29:13;;;;;;;;;;;;;;;;;;;;;;;849:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;849:21:13;;;;;;;;;;;;;;;;;;;;;;;;;;;782:39:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;782:39:14;;;;;;;;;;;;;;;;;;;;;;;3617:403:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:403:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:20:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;823:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:45:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:45:14;;;;;;;;;;;;;;;;;;;;;;;1535:330;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1535:330:14;;;;;;608:321:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2893:262:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2893:262:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2310:126:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2024:134:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2024:134:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:18:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1803:188:26:-;1870:4;1914:6;1882:7;:19;1890:10;1882:19;;;;;;;;;;;;;;;:29;1902:8;1882:29;;;;;;;;;;;;;;;:38;;;;1952:8;1931:38;;1940:10;1931:38;;;1962:6;1931:38;;;;;;;;;;;;;;;;;;1982:4;1975:11;;1803:188;;;;:::o;371:83:21:-;415:7;437:12;;430:19;;371:83;:::o;736:444:26:-;818:4;853:1;838:17;;:3;:17;;;;830:26;;;;;;;;880:8;:15;889:5;880:15;;;;;;;;;;;;;;;;870:6;:25;;862:34;;;;;;;;920:7;:14;928:5;920:14;;;;;;;;;;;;;;;:26;935:10;920:26;;;;;;;;;;;;;;;;910:6;:36;;902:45;;;;;;;;972:27;992:6;972:8;:15;981:5;972:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;954:8;:15;963:5;954:15;;;;;;;;;;;;;;;:45;;;;1021:25;1039:6;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1005:8;:13;1014:3;1005:13;;;;;;;;;;;;;;;:41;;;;1081:38;1112:6;1081:7;:14;1089:5;1081:14;;;;;;;;;;;;;;;:26;1096:10;1081:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1052:7;:14;1060:5;1052:14;;;;;;;;;;;;;;;:26;1067:10;1052:26;;;;;;;;;;;;;;;:67;;;;1146:3;1130:28;;1139:5;1130:28;;;1151:6;1130:28;;;;;;;;;;;;;;;;;;1171:4;1164:11;;736:444;;;;;:::o;877:29:13:-;;;;:::o;849:21::-;;;;;;;;;;;;;:::o;782:39:14:-;;;;:::o;3617:403:26:-;3700:4;3712:13;3728:7;:19;3736:10;3728:19;;;;;;;;;;;;;;;:29;3748:8;3728:29;;;;;;;;;;;;;;;;3712:45;;3786:8;3767:16;:27;3763:164;;;3836:1;3804:7;:19;3812:10;3804:19;;;;;;;;;;;;;;;:29;3824:8;3804:29;;;;;;;;;;;;;;;:33;;;;3763:164;;;3890:30;3903:16;3890:8;:12;;:30;;;;:::i;:::-;3858:7;:19;3866:10;3858:19;;;;;;;;;;;;;;;:29;3878:8;3858:29;;;;;;;;;;;;;;;:62;;;;3763:164;3958:8;3937:61;;3946:10;3937:61;;;3968:7;:19;3976:10;3968:19;;;;;;;;;;;;;;;:29;3988:8;3968:29;;;;;;;;;;;;;;;;3937:61;;;;;;;;;;;;;;;;;;4011:4;4004:11;;3617:403;;;;;:::o;1131:99:21:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;823:20:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;827:45:14:-;;;;:::o;1535:330::-;1595:26;:38;1622:10;1595:38;;;;;;;;;;;;;;;;;;;;;;;;;1594:39;1586:48;;;;;;;;1685:4;1644:26;:38;1671:10;1644:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;1722:50;1747:24;;1722:8;:20;1731:10;1722:20;;;;;;;;;;;;;;;;:24;;:50;;;;:::i;:::-;1699:8;:20;1708:10;1699:20;;;;;;;;;;;;;;;:73;;;;1782:30;;:32;;;;;;;;;;;;;1847:10;1829:29;;;;;;;;;;;;1535:330::o;608:321:21:-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;2893:262:26:-;2971:4;3015:46;3049:11;3015:7;:19;3023:10;3015:19;;;;;;;;;;;;;;;:29;3035:8;3015:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2983:7;:19;2991:10;2983:19;;;;;;;;;;;;;;;:29;3003:8;2983:29;;;;;;;;;;;;;;;:78;;;;3093:8;3072:61;;3081:10;3072:61;;;3103:7;:19;3111:10;3103:19;;;;;;;;;;;;;;;:29;3123:8;3103:29;;;;;;;;;;;;;;;;3072:61;;;;;;;;;;;;;;;;;;3146:4;3139:11;;2893:262;;;;:::o;2310:126::-;2384:7;2406;:15;2414:6;2406:15;;;;;;;;;;;;;;;:25;2422:8;2406:25;;;;;;;;;;;;;;;;2399:32;;2310:126;;;;:::o;2024:134:14:-;2093:4;2116:26;:35;2143:7;2116:35;;;;;;;;;;;;;;;;;;;;;;;;;2109:42;;2024:134;;;:::o;836:110:19:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "/*\n Copyright 2017-2018 Phillip A. Elsasser\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\npragma solidity ^0.4.24;\n\nimport \"./CollateralToken.sol\";\n\n\n/// token with initial grant to all addresses\ncontract InitialAllocationCollateralToken is CollateralToken {\n\n uint256 public INITIAL_TOKEN_ALLOCATION;\n uint256 public totalTokenAllocationsRequested;\n mapping(address => bool) isInitialAllocationClaimed;\n\n event AllocationClaimed(address indexed claimeeAddress);\n\n /// @dev creates a token that allows for all addresses to retrieve an initial token allocation.\n constructor (\n string tokenName,\n string tokenSymbol,\n uint256 initialTokenAllocation,\n uint8 tokenDecimals\n ) public CollateralToken(\n tokenName,\n tokenSymbol,\n initialTokenAllocation,\n tokenDecimals\n ){\n INITIAL_TOKEN_ALLOCATION = initialTokenAllocation * (10 ** uint256(decimals));\n }\n\n /// @notice allows caller to claim a one time allocation of tokens.\n function getInitialAllocation() external {\n require(!isInitialAllocationClaimed[msg.sender]);\n isInitialAllocationClaimed[msg.sender] = true;\n balances[msg.sender] = balances[msg.sender].add(INITIAL_TOKEN_ALLOCATION);\n totalTokenAllocationsRequested++;\n emit AllocationClaimed(msg.sender);\n }\n\n /// @notice check to see if an address has already claimed their initial allocation\n /// @param claimee address of the user claiming their tokens\n function isAllocationClaimed(address claimee) external view returns (bool) {\n return isInitialAllocationClaimed[claimee];\n }\n}\n", "sourcePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/InitialAllocationCollateralToken.sol", "ast": { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/InitialAllocationCollateralToken.sol", "exportedSymbols": { "InitialAllocationCollateralToken": [ - 4068 + 3557 ] }, - "id": 4069, + "id": 3558, "nodeType": "SourceUnit", "nodes": [ { - "id": 3971, + "id": 3460, "literals": [ "solidity", "^", @@ -393,16 +393,16 @@ ".24" ], "nodeType": "PragmaDirective", - "src": "608:24:19" + "src": "608:24:14" }, { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/CollateralToken.sol", "file": "./CollateralToken.sol", - "id": 3972, + "id": 3461, "nodeType": "ImportDirective", - "scope": 4069, - "sourceUnit": 3970, - "src": "634:31:19", + "scope": 3558, + "sourceUnit": 3459, + "src": "634:31:14", "symbolAliases": [], "unitAlias": "" }, @@ -412,50 +412,50 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3973, + "id": 3462, "name": "CollateralToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3969, - "src": "759:15:19", + "referencedDeclaration": 3458, + "src": "759:15:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_CollateralToken_$3969", + "typeIdentifier": "t_contract$_CollateralToken_$3458", "typeString": "contract CollateralToken" } }, - "id": 3974, + "id": 3463, "nodeType": "InheritanceSpecifier", - "src": "759:15:19" + "src": "759:15:14" } ], "contractDependencies": [ - 3969, - 4723, - 4837, - 4869, - 5177 + 3458, + 4207, + 4321, + 4353, + 4661 ], "contractKind": "contract", "documentation": "token with initial grant to all addresses", "fullyImplemented": true, - "id": 4068, + "id": 3557, "linearizedBaseContracts": [ - 4068, - 3969, - 5177, - 4723, - 4837, - 4869 + 3557, + 3458, + 4661, + 4207, + 4321, + 4353 ], "name": "InitialAllocationCollateralToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 3976, + "id": 3465, "name": "INITIAL_TOKEN_ALLOCATION", "nodeType": "VariableDeclaration", - "scope": 4068, - "src": "782:39:19", + "scope": 3557, + "src": "782:39:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -463,10 +463,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3975, + "id": 3464, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "782:7:19", + "src": "782:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -477,11 +477,11 @@ }, { "constant": false, - "id": 3978, + "id": 3467, "name": "totalTokenAllocationsRequested", "nodeType": "VariableDeclaration", - "scope": 4068, - "src": "827:45:19", + "scope": 3557, + "src": "827:45:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -489,10 +489,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3977, + "id": 3466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "827:7:19", + "src": "827:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -503,11 +503,11 @@ }, { "constant": false, - "id": 3982, + "id": 3471, "name": "isInitialAllocationClaimed", "nodeType": "VariableDeclaration", - "scope": 4068, - "src": "878:51:19", + "scope": 3557, + "src": "878:51:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -515,28 +515,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 3981, + "id": 3470, "keyType": { - "id": 3979, + "id": 3468, "name": "address", "nodeType": "ElementaryTypeName", - "src": "886:7:19", + "src": "886:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "878:24:19", + "src": "878:24:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 3980, + "id": 3469, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "897:4:19", + "src": "897:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -549,21 +549,21 @@ { "anonymous": false, "documentation": null, - "id": 3986, + "id": 3475, "name": "AllocationClaimed", "nodeType": "EventDefinition", "parameters": { - "id": 3985, + "id": 3474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3984, + "id": 3473, "indexed": true, "name": "claimeeAddress", "nodeType": "VariableDeclaration", - "scope": 3986, - "src": "960:30:19", + "scope": 3475, + "src": "960:30:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -571,10 +571,10 @@ "typeString": "address" }, "typeName": { - "id": 3983, + "id": 3472, "name": "address", "nodeType": "ElementaryTypeName", - "src": "960:7:19", + "src": "960:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -584,32 +584,32 @@ "visibility": "internal" } ], - "src": "959:32:19" + "src": "959:32:14" }, - "src": "936:56:19" + "src": "936:56:14" }, { "body": { - "id": 4014, + "id": 3503, "nodeType": "Block", - "src": "1363:94:19", + "src": "1363:94:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4012, + "id": 3501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4003, + "id": 3492, "name": "INITIAL_TOKEN_ALLOCATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3976, - "src": "1373:24:19", + "referencedDeclaration": 3465, + "src": "1373:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -623,19 +623,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4011, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4004, + "id": 3493, "name": "initialTokenAllocation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3992, - "src": "1400:22:19", + "referencedDeclaration": 3481, + "src": "1400:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -652,7 +652,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4009, + "id": 3498, "isConstant": false, "isLValue": false, "isPure": false, @@ -660,14 +660,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 4005, + "id": 3494, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1426:2:19", + "src": "1426:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -682,12 +682,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4007, + "id": 3496, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3920, - "src": "1440:8:19", + "referencedDeclaration": 3409, + "src": "1440:8:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -701,20 +701,20 @@ "typeString": "uint8" } ], - "id": 4006, + "id": 3495, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1432:7:19", + "src": "1432:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 4008, + "id": 3497, "isConstant": false, "isLValue": false, "isPure": false, @@ -722,52 +722,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1432:17:19", + "src": "1432:17:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1426:23:19", + "src": "1426:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 4010, + "id": 3499, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1425:25:19", + "src": "1425:25:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1400:50:19", + "src": "1400:50:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1373:77:19", + "src": "1373:77:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4013, + "id": 3502, "nodeType": "ExpressionStatement", - "src": "1373:77:19" + "src": "1373:77:14" } ] }, "documentation": "@dev creates a token that allows for all addresses to retrieve an initial token allocation.", - "id": 4015, + "id": 3504, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -776,12 +776,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3997, + "id": 3486, "name": "tokenName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "1272:9:19", + "referencedDeclaration": 3477, + "src": "1272:9:14", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -789,12 +789,12 @@ }, { "argumentTypes": null, - "id": 3998, + "id": 3487, "name": "tokenSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3990, - "src": "1291:11:19", + "referencedDeclaration": 3479, + "src": "1291:11:14", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -802,12 +802,12 @@ }, { "argumentTypes": null, - "id": 3999, + "id": 3488, "name": "initialTokenAllocation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3992, - "src": "1312:22:19", + "referencedDeclaration": 3481, + "src": "1312:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -815,49 +815,49 @@ }, { "argumentTypes": null, - "id": 4000, + "id": 3489, "name": "tokenDecimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3994, - "src": "1344:13:19", + "referencedDeclaration": 3483, + "src": "1344:13:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 4001, + "id": 3490, "modifierName": { "argumentTypes": null, - "id": 3996, + "id": 3485, "name": "CollateralToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "1247:15:19", + "referencedDeclaration": 3458, + "src": "1247:15:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CollateralToken_$3969_$", + "typeIdentifier": "t_type$_t_contract$_CollateralToken_$3458_$", "typeString": "type(contract CollateralToken)" } }, "nodeType": "ModifierInvocation", - "src": "1247:116:19" + "src": "1247:116:14" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 3995, + "id": 3484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3988, + "id": 3477, "name": "tokenName", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1120:16:19", + "scope": 3504, + "src": "1120:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -865,10 +865,10 @@ "typeString": "string" }, "typeName": { - "id": 3987, + "id": 3476, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1120:6:19", + "src": "1120:6:14", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -879,11 +879,11 @@ }, { "constant": false, - "id": 3990, + "id": 3479, "name": "tokenSymbol", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1146:18:19", + "scope": 3504, + "src": "1146:18:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -891,10 +891,10 @@ "typeString": "string" }, "typeName": { - "id": 3989, + "id": 3478, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1146:6:19", + "src": "1146:6:14", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -905,11 +905,11 @@ }, { "constant": false, - "id": 3992, + "id": 3481, "name": "initialTokenAllocation", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1174:30:19", + "scope": 3504, + "src": "1174:30:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -917,10 +917,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3991, + "id": 3480, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1174:7:19", + "src": "1174:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -931,11 +931,11 @@ }, { "constant": false, - "id": 3994, + "id": 3483, "name": "tokenDecimals", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1214:19:19", + "scope": 3504, + "src": "1214:19:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -943,10 +943,10 @@ "typeString": "uint8" }, "typeName": { - "id": 3993, + "id": 3482, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1214:5:19", + "src": "1214:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -956,26 +956,26 @@ "visibility": "internal" } ], - "src": "1110:129:19" + "src": "1110:129:14" }, "payable": false, "returnParameters": { - "id": 4002, + "id": 3491, "nodeType": "ParameterList", "parameters": [], - "src": "1363:0:19" + "src": "1363:0:14" }, - "scope": 4068, - "src": "1098:359:19", + "scope": 3557, + "src": "1098:359:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 4054, + "id": 3543, "nodeType": "Block", - "src": "1576:289:19", + "src": "1576:289:14", "statements": [ { "expression": { @@ -983,7 +983,7 @@ "arguments": [ { "argumentTypes": null, - "id": 4023, + "id": 3512, "isConstant": false, "isLValue": false, "isPure": false, @@ -991,39 +991,39 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1594:39:19", + "src": "1594:39:14", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4019, + "id": 3508, "name": "isInitialAllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "1595:26:19", + "referencedDeclaration": 3471, + "src": "1595:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 4022, + "id": 3511, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4020, + "id": 3509, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1622:3:19", + "referencedDeclaration": 4676, + "src": "1622:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4021, + "id": 3510, "isConstant": false, "isLValue": false, "isPure": false, @@ -1031,7 +1031,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1622:10:19", + "src": "1622:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1042,7 +1042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1595:38:19", + "src": "1595:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1061,21 +1061,21 @@ "typeString": "bool" } ], - "id": 4018, + "id": 3507, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 4679, + 4680 ], - "referencedDeclaration": 5195, - "src": "1586:7:19", + "referencedDeclaration": 4679, + "src": "1586:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 4024, + "id": 3513, "isConstant": false, "isLValue": false, "isPure": false, @@ -1083,20 +1083,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1586:48:19", + "src": "1586:48:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4025, + "id": 3514, "nodeType": "ExpressionStatement", - "src": "1586:48:19" + "src": "1586:48:14" }, { "expression": { "argumentTypes": null, - "id": 4031, + "id": 3520, "isConstant": false, "isLValue": false, "isPure": false, @@ -1105,34 +1105,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4026, + "id": 3515, "name": "isInitialAllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "1644:26:19", + "referencedDeclaration": 3471, + "src": "1644:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 4029, + "id": 3518, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4027, + "id": 3516, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1671:3:19", + "referencedDeclaration": 4676, + "src": "1671:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4028, + "id": 3517, "isConstant": false, "isLValue": false, "isPure": false, @@ -1140,7 +1140,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1671:10:19", + "src": "1671:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1151,7 +1151,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1644:38:19", + "src": "1644:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1162,14 +1162,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 4030, + "id": 3519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1685:4:19", + "src": "1685:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1177,20 +1177,20 @@ }, "value": "true" }, - "src": "1644:45:19", + "src": "1644:45:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 4032, + "id": 3521, "nodeType": "ExpressionStatement", - "src": "1644:45:19" + "src": "1644:45:14" }, { "expression": { "argumentTypes": null, - "id": 4044, + "id": 3533, "isConstant": false, "isLValue": false, "isPure": false, @@ -1199,34 +1199,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4033, + "id": 3522, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "1699:8:19", + "referencedDeclaration": 4124, + "src": "1699:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4036, + "id": 3525, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4034, + "id": 3523, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1708:3:19", + "referencedDeclaration": 4676, + "src": "1708:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4035, + "id": 3524, "isConstant": false, "isLValue": false, "isPure": false, @@ -1234,7 +1234,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1708:10:19", + "src": "1708:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1245,7 +1245,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1699:20:19", + "src": "1699:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1258,12 +1258,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4042, + "id": 3531, "name": "INITIAL_TOKEN_ALLOCATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3976, - "src": "1747:24:19", + "referencedDeclaration": 3465, + "src": "1747:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1281,34 +1281,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4037, + "id": 3526, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "1722:8:19", + "referencedDeclaration": 4124, + "src": "1722:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4040, + "id": 3529, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4038, + "id": 3527, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1731:3:19", + "referencedDeclaration": 4676, + "src": "1731:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4039, + "id": 3528, "isConstant": false, "isLValue": false, "isPure": false, @@ -1316,7 +1316,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1731:10:19", + "src": "1731:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1327,27 +1327,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1722:20:19", + "src": "1722:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4041, + "id": 3530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 4570, - "src": "1722:24:19", + "referencedDeclaration": 4054, + "src": "1722:24:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4043, + "id": 3532, "isConstant": false, "isLValue": false, "isPure": false, @@ -1355,26 +1355,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1722:50:19", + "src": "1722:50:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1699:73:19", + "src": "1699:73:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4045, + "id": 3534, "nodeType": "ExpressionStatement", - "src": "1699:73:19" + "src": "1699:73:14" }, { "expression": { "argumentTypes": null, - "id": 4047, + "id": 3536, "isConstant": false, "isLValue": false, "isPure": false, @@ -1382,15 +1382,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1782:32:19", + "src": "1782:32:14", "subExpression": { "argumentTypes": null, - "id": 4046, + "id": 3535, "name": "totalTokenAllocationsRequested", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3978, - "src": "1782:30:19", + "referencedDeclaration": 3467, + "src": "1782:30:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1401,9 +1401,9 @@ "typeString": "uint256" } }, - "id": 4048, + "id": 3537, "nodeType": "ExpressionStatement", - "src": "1782:32:19" + "src": "1782:32:14" }, { "eventCall": { @@ -1413,18 +1413,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4050, + "id": 3539, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1847:3:19", + "referencedDeclaration": 4676, + "src": "1847:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4051, + "id": 3540, "isConstant": false, "isLValue": false, "isPure": false, @@ -1432,7 +1432,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1847:10:19", + "src": "1847:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1446,18 +1446,18 @@ "typeString": "address" } ], - "id": 4049, + "id": 3538, "name": "AllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3986, - "src": "1829:17:19", + "referencedDeclaration": 3475, + "src": "1829:17:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 4052, + "id": 3541, "isConstant": false, "isLValue": false, "isPure": false, @@ -1465,20 +1465,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1829:29:19", + "src": "1829:29:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4053, + "id": 3542, "nodeType": "EmitStatement", - "src": "1824:34:19" + "src": "1824:34:14" } ] }, "documentation": "@notice allows caller to claim a one time allocation of tokens.", - "id": 4055, + "id": 3544, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1486,55 +1486,55 @@ "name": "getInitialAllocation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4016, + "id": 3505, "nodeType": "ParameterList", "parameters": [], - "src": "1564:2:19" + "src": "1564:2:14" }, "payable": false, "returnParameters": { - "id": 4017, + "id": 3506, "nodeType": "ParameterList", "parameters": [], - "src": "1576:0:19" + "src": "1576:0:14" }, - "scope": 4068, - "src": "1535:330:19", + "scope": 3557, + "src": "1535:330:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4066, + "id": 3555, "nodeType": "Block", - "src": "2099:59:19", + "src": "2099:59:14", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4062, + "id": 3551, "name": "isInitialAllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "2116:26:19", + "referencedDeclaration": 3471, + "src": "2116:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 4064, + "id": 3553, "indexExpression": { "argumentTypes": null, - "id": 4063, + "id": 3552, "name": "claimee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "2143:7:19", + "referencedDeclaration": 3546, + "src": "2143:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1545,21 +1545,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2116:35:19", + "src": "2116:35:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4061, - "id": 4065, + "functionReturnParameters": 3550, + "id": 3554, "nodeType": "Return", - "src": "2109:42:19" + "src": "2109:42:14" } ] }, "documentation": "@notice check to see if an address has already claimed their initial allocation\n @param claimee address of the user claiming their tokens", - "id": 4067, + "id": 3556, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1567,16 +1567,16 @@ "name": "isAllocationClaimed", "nodeType": "FunctionDefinition", "parameters": { - "id": 4058, + "id": 3547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4057, + "id": 3546, "name": "claimee", "nodeType": "VariableDeclaration", - "scope": 4067, - "src": "2053:15:19", + "scope": 3556, + "src": "2053:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1584,10 +1584,10 @@ "typeString": "address" }, "typeName": { - "id": 4056, + "id": 3545, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2053:7:19", + "src": "2053:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1597,20 +1597,20 @@ "visibility": "internal" } ], - "src": "2052:17:19" + "src": "2052:17:14" }, "payable": false, "returnParameters": { - "id": 4061, + "id": 3550, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4060, + "id": 3549, "name": "", "nodeType": "VariableDeclaration", - "scope": 4067, - "src": "2093:4:19", + "scope": 3556, + "src": "2093:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1618,10 +1618,10 @@ "typeString": "bool" }, "typeName": { - "id": 4059, + "id": 3548, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2093:4:19", + "src": "2093:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1631,33 +1631,33 @@ "visibility": "internal" } ], - "src": "2092:6:19" + "src": "2092:6:14" }, - "scope": 4068, - "src": "2024:134:19", + "scope": 3557, + "src": "2024:134:14", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 4069, - "src": "714:1446:19" + "scope": 3558, + "src": "714:1446:14" } ], - "src": "608:1553:19" + "src": "608:1553:14" }, "legacyAST": { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/InitialAllocationCollateralToken.sol", "exportedSymbols": { "InitialAllocationCollateralToken": [ - 4068 + 3557 ] }, - "id": 4069, + "id": 3558, "nodeType": "SourceUnit", "nodes": [ { - "id": 3971, + "id": 3460, "literals": [ "solidity", "^", @@ -1665,16 +1665,16 @@ ".24" ], "nodeType": "PragmaDirective", - "src": "608:24:19" + "src": "608:24:14" }, { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/CollateralToken.sol", "file": "./CollateralToken.sol", - "id": 3972, + "id": 3461, "nodeType": "ImportDirective", - "scope": 4069, - "sourceUnit": 3970, - "src": "634:31:19", + "scope": 3558, + "sourceUnit": 3459, + "src": "634:31:14", "symbolAliases": [], "unitAlias": "" }, @@ -1684,50 +1684,50 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3973, + "id": 3462, "name": "CollateralToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3969, - "src": "759:15:19", + "referencedDeclaration": 3458, + "src": "759:15:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_CollateralToken_$3969", + "typeIdentifier": "t_contract$_CollateralToken_$3458", "typeString": "contract CollateralToken" } }, - "id": 3974, + "id": 3463, "nodeType": "InheritanceSpecifier", - "src": "759:15:19" + "src": "759:15:14" } ], "contractDependencies": [ - 3969, - 4723, - 4837, - 4869, - 5177 + 3458, + 4207, + 4321, + 4353, + 4661 ], "contractKind": "contract", "documentation": "token with initial grant to all addresses", "fullyImplemented": true, - "id": 4068, + "id": 3557, "linearizedBaseContracts": [ - 4068, - 3969, - 5177, - 4723, - 4837, - 4869 + 3557, + 3458, + 4661, + 4207, + 4321, + 4353 ], "name": "InitialAllocationCollateralToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 3976, + "id": 3465, "name": "INITIAL_TOKEN_ALLOCATION", "nodeType": "VariableDeclaration", - "scope": 4068, - "src": "782:39:19", + "scope": 3557, + "src": "782:39:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1735,10 +1735,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3975, + "id": 3464, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "782:7:19", + "src": "782:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1749,11 +1749,11 @@ }, { "constant": false, - "id": 3978, + "id": 3467, "name": "totalTokenAllocationsRequested", "nodeType": "VariableDeclaration", - "scope": 4068, - "src": "827:45:19", + "scope": 3557, + "src": "827:45:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1761,10 +1761,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3977, + "id": 3466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "827:7:19", + "src": "827:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1775,11 +1775,11 @@ }, { "constant": false, - "id": 3982, + "id": 3471, "name": "isInitialAllocationClaimed", "nodeType": "VariableDeclaration", - "scope": 4068, - "src": "878:51:19", + "scope": 3557, + "src": "878:51:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1787,28 +1787,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 3981, + "id": 3470, "keyType": { - "id": 3979, + "id": 3468, "name": "address", "nodeType": "ElementaryTypeName", - "src": "886:7:19", + "src": "886:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "878:24:19", + "src": "878:24:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 3980, + "id": 3469, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "897:4:19", + "src": "897:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1821,21 +1821,21 @@ { "anonymous": false, "documentation": null, - "id": 3986, + "id": 3475, "name": "AllocationClaimed", "nodeType": "EventDefinition", "parameters": { - "id": 3985, + "id": 3474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3984, + "id": 3473, "indexed": true, "name": "claimeeAddress", "nodeType": "VariableDeclaration", - "scope": 3986, - "src": "960:30:19", + "scope": 3475, + "src": "960:30:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1843,10 +1843,10 @@ "typeString": "address" }, "typeName": { - "id": 3983, + "id": 3472, "name": "address", "nodeType": "ElementaryTypeName", - "src": "960:7:19", + "src": "960:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1856,32 +1856,32 @@ "visibility": "internal" } ], - "src": "959:32:19" + "src": "959:32:14" }, - "src": "936:56:19" + "src": "936:56:14" }, { "body": { - "id": 4014, + "id": 3503, "nodeType": "Block", - "src": "1363:94:19", + "src": "1363:94:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4012, + "id": 3501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4003, + "id": 3492, "name": "INITIAL_TOKEN_ALLOCATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3976, - "src": "1373:24:19", + "referencedDeclaration": 3465, + "src": "1373:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1895,19 +1895,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4011, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4004, + "id": 3493, "name": "initialTokenAllocation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3992, - "src": "1400:22:19", + "referencedDeclaration": 3481, + "src": "1400:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1924,7 +1924,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4009, + "id": 3498, "isConstant": false, "isLValue": false, "isPure": false, @@ -1932,14 +1932,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 4005, + "id": 3494, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1426:2:19", + "src": "1426:2:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -1954,12 +1954,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4007, + "id": 3496, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3920, - "src": "1440:8:19", + "referencedDeclaration": 3409, + "src": "1440:8:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1973,20 +1973,20 @@ "typeString": "uint8" } ], - "id": 4006, + "id": 3495, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1432:7:19", + "src": "1432:7:14", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 4008, + "id": 3497, "isConstant": false, "isLValue": false, "isPure": false, @@ -1994,52 +1994,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1432:17:19", + "src": "1432:17:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1426:23:19", + "src": "1426:23:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 4010, + "id": 3499, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1425:25:19", + "src": "1425:25:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1400:50:19", + "src": "1400:50:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1373:77:19", + "src": "1373:77:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4013, + "id": 3502, "nodeType": "ExpressionStatement", - "src": "1373:77:19" + "src": "1373:77:14" } ] }, "documentation": "@dev creates a token that allows for all addresses to retrieve an initial token allocation.", - "id": 4015, + "id": 3504, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2048,12 +2048,12 @@ "arguments": [ { "argumentTypes": null, - "id": 3997, + "id": 3486, "name": "tokenName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "1272:9:19", + "referencedDeclaration": 3477, + "src": "1272:9:14", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2061,12 +2061,12 @@ }, { "argumentTypes": null, - "id": 3998, + "id": 3487, "name": "tokenSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3990, - "src": "1291:11:19", + "referencedDeclaration": 3479, + "src": "1291:11:14", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2074,12 +2074,12 @@ }, { "argumentTypes": null, - "id": 3999, + "id": 3488, "name": "initialTokenAllocation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3992, - "src": "1312:22:19", + "referencedDeclaration": 3481, + "src": "1312:22:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2087,49 +2087,49 @@ }, { "argumentTypes": null, - "id": 4000, + "id": 3489, "name": "tokenDecimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3994, - "src": "1344:13:19", + "referencedDeclaration": 3483, + "src": "1344:13:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 4001, + "id": 3490, "modifierName": { "argumentTypes": null, - "id": 3996, + "id": 3485, "name": "CollateralToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3969, - "src": "1247:15:19", + "referencedDeclaration": 3458, + "src": "1247:15:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CollateralToken_$3969_$", + "typeIdentifier": "t_type$_t_contract$_CollateralToken_$3458_$", "typeString": "type(contract CollateralToken)" } }, "nodeType": "ModifierInvocation", - "src": "1247:116:19" + "src": "1247:116:14" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 3995, + "id": 3484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3988, + "id": 3477, "name": "tokenName", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1120:16:19", + "scope": 3504, + "src": "1120:16:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2137,10 +2137,10 @@ "typeString": "string" }, "typeName": { - "id": 3987, + "id": 3476, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1120:6:19", + "src": "1120:6:14", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2151,11 +2151,11 @@ }, { "constant": false, - "id": 3990, + "id": 3479, "name": "tokenSymbol", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1146:18:19", + "scope": 3504, + "src": "1146:18:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2163,10 +2163,10 @@ "typeString": "string" }, "typeName": { - "id": 3989, + "id": 3478, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1146:6:19", + "src": "1146:6:14", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2177,11 +2177,11 @@ }, { "constant": false, - "id": 3992, + "id": 3481, "name": "initialTokenAllocation", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1174:30:19", + "scope": 3504, + "src": "1174:30:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2189,10 +2189,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3991, + "id": 3480, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1174:7:19", + "src": "1174:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2203,11 +2203,11 @@ }, { "constant": false, - "id": 3994, + "id": 3483, "name": "tokenDecimals", "nodeType": "VariableDeclaration", - "scope": 4015, - "src": "1214:19:19", + "scope": 3504, + "src": "1214:19:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2215,10 +2215,10 @@ "typeString": "uint8" }, "typeName": { - "id": 3993, + "id": 3482, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1214:5:19", + "src": "1214:5:14", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2228,26 +2228,26 @@ "visibility": "internal" } ], - "src": "1110:129:19" + "src": "1110:129:14" }, "payable": false, "returnParameters": { - "id": 4002, + "id": 3491, "nodeType": "ParameterList", "parameters": [], - "src": "1363:0:19" + "src": "1363:0:14" }, - "scope": 4068, - "src": "1098:359:19", + "scope": 3557, + "src": "1098:359:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 4054, + "id": 3543, "nodeType": "Block", - "src": "1576:289:19", + "src": "1576:289:14", "statements": [ { "expression": { @@ -2255,7 +2255,7 @@ "arguments": [ { "argumentTypes": null, - "id": 4023, + "id": 3512, "isConstant": false, "isLValue": false, "isPure": false, @@ -2263,39 +2263,39 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1594:39:19", + "src": "1594:39:14", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4019, + "id": 3508, "name": "isInitialAllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "1595:26:19", + "referencedDeclaration": 3471, + "src": "1595:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 4022, + "id": 3511, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4020, + "id": 3509, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1622:3:19", + "referencedDeclaration": 4676, + "src": "1622:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4021, + "id": 3510, "isConstant": false, "isLValue": false, "isPure": false, @@ -2303,7 +2303,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1622:10:19", + "src": "1622:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2314,7 +2314,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1595:38:19", + "src": "1595:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2333,21 +2333,21 @@ "typeString": "bool" } ], - "id": 4018, + "id": 3507, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 4679, + 4680 ], - "referencedDeclaration": 5195, - "src": "1586:7:19", + "referencedDeclaration": 4679, + "src": "1586:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 4024, + "id": 3513, "isConstant": false, "isLValue": false, "isPure": false, @@ -2355,20 +2355,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1586:48:19", + "src": "1586:48:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4025, + "id": 3514, "nodeType": "ExpressionStatement", - "src": "1586:48:19" + "src": "1586:48:14" }, { "expression": { "argumentTypes": null, - "id": 4031, + "id": 3520, "isConstant": false, "isLValue": false, "isPure": false, @@ -2377,34 +2377,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4026, + "id": 3515, "name": "isInitialAllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "1644:26:19", + "referencedDeclaration": 3471, + "src": "1644:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 4029, + "id": 3518, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4027, + "id": 3516, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1671:3:19", + "referencedDeclaration": 4676, + "src": "1671:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4028, + "id": 3517, "isConstant": false, "isLValue": false, "isPure": false, @@ -2412,7 +2412,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1671:10:19", + "src": "1671:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2423,7 +2423,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1644:38:19", + "src": "1644:38:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2434,14 +2434,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 4030, + "id": 3519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1685:4:19", + "src": "1685:4:14", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2449,20 +2449,20 @@ }, "value": "true" }, - "src": "1644:45:19", + "src": "1644:45:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 4032, + "id": 3521, "nodeType": "ExpressionStatement", - "src": "1644:45:19" + "src": "1644:45:14" }, { "expression": { "argumentTypes": null, - "id": 4044, + "id": 3533, "isConstant": false, "isLValue": false, "isPure": false, @@ -2471,34 +2471,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4033, + "id": 3522, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "1699:8:19", + "referencedDeclaration": 4124, + "src": "1699:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4036, + "id": 3525, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4034, + "id": 3523, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1708:3:19", + "referencedDeclaration": 4676, + "src": "1708:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4035, + "id": 3524, "isConstant": false, "isLValue": false, "isPure": false, @@ -2506,7 +2506,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1708:10:19", + "src": "1708:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2517,7 +2517,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1699:20:19", + "src": "1699:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2530,12 +2530,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4042, + "id": 3531, "name": "INITIAL_TOKEN_ALLOCATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3976, - "src": "1747:24:19", + "referencedDeclaration": 3465, + "src": "1747:24:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2553,34 +2553,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4037, + "id": 3526, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "1722:8:19", + "referencedDeclaration": 4124, + "src": "1722:8:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4040, + "id": 3529, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4038, + "id": 3527, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1731:3:19", + "referencedDeclaration": 4676, + "src": "1731:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4039, + "id": 3528, "isConstant": false, "isLValue": false, "isPure": false, @@ -2588,7 +2588,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1731:10:19", + "src": "1731:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2599,27 +2599,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1722:20:19", + "src": "1722:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4041, + "id": 3530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 4570, - "src": "1722:24:19", + "referencedDeclaration": 4054, + "src": "1722:24:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4043, + "id": 3532, "isConstant": false, "isLValue": false, "isPure": false, @@ -2627,26 +2627,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1722:50:19", + "src": "1722:50:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1699:73:19", + "src": "1699:73:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4045, + "id": 3534, "nodeType": "ExpressionStatement", - "src": "1699:73:19" + "src": "1699:73:14" }, { "expression": { "argumentTypes": null, - "id": 4047, + "id": 3536, "isConstant": false, "isLValue": false, "isPure": false, @@ -2654,15 +2654,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1782:32:19", + "src": "1782:32:14", "subExpression": { "argumentTypes": null, - "id": 4046, + "id": 3535, "name": "totalTokenAllocationsRequested", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3978, - "src": "1782:30:19", + "referencedDeclaration": 3467, + "src": "1782:30:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2673,9 +2673,9 @@ "typeString": "uint256" } }, - "id": 4048, + "id": 3537, "nodeType": "ExpressionStatement", - "src": "1782:32:19" + "src": "1782:32:14" }, { "eventCall": { @@ -2685,18 +2685,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4050, + "id": 3539, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "1847:3:19", + "referencedDeclaration": 4676, + "src": "1847:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4051, + "id": 3540, "isConstant": false, "isLValue": false, "isPure": false, @@ -2704,7 +2704,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1847:10:19", + "src": "1847:10:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2718,18 +2718,18 @@ "typeString": "address" } ], - "id": 4049, + "id": 3538, "name": "AllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3986, - "src": "1829:17:19", + "referencedDeclaration": 3475, + "src": "1829:17:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 4052, + "id": 3541, "isConstant": false, "isLValue": false, "isPure": false, @@ -2737,20 +2737,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1829:29:19", + "src": "1829:29:14", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4053, + "id": 3542, "nodeType": "EmitStatement", - "src": "1824:34:19" + "src": "1824:34:14" } ] }, "documentation": "@notice allows caller to claim a one time allocation of tokens.", - "id": 4055, + "id": 3544, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2758,55 +2758,55 @@ "name": "getInitialAllocation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4016, + "id": 3505, "nodeType": "ParameterList", "parameters": [], - "src": "1564:2:19" + "src": "1564:2:14" }, "payable": false, "returnParameters": { - "id": 4017, + "id": 3506, "nodeType": "ParameterList", "parameters": [], - "src": "1576:0:19" + "src": "1576:0:14" }, - "scope": 4068, - "src": "1535:330:19", + "scope": 3557, + "src": "1535:330:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4066, + "id": 3555, "nodeType": "Block", - "src": "2099:59:19", + "src": "2099:59:14", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4062, + "id": 3551, "name": "isInitialAllocationClaimed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3982, - "src": "2116:26:19", + "referencedDeclaration": 3471, + "src": "2116:26:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 4064, + "id": 3553, "indexExpression": { "argumentTypes": null, - "id": 4063, + "id": 3552, "name": "claimee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4057, - "src": "2143:7:19", + "referencedDeclaration": 3546, + "src": "2143:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2817,21 +2817,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2116:35:19", + "src": "2116:35:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4061, - "id": 4065, + "functionReturnParameters": 3550, + "id": 3554, "nodeType": "Return", - "src": "2109:42:19" + "src": "2109:42:14" } ] }, "documentation": "@notice check to see if an address has already claimed their initial allocation\n @param claimee address of the user claiming their tokens", - "id": 4067, + "id": 3556, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2839,16 +2839,16 @@ "name": "isAllocationClaimed", "nodeType": "FunctionDefinition", "parameters": { - "id": 4058, + "id": 3547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4057, + "id": 3546, "name": "claimee", "nodeType": "VariableDeclaration", - "scope": 4067, - "src": "2053:15:19", + "scope": 3556, + "src": "2053:15:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2856,10 +2856,10 @@ "typeString": "address" }, "typeName": { - "id": 4056, + "id": 3545, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2053:7:19", + "src": "2053:7:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2869,20 +2869,20 @@ "visibility": "internal" } ], - "src": "2052:17:19" + "src": "2052:17:14" }, "payable": false, "returnParameters": { - "id": 4061, + "id": 3550, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4060, + "id": 3549, "name": "", "nodeType": "VariableDeclaration", - "scope": 4067, - "src": "2093:4:19", + "scope": 3556, + "src": "2093:4:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2890,10 +2890,10 @@ "typeString": "bool" }, "typeName": { - "id": 4059, + "id": 3548, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2093:4:19", + "src": "2093:4:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2903,20 +2903,20 @@ "visibility": "internal" } ], - "src": "2092:6:19" + "src": "2092:6:14" }, - "scope": 4068, - "src": "2024:134:19", + "scope": 3557, + "src": "2024:134:14", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 4069, - "src": "714:1446:19" + "scope": 3558, + "src": "714:1446:14" } ], - "src": "608:1553:19" + "src": "608:1553:14" }, "compiler": { "name": "solc", @@ -2931,5 +2931,5 @@ } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-07-27T19:00:06.641Z" + "updatedAt": "2018-10-05T13:53:55.119Z" } \ No newline at end of file diff --git a/build/contracts/MarketCollateralPoolFactory.json b/build/contracts/MarketCollateralPoolFactory.json index c25f49d..b69dbe4 100644 --- a/build/contracts/MarketCollateralPoolFactory.json +++ b/build/contracts/MarketCollateralPoolFactory.json @@ -100,8 +100,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50604051602080612ac183398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506129fd806100c46000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636a8da881146100725780638da5cb5b146100b5578063ab7b49931461010c578063ceaaa9151461014f578063f2fde38b146101a6575b600080fd5b34801561007e57600080fd5b506100b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101e9565b005b3480156100c157600080fd5b506100ca610403565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011857600080fd5b5061014d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610428565b005b34801561015b57600080fd5b50610164610503565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b257600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610529565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad23de63836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102a857600080fd5b505af11580156102bc573d6000803e3d6000fd5b505050506040513d60208110156102d257600080fd5b810190808051906020019092919050505015156102ee57600080fd5b816102f761067e565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610349573d6000803e3d6000fd5b5090508173ffffffffffffffffffffffffffffffffffffffff1663c201293b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156103e757600080fd5b505af11580156103fb573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104bf57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105c057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516123438061068f833901905600608060405234801561001057600080fd5b506040516020806123438339810180604052810190808051906020019092919050505080600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561007057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663798ddbc86040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561017857600080fd5b505af115801561018c573d6000803e3d6000fd5b505050506040513d60208110156101a257600080fd5b8101908080519060200190929190505050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612140806102036000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631c88ef1e146100bf578063315a095d1461012757806331e8a7ef146101545780633bc6db30146101ab5780633f7f4f17146101c257806345aff2fa14610219578063798ddbc8146102705780637bb55cd2146102c75780638af6375f1461031e578063a68e5ad014610349578063aafff7e114610376578063eeaba083146103cd575b600080fd5b3480156100cb57600080fd5b5061010a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610444565b604051808381526020018281526020019250505060405180910390f35b34801561013357600080fd5b50610152600480360381019080803590602001909291905050506104be565b005b34801561016057600080fd5b50610195600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610695565b6040518082815260200191505060405180910390f35b3480156101b757600080fd5b506101c06106e4565b005b3480156101ce57600080fd5b50610203600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a98565b6040518082815260200191505060405180910390f35b34801561022557600080fd5b5061025a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae1565b6040518082815260200191505060405180910390f35b34801561027c57600080fd5b50610285610b2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610b53565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032a57600080fd5b50610333610b78565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610b7e565b005b34801561038257600080fd5b506103b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb0565b6040518082815260200191505060405180910390f35b3480156103d957600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610ec8565b005b6000806000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110151561049857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600061051282600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106433383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16610f7a9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633270bb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561076c57600080fd5b505af1158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b810190808051906020019092919050505015156107b257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156108c557600080fd5b505af11580156108d9573d6000803e3d6000fd5b505050506040513d60208110156108ef57600080fd5b8101908080519060200190929190505050151561090b57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010154141515610a4d57610a4c81337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff846001015402600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f348e8b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a0c57600080fd5b505af1158015610a20573d6000803e3d6000fd5b505050506040513d6020811015610a3657600080fd5b8101908080519060200190929190505050611065565b5b610a95600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104be565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610c9357600080fd5b505af1158015610ca7573d6000803e3d6000fd5b505050506040513d6020811015610cbd57600080fd5b81019080805190602001909291905050501515610cd957600080fd5b610d2b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b9050610e1a333084600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610db957600080fd5b505af1158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166117cc909392919063ffffffff16565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b60036020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2357600080fd5b610f2e8483836118ec565b610f5b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8402836118ec565b50505050565b6000828211151515610f6f57fe5b818303905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561101d57600080fd5b505af1158015611031573d6000803e3d6000fd5b505050506040513d602081101561104757600080fd5b8101908080519060200190929190505050151561106057fe5b505050565b6000806000809250849150600087600001805490501415151561108457fe5b5b600082141515611790578660000160018860000180549050038154811015156110aa57fe5b906000526020600020906002020190506110c382611a1b565b6110d08260010154611a1b565b11151561142b576113f373__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b505050506040513d60208110156111a457600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b505050506040513d602081101561126557600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b810190808051906020019092919050505086600101548a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156113a957600080fd5b505af41580156113bd573d6000803e3d6000fd5b505050506040513d60208110156113d357600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b925061140c816001015483611a3990919063ffffffff16565b91508660000180548091906001900361142591906120b3565b5061178b565b611442828260010154611a3990919063ffffffff16565b816001018190555061178473__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114ed57600080fd5b505af1158015611501573d6000803e3d6000fd5b505050506040513d602081101561151757600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561166f57600080fd5b505af1158015611683573d6000803e3d6000fd5b505050506040513d602081101561169957600080fd5b81019080805190602001909291905050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88028a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561173a57600080fd5b505af415801561174e573d6000803e3d6000fd5b505050506040513d602081101561176457600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b9250611790565b611085565b6000831415156117a5576117a48684611aa1565b5b50505050505050565b60008082840190508381101515156117c257fe5b8091505092915050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156118a357600080fd5b505af11580156118b7573d6000803e3d6000fd5b505050506040513d60208110156118cd57600080fd5b810190808051906020019092919050505015156118e657fe5b50505050565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091506000826001015414806119565750611955848360010154611be290919063ffffffff16565b5b1561196c5761196782868686611bfc565b6119f5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff840282600101541215156119ac576119a782868686611065565b6119f4565b6119de82867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85600101540286611065565b8382600101540190506119f382868386611bfc565b5b5b611a0c848360010154611a3990919063ffffffff16565b82600101819055505050505050565b600080821215611a3057816000039050611a34565b8190505b919050565b6000808284019050611a4b8484611be2565b1515611a5957809150611a9a565b600084121515611a7f578360ff60019060020a0219038313151515611a7a57fe5b611a96565b8360ff60019060020a02038312151515611a9557fe5b5b8091505b5092915050565b6000611af582600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b5082600154610f6190919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b600081831480611bf457506000828402135b905092915050565b600073__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c9e57600080fd5b505af1158015611cb2573d6000803e3d6000fd5b505050506040513d6020811015611cc857600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b505050506040513d6020811015611d8957600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b810190808051906020019092919050505087876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611ec957600080fd5b505af4158015611edd573d6000803e3d6000fd5b505050506040513d6020811015611ef357600080fd5b81019080805190602001909291905050509050611f108482611f72565b846000016040805190810160405280848152602001858152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050505050505050565b6000611fc682600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612021826001546117ae90919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b8154818355818111156120e0576002028160020283600052602060002091820191016120df91906120e5565b5b505050565b61211191905b8082111561210d576000808201600090556001820160009055506002016120eb565b5090565b905600a165627a7a72305820b34f6441b257fc1f2777042571cb9bed4da55f2842186e1786cb5e9bfde8ced50029a165627a7a723058202d2d999cbc73e18be378a52a6e474db701065902a63a790f5e1b5429c2d48aaa0029", - "deployedBytecode": "0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636a8da881146100725780638da5cb5b146100b5578063ab7b49931461010c578063ceaaa9151461014f578063f2fde38b146101a6575b600080fd5b34801561007e57600080fd5b506100b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101e9565b005b3480156100c157600080fd5b506100ca610403565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011857600080fd5b5061014d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610428565b005b34801561015b57600080fd5b50610164610503565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b257600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610529565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad23de63836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102a857600080fd5b505af11580156102bc573d6000803e3d6000fd5b505050506040513d60208110156102d257600080fd5b810190808051906020019092919050505015156102ee57600080fd5b816102f761067e565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610349573d6000803e3d6000fd5b5090508173ffffffffffffffffffffffffffffffffffffffff1663c201293b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156103e757600080fd5b505af11580156103fb573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104bf57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105c057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516123438061068f833901905600608060405234801561001057600080fd5b506040516020806123438339810180604052810190808051906020019092919050505080600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561007057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663798ddbc86040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561017857600080fd5b505af115801561018c573d6000803e3d6000fd5b505050506040513d60208110156101a257600080fd5b8101908080519060200190929190505050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612140806102036000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631c88ef1e146100bf578063315a095d1461012757806331e8a7ef146101545780633bc6db30146101ab5780633f7f4f17146101c257806345aff2fa14610219578063798ddbc8146102705780637bb55cd2146102c75780638af6375f1461031e578063a68e5ad014610349578063aafff7e114610376578063eeaba083146103cd575b600080fd5b3480156100cb57600080fd5b5061010a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610444565b604051808381526020018281526020019250505060405180910390f35b34801561013357600080fd5b50610152600480360381019080803590602001909291905050506104be565b005b34801561016057600080fd5b50610195600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610695565b6040518082815260200191505060405180910390f35b3480156101b757600080fd5b506101c06106e4565b005b3480156101ce57600080fd5b50610203600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a98565b6040518082815260200191505060405180910390f35b34801561022557600080fd5b5061025a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae1565b6040518082815260200191505060405180910390f35b34801561027c57600080fd5b50610285610b2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610b53565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032a57600080fd5b50610333610b78565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610b7e565b005b34801561038257600080fd5b506103b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb0565b6040518082815260200191505060405180910390f35b3480156103d957600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610ec8565b005b6000806000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110151561049857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600061051282600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106433383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16610f7a9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633270bb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561076c57600080fd5b505af1158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b810190808051906020019092919050505015156107b257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156108c557600080fd5b505af11580156108d9573d6000803e3d6000fd5b505050506040513d60208110156108ef57600080fd5b8101908080519060200190929190505050151561090b57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010154141515610a4d57610a4c81337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff846001015402600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f348e8b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a0c57600080fd5b505af1158015610a20573d6000803e3d6000fd5b505050506040513d6020811015610a3657600080fd5b8101908080519060200190929190505050611065565b5b610a95600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104be565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610c9357600080fd5b505af1158015610ca7573d6000803e3d6000fd5b505050506040513d6020811015610cbd57600080fd5b81019080805190602001909291905050501515610cd957600080fd5b610d2b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b9050610e1a333084600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610db957600080fd5b505af1158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166117cc909392919063ffffffff16565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b60036020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2357600080fd5b610f2e8483836118ec565b610f5b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8402836118ec565b50505050565b6000828211151515610f6f57fe5b818303905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561101d57600080fd5b505af1158015611031573d6000803e3d6000fd5b505050506040513d602081101561104757600080fd5b8101908080519060200190929190505050151561106057fe5b505050565b6000806000809250849150600087600001805490501415151561108457fe5b5b600082141515611790578660000160018860000180549050038154811015156110aa57fe5b906000526020600020906002020190506110c382611a1b565b6110d08260010154611a1b565b11151561142b576113f373__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b505050506040513d60208110156111a457600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b505050506040513d602081101561126557600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b810190808051906020019092919050505086600101548a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156113a957600080fd5b505af41580156113bd573d6000803e3d6000fd5b505050506040513d60208110156113d357600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b925061140c816001015483611a3990919063ffffffff16565b91508660000180548091906001900361142591906120b3565b5061178b565b611442828260010154611a3990919063ffffffff16565b816001018190555061178473__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114ed57600080fd5b505af1158015611501573d6000803e3d6000fd5b505050506040513d602081101561151757600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561166f57600080fd5b505af1158015611683573d6000803e3d6000fd5b505050506040513d602081101561169957600080fd5b81019080805190602001909291905050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88028a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561173a57600080fd5b505af415801561174e573d6000803e3d6000fd5b505050506040513d602081101561176457600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b9250611790565b611085565b6000831415156117a5576117a48684611aa1565b5b50505050505050565b60008082840190508381101515156117c257fe5b8091505092915050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156118a357600080fd5b505af11580156118b7573d6000803e3d6000fd5b505050506040513d60208110156118cd57600080fd5b810190808051906020019092919050505015156118e657fe5b50505050565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091506000826001015414806119565750611955848360010154611be290919063ffffffff16565b5b1561196c5761196782868686611bfc565b6119f5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff840282600101541215156119ac576119a782868686611065565b6119f4565b6119de82867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85600101540286611065565b8382600101540190506119f382868386611bfc565b5b5b611a0c848360010154611a3990919063ffffffff16565b82600101819055505050505050565b600080821215611a3057816000039050611a34565b8190505b919050565b6000808284019050611a4b8484611be2565b1515611a5957809150611a9a565b600084121515611a7f578360ff60019060020a0219038313151515611a7a57fe5b611a96565b8360ff60019060020a02038312151515611a9557fe5b5b8091505b5092915050565b6000611af582600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b5082600154610f6190919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b600081831480611bf457506000828402135b905092915050565b600073__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c9e57600080fd5b505af1158015611cb2573d6000803e3d6000fd5b505050506040513d6020811015611cc857600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b505050506040513d6020811015611d8957600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b810190808051906020019092919050505087876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611ec957600080fd5b505af4158015611edd573d6000803e3d6000fd5b505050506040513d6020811015611ef357600080fd5b81019080805190602001909291905050509050611f108482611f72565b846000016040805190810160405280848152602001858152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050505050505050565b6000611fc682600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612021826001546117ae90919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b8154818355818111156120e0576002028160020283600052602060002091820191016120df91906120e5565b5b505050565b61211191905b8082111561210d576000808201600090556001820160009055506002016120eb565b5090565b905600a165627a7a72305820b34f6441b257fc1f2777042571cb9bed4da55f2842186e1786cb5e9bfde8ced50029a165627a7a723058202d2d999cbc73e18be378a52a6e474db701065902a63a790f5e1b5429c2d48aaa0029", + "bytecode": "0x608060405234801561001057600080fd5b50604051602080612aaf83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506129eb806100c46000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636a8da881146100725780638da5cb5b146100b5578063ab7b49931461010c578063ceaaa9151461014f578063f2fde38b146101a6575b600080fd5b34801561007e57600080fd5b506100b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101e9565b005b3480156100c157600080fd5b506100ca610403565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011857600080fd5b5061014d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610428565b005b34801561015b57600080fd5b50610164610503565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b257600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610529565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad23de63836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102a857600080fd5b505af11580156102bc573d6000803e3d6000fd5b505050506040513d60208110156102d257600080fd5b810190808051906020019092919050505015156102ee57600080fd5b816102f761067e565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610349573d6000803e3d6000fd5b5090508173ffffffffffffffffffffffffffffffffffffffff1663c201293b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156103e757600080fd5b505af11580156103fb573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104bf57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105c057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516123318061068f833901905600608060405234801561001057600080fd5b506040516020806123318339810180604052810190808051906020019092919050505080600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561007057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663798ddbc86040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561017857600080fd5b505af115801561018c573d6000803e3d6000fd5b505050506040513d60208110156101a257600080fd5b8101908080519060200190929190505050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061212e806102036000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631c88ef1e146100bf578063315a095d1461012757806331e8a7ef146101545780633bc6db30146101ab5780633f7f4f17146101c257806345aff2fa14610219578063798ddbc8146102705780637bb55cd2146102c75780638af6375f1461031e578063a68e5ad014610349578063aafff7e114610376578063eeaba083146103cd575b600080fd5b3480156100cb57600080fd5b5061010a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610444565b604051808381526020018281526020019250505060405180910390f35b34801561013357600080fd5b50610152600480360381019080803590602001909291905050506104be565b005b34801561016057600080fd5b50610195600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610695565b6040518082815260200191505060405180910390f35b3480156101b757600080fd5b506101c06106e4565b005b3480156101ce57600080fd5b50610203600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a98565b6040518082815260200191505060405180910390f35b34801561022557600080fd5b5061025a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae1565b6040518082815260200191505060405180910390f35b34801561027c57600080fd5b50610285610b2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610b53565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032a57600080fd5b50610333610b78565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610b7e565b005b34801561038257600080fd5b506103b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb0565b6040518082815260200191505060405180910390f35b3480156103d957600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610ec8565b005b6000806000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110151561049857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600061051282600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106433383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16610f7a9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633270bb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561076c57600080fd5b505af1158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b810190808051906020019092919050505015156107b257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156108c557600080fd5b505af11580156108d9573d6000803e3d6000fd5b505050506040513d60208110156108ef57600080fd5b8101908080519060200190929190505050151561090b57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010154141515610a4d57610a4c81337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff846001015402600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f348e8b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a0c57600080fd5b505af1158015610a20573d6000803e3d6000fd5b505050506040513d6020811015610a3657600080fd5b8101908080519060200190929190505050611065565b5b610a95600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104be565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610c9357600080fd5b505af1158015610ca7573d6000803e3d6000fd5b505050506040513d6020811015610cbd57600080fd5b81019080805190602001909291905050501515610cd957600080fd5b610d2b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b9050610e1a333084600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610db957600080fd5b505af1158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166117cc909392919063ffffffff16565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b60036020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2357600080fd5b610f2e8483836118ec565b610f5b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8402836118ec565b50505050565b6000828211151515610f6f57fe5b818303905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561101d57600080fd5b505af1158015611031573d6000803e3d6000fd5b505050506040513d602081101561104757600080fd5b8101908080519060200190929190505050151561106057fe5b505050565b6000806000809250849150600087600001805490501415151561108457fe5b5b600082141515611790578660000160018860000180549050038154811015156110aa57fe5b906000526020600020906002020190506110c382611a09565b6110d08260010154611a09565b11151561142b576113f373__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b505050506040513d60208110156111a457600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b505050506040513d602081101561126557600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b810190808051906020019092919050505086600101548a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156113a957600080fd5b505af41580156113bd573d6000803e3d6000fd5b505050506040513d60208110156113d357600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b925061140c816001015483611a2790919063ffffffff16565b91508660000180548091906001900361142591906120a1565b5061178b565b611442828260010154611a2790919063ffffffff16565b816001018190555061178473__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114ed57600080fd5b505af1158015611501573d6000803e3d6000fd5b505050506040513d602081101561151757600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561166f57600080fd5b505af1158015611683573d6000803e3d6000fd5b505050506040513d602081101561169957600080fd5b81019080805190602001909291905050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88028a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561173a57600080fd5b505af415801561174e573d6000803e3d6000fd5b505050506040513d602081101561176457600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b9250611790565b611085565b6000831415156117a5576117a48684611a8f565b5b50505050505050565b60008082840190508381101515156117c257fe5b8091505092915050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156118a357600080fd5b505af11580156118b7573d6000803e3d6000fd5b505050506040513d60208110156118cd57600080fd5b810190808051906020019092919050505015156118e657fe5b50505050565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091506000826001015414806119565750611955848360010154611bd090919063ffffffff16565b5b1561196c5761196782868686611bea565b6119e3565b61197584611a09565b6119828360010154611a09565b10151561199a5761199582868686611065565b6119e2565b6119cc82867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85600101540286611065565b8382600101540190506119e182868386611bea565b5b5b6119fa848360010154611a2790919063ffffffff16565b82600101819055505050505050565b600080821215611a1e57816000039050611a22565b8190505b919050565b6000808284019050611a398484611bd0565b1515611a4757809150611a88565b600084121515611a6d578360ff60019060020a0219038313151515611a6857fe5b611a84565b8360ff60019060020a02038312151515611a8357fe5b5b8091505b5092915050565b6000611ae382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b3e82600154610f6190919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b600081831480611be257506000828402135b905092915050565b600073__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c8c57600080fd5b505af1158015611ca0573d6000803e3d6000fd5b505050506040513d6020811015611cb657600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d4d57600080fd5b505af1158015611d61573d6000803e3d6000fd5b505050506040513d6020811015611d7757600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e0e57600080fd5b505af1158015611e22573d6000803e3d6000fd5b505050506040513d6020811015611e3857600080fd5b810190808051906020019092919050505087876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611eb757600080fd5b505af4158015611ecb573d6000803e3d6000fd5b505050506040513d6020811015611ee157600080fd5b81019080805190602001909291905050509050611efe8482611f60565b846000016040805190810160405280848152602001858152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050505050505050565b6000611fb482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200f826001546117ae90919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b8154818355818111156120ce576002028160020283600052602060002091820191016120cd91906120d3565b5b505050565b6120ff91905b808211156120fb576000808201600090556001820160009055506002016120d9565b5090565b905600a165627a7a723058200ec7e527ae0877b1c2aa375f8c678ebb2c2d28e7b400ff21b65ec622012a9c3e0029a165627a7a72305820cbb2d78093b3f1f9c7580933a07039073aef38ab298dc0ee21635528da3b9a6c0029", + "deployedBytecode": "0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636a8da881146100725780638da5cb5b146100b5578063ab7b49931461010c578063ceaaa9151461014f578063f2fde38b146101a6575b600080fd5b34801561007e57600080fd5b506100b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101e9565b005b3480156100c157600080fd5b506100ca610403565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011857600080fd5b5061014d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610428565b005b34801561015b57600080fd5b50610164610503565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b257600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610529565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad23de63836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102a857600080fd5b505af11580156102bc573d6000803e3d6000fd5b505050506040513d60208110156102d257600080fd5b810190808051906020019092919050505015156102ee57600080fd5b816102f761067e565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610349573d6000803e3d6000fd5b5090508173ffffffffffffffffffffffffffffffffffffffff1663c201293b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156103e757600080fd5b505af11580156103fb573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561048357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104bf57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105c057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040516123318061068f833901905600608060405234801561001057600080fd5b506040516020806123318339810180604052810190808051906020019092919050505080600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561007057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663798ddbc86040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561017857600080fd5b505af115801561018c573d6000803e3d6000fd5b505050506040513d60208110156101a257600080fd5b8101908080519060200190929190505050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061212e806102036000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631c88ef1e146100bf578063315a095d1461012757806331e8a7ef146101545780633bc6db30146101ab5780633f7f4f17146101c257806345aff2fa14610219578063798ddbc8146102705780637bb55cd2146102c75780638af6375f1461031e578063a68e5ad014610349578063aafff7e114610376578063eeaba083146103cd575b600080fd5b3480156100cb57600080fd5b5061010a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610444565b604051808381526020018281526020019250505060405180910390f35b34801561013357600080fd5b50610152600480360381019080803590602001909291905050506104be565b005b34801561016057600080fd5b50610195600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610695565b6040518082815260200191505060405180910390f35b3480156101b757600080fd5b506101c06106e4565b005b3480156101ce57600080fd5b50610203600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a98565b6040518082815260200191505060405180910390f35b34801561022557600080fd5b5061025a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae1565b6040518082815260200191505060405180910390f35b34801561027c57600080fd5b50610285610b2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610b53565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032a57600080fd5b50610333610b78565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610b7e565b005b34801561038257600080fd5b506103b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb0565b6040518082815260200191505060405180910390f35b3480156103d957600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610ec8565b005b6000806000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110151561049857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600061051282600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106433383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16610f7a9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633270bb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561076c57600080fd5b505af1158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b810190808051906020019092919050505015156107b257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156108c557600080fd5b505af11580156108d9573d6000803e3d6000fd5b505050506040513d60208110156108ef57600080fd5b8101908080519060200190929190505050151561090b57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010154141515610a4d57610a4c81337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff846001015402600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f348e8b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a0c57600080fd5b505af1158015610a20573d6000803e3d6000fd5b505050506040513d6020811015610a3657600080fd5b8101908080519060200190929190505050611065565b5b610a95600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104be565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610c9357600080fd5b505af1158015610ca7573d6000803e3d6000fd5b505050506040513d6020811015610cbd57600080fd5b81019080805190602001909291905050501515610cd957600080fd5b610d2b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b9050610e1a333084600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663323bb7756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610db957600080fd5b505af1158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166117cc909392919063ffffffff16565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a25050565b60036020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2357600080fd5b610f2e8483836118ec565b610f5b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8402836118ec565b50505050565b6000828211151515610f6f57fe5b818303905092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561101d57600080fd5b505af1158015611031573d6000803e3d6000fd5b505050506040513d602081101561104757600080fd5b8101908080519060200190929190505050151561106057fe5b505050565b6000806000809250849150600087600001805490501415151561108457fe5b5b600082141515611790578660000160018860000180549050038154811015156110aa57fe5b906000526020600020906002020190506110c382611a09565b6110d08260010154611a09565b11151561142b576113f373__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561117a57600080fd5b505af115801561118e573d6000803e3d6000fd5b505050506040513d60208110156111a457600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b505050506040513d602081101561126557600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b810190808051906020019092919050505086600101548a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156113a957600080fd5b505af41580156113bd573d6000803e3d6000fd5b505050506040513d60208110156113d357600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b925061140c816001015483611a2790919063ffffffff16565b91508660000180548091906001900361142591906120a1565b5061178b565b611442828260010154611a2790919063ffffffff16565b816001018190555061178473__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114ed57600080fd5b505af1158015611501573d6000803e3d6000fd5b505050506040513d602081101561151757600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561166f57600080fd5b505af1158015611683573d6000803e3d6000fd5b505050506040513d602081101561169957600080fd5b81019080805190602001909291905050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88028a6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561173a57600080fd5b505af415801561174e573d6000803e3d6000fd5b505050506040513d602081101561176457600080fd5b8101908080519060200190929190505050846117ae90919063ffffffff16565b9250611790565b611085565b6000831415156117a5576117a48684611a8f565b5b50505050505050565b60008082840190508381101515156117c257fe5b8091505092915050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156118a357600080fd5b505af11580156118b7573d6000803e3d6000fd5b505050506040513d60208110156118cd57600080fd5b810190808051906020019092919050505015156118e657fe5b50505050565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091506000826001015414806119565750611955848360010154611bd090919063ffffffff16565b5b1561196c5761196782868686611bea565b6119e3565b61197584611a09565b6119828360010154611a09565b10151561199a5761199582868686611065565b6119e2565b6119cc82867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85600101540286611065565b8382600101540190506119e182868386611bea565b5b5b6119fa848360010154611a2790919063ffffffff16565b82600101819055505050505050565b600080821215611a1e57816000039050611a22565b8190505b919050565b6000808284019050611a398484611bd0565b1515611a4757809150611a88565b600084121515611a6d578360ff60019060020a0219038313151515611a6857fe5b611a84565b8360ff60019060020a02038312151515611a8357fe5b5b8091505b5092915050565b6000611ae382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae90919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b3e82600154610f6190919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b600081831480611be257506000828402135b905092915050565b600073__MathLib_______________________________63ed981d4f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c32b1dfa6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c8c57600080fd5b505af1158015611ca0573d6000803e3d6000fd5b505050506040513d6020811015611cb657600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5471dee6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d4d57600080fd5b505af1158015611d61573d6000803e3d6000fd5b505050506040513d6020811015611d7757600080fd5b8101908080519060200190929190505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca361d676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e0e57600080fd5b505af1158015611e22573d6000803e3d6000fd5b505050506040513d6020811015611e3857600080fd5b810190808051906020019092919050505087876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611eb757600080fd5b505af4158015611ecb573d6000803e3d6000fd5b505050506040513d6020811015611ee157600080fd5b81019080805190602001909291905050509050611efe8482611f60565b846000016040805190810160405280848152602001858152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050505050505050565b6000611fb482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f6190919063ffffffff16565b905080600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200f826001546117ae90919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff167f60ede3b17b4e31768b93d5237d5fceb759f4d879bc5bb7c916a42ebaa311e6e6826040518082815260200191505060405180910390a27fc6203b6a88d29510779ca9dba6a5e132f609c335e49a244d6d9e842ebaabb2706001546040518082815260200191505060405180910390a1505050565b8154818355818111156120ce576002028160020283600052602060002091820191016120cd91906120d3565b5b505050565b6120ff91905b808211156120fb576000808201600090556001820160009055506002016120d9565b5090565b905600a165627a7a723058200ec7e527ae0877b1c2aa375f8c678ebb2c2d28e7b400ff21b65ec622012a9c3e0029a165627a7a72305820cbb2d78093b3f1f9c7580933a07039073aef38ab298dc0ee21635528da3b9a6c0029", "sourceMap": "840:1307:7:-;;;1139:102;8:9:-1;5:2;;;30:1;27;20:12;5:2;1139:102:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:25;501:5;;:18;;;;;;;;;;;;;;;;;;1218:15:7;1193:22;;:40;;;;;;;;;;;;;;;;;;1139:102;840:1307;;;;;;", "deployedSourceMap": "840:1307:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1416:404;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1416:404:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;1968:177:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1968:177:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;933:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;832:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;832:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;1416:404:7;1620:41;1542:22;;;;;;;;;;;1510:76;;;1587:21;1510:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1510:99:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1510:99:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1510:99:7;;;;;;;;;;;;;;;;1502:108;;;;;;;;1689:21;1664:47;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1664:47:7;1620:91;;1736:21;1721:70;;;1792:20;1721:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1721:92:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1721:92:7;;;;1416:404;;:::o;238:20:25:-;;;;;;;;;;;;;:::o;1968:177:7:-;653:5:25;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;2085:1:7;2058:29;;:15;:29;;;;2050:38;;;;;;;;2123:15;2098:22;;:40;;;;;;;;;;;;;;;;;;1968:177;:::o;933:37::-;;;;;;;;;;;;;:::o;832:174:25:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;970:8;942:37;;963:5;;;;;;;;;;;942:37;;;;;;;;;;;;993:8;985:5;;:16;;;;;;;;;;;;;;;;;;832:174;:::o;840:1307:7:-;;;;;;;;;;:::o", "source": "/*\n Copyright 2017-2018 Phillip A. Elsasser\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\npragma solidity ^0.4.24;\n\nimport \"../MarketCollateralPool.sol\";\nimport \"./MarketCollateralPoolFactoryInterface.sol\";\nimport \"../MarketContractRegistryInterface.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\ncontract MarketCollateralPoolFactory is Ownable, MarketCollateralPoolFactoryInterface {\n\n address public marketContractRegistry;\n\n /// @dev deploys our factory and ties it the a supply registry address\n /// @param registryAddress - MarketContractRegistry address to whitelist contracts\n constructor(address registryAddress) public {\n marketContractRegistry = registryAddress;\n\n }\n\n /// @dev creates the needed collateral pool and links it to our market contract.\n /// @param marketContractAddress address of the newly deployed market contract.\n function deployMarketCollateralPool(address marketContractAddress) external {\n require(MarketContractRegistryInterface(marketContractRegistry).isAddressWhiteListed(marketContractAddress));\n MarketCollateralPool marketCollateralPool = new MarketCollateralPool(marketContractAddress);\n MarketContract(marketContractAddress).setCollateralPoolContractAddress(marketCollateralPool);\n }\n\n /// @dev allows for the owner to set the desired registry for contract creation.\n /// @param registryAddress desired registry address.\n function setRegistryAddress(address registryAddress) external onlyOwner {\n require(registryAddress != address(0));\n marketContractRegistry = registryAddress;\n }\n}\n", @@ -110,14 +110,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/factories/MarketCollateralPoolFactory.sol", "exportedSymbols": { "MarketCollateralPoolFactory": [ - 1861 + 1862 ] }, - "id": 1862, + "id": 1863, "nodeType": "SourceUnit", "nodes": [ { - "id": 1791, + "id": 1792, "literals": [ "solidity", "^", @@ -130,10 +130,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketCollateralPool.sol", "file": "../MarketCollateralPool.sol", - "id": 1792, + "id": 1793, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 754, + "scope": 1863, + "sourceUnit": 755, "src": "634:37:7", "symbolAliases": [], "unitAlias": "" @@ -141,10 +141,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/factories/MarketCollateralPoolFactoryInterface.sol", "file": "./MarketCollateralPoolFactoryInterface.sol", - "id": 1793, + "id": 1794, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 1870, + "scope": 1863, + "sourceUnit": 1871, "src": "672:52:7", "symbolAliases": [], "unitAlias": "" @@ -152,10 +152,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistryInterface.sol", "file": "../MarketContractRegistryInterface.sol", - "id": 1794, + "id": 1795, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 1733, + "scope": 1863, + "sourceUnit": 1734, "src": "725:48:7", "symbolAliases": [], "unitAlias": "" @@ -163,10 +163,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", - "id": 1795, + "id": 1796, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 4628, + "scope": 1863, + "sourceUnit": 4629, "src": "774:63:7", "symbolAliases": [], "unitAlias": "" @@ -177,17 +177,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1796, + "id": 1797, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4627, + "referencedDeclaration": 4628, "src": "880:7:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$4627", + "typeIdentifier": "t_contract$_Ownable_$4628", "typeString": "contract Ownable" } }, - "id": 1797, + "id": 1798, "nodeType": "InheritanceSpecifier", "src": "880:7:7" }, @@ -195,44 +195,44 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1798, + "id": 1799, "name": "MarketCollateralPoolFactoryInterface", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1869, + "referencedDeclaration": 1870, "src": "889:36:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPoolFactoryInterface_$1869", + "typeIdentifier": "t_contract$_MarketCollateralPoolFactoryInterface_$1870", "typeString": "contract MarketCollateralPoolFactoryInterface" } }, - "id": 1799, + "id": 1800, "nodeType": "InheritanceSpecifier", "src": "889:36:7" } ], "contractDependencies": [ - 753, - 1869, - 4627 + 754, + 1870, + 4628 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1861, + "id": 1862, "linearizedBaseContracts": [ - 1861, - 1869, - 4627 + 1862, + 1870, + 4628 ], "name": "MarketCollateralPoolFactory", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1801, + "id": 1802, "name": "marketContractRegistry", "nodeType": "VariableDeclaration", - "scope": 1861, + "scope": 1862, "src": "933:37:7", "stateVariable": true, "storageLocation": "default", @@ -241,7 +241,7 @@ "typeString": "address" }, "typeName": { - "id": 1800, + "id": 1801, "name": "address", "nodeType": "ElementaryTypeName", "src": "933:7:7", @@ -255,25 +255,25 @@ }, { "body": { - "id": 1810, + "id": 1811, "nodeType": "Block", "src": "1183:58:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1808, + "id": 1809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1806, + "id": 1807, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1801, + "referencedDeclaration": 1802, "src": "1193:22:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -284,11 +284,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1807, + "id": 1808, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1803, + "referencedDeclaration": 1804, "src": "1218:15:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -301,14 +301,14 @@ "typeString": "address" } }, - "id": 1809, + "id": 1810, "nodeType": "ExpressionStatement", "src": "1193:40:7" } ] }, "documentation": "@dev deploys our factory and ties it the a supply registry address\n @param registryAddress - MarketContractRegistry address to whitelist contracts", - "id": 1811, + "id": 1812, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -316,15 +316,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1804, + "id": 1805, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1803, + "id": 1804, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 1811, + "scope": 1812, "src": "1151:23:7", "stateVariable": false, "storageLocation": "default", @@ -333,7 +333,7 @@ "typeString": "address" }, "typeName": { - "id": 1802, + "id": 1803, "name": "address", "nodeType": "ElementaryTypeName", "src": "1151:7:7", @@ -350,12 +350,12 @@ }, "payable": false, "returnParameters": { - "id": 1805, + "id": 1806, "nodeType": "ParameterList", "parameters": [], "src": "1183:0:7" }, - "scope": 1861, + "scope": 1862, "src": "1139:102:7", "stateMutability": "nonpayable", "superFunction": null, @@ -363,7 +363,7 @@ }, { "body": { - "id": 1839, + "id": 1840, "nodeType": "Block", "src": "1492:328:7", "statements": [ @@ -376,11 +376,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1821, + "id": 1822, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1813, + "referencedDeclaration": 1814, "src": "1587:21:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -400,11 +400,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1818, + "id": 1819, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1801, + "referencedDeclaration": 1802, "src": "1542:22:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -419,18 +419,18 @@ "typeString": "address" } ], - "id": 1817, + "id": 1818, "name": "MarketContractRegistryInterface", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1732, + "referencedDeclaration": 1733, "src": "1510:31:7", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1732_$", + "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1733_$", "typeString": "type(contract MarketContractRegistryInterface)" } }, - "id": 1819, + "id": 1820, "isConstant": false, "isLValue": false, "isPure": false, @@ -440,25 +440,25 @@ "nodeType": "FunctionCall", "src": "1510:55:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1732", + "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1733", "typeString": "contract MarketContractRegistryInterface" } }, - "id": 1820, + "id": 1821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isAddressWhiteListed", "nodeType": "MemberAccess", - "referencedDeclaration": 1731, + "referencedDeclaration": 1732, "src": "1510:76:7", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view external returns (bool)" } }, - "id": 1822, + "id": 1823, "isConstant": false, "isLValue": false, "isPure": false, @@ -480,21 +480,21 @@ "typeString": "bool" } ], - "id": 1816, + "id": 1817, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "1502:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1823, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -508,37 +508,37 @@ "typeString": "tuple()" } }, - "id": 1824, + "id": 1825, "nodeType": "ExpressionStatement", "src": "1502:108:7" }, { "assignments": [ - 1826 + 1827 ], "declarations": [ { "constant": false, - "id": 1826, + "id": 1827, "name": "marketCollateralPool", "nodeType": "VariableDeclaration", - "scope": 1840, + "scope": 1841, "src": "1620:41:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" }, "typeName": { "contractScope": null, - "id": 1825, + "id": 1826, "name": "MarketCollateralPool", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 753, + "referencedDeclaration": 754, "src": "1620:20:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } }, @@ -546,17 +546,17 @@ "visibility": "internal" } ], - "id": 1831, + "id": 1832, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1829, + "id": 1830, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1813, + "referencedDeclaration": 1814, "src": "1689:21:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -571,7 +571,7 @@ "typeString": "address" } ], - "id": 1828, + "id": 1829, "isConstant": false, "isLValue": false, "isPure": false, @@ -579,23 +579,23 @@ "nodeType": "NewExpression", "src": "1664:24:7", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MarketCollateralPool_$753_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MarketCollateralPool_$754_$", "typeString": "function (address) returns (contract MarketCollateralPool)" }, "typeName": { "contractScope": null, - "id": 1827, + "id": 1828, "name": "MarketCollateralPool", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 753, + "referencedDeclaration": 754, "src": "1668:20:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } } }, - "id": 1830, + "id": 1831, "isConstant": false, "isLValue": false, "isPure": false, @@ -605,7 +605,7 @@ "nodeType": "FunctionCall", "src": "1664:47:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } }, @@ -618,14 +618,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1836, + "id": 1837, "name": "marketCollateralPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1826, + "referencedDeclaration": 1827, "src": "1792:20:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } } @@ -633,7 +633,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } ], @@ -642,11 +642,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1833, + "id": 1834, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1813, + "referencedDeclaration": 1814, "src": "1736:21:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -661,18 +661,18 @@ "typeString": "address" } ], - "id": 1832, + "id": 1833, "name": "MarketContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1517, + "referencedDeclaration": 1518, "src": "1721:14:7", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContract_$1517_$", + "typeIdentifier": "t_type$_t_contract$_MarketContract_$1518_$", "typeString": "type(contract MarketContract)" } }, - "id": 1834, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": false, @@ -682,25 +682,25 @@ "nodeType": "FunctionCall", "src": "1721:37:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContract_$1517", + "typeIdentifier": "t_contract$_MarketContract_$1518", "typeString": "contract MarketContract" } }, - "id": 1835, + "id": 1836, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setCollateralPoolContractAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 1419, + "referencedDeclaration": 1420, "src": "1721:70:7", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 1837, + "id": 1838, "isConstant": false, "isLValue": false, "isPure": false, @@ -714,14 +714,14 @@ "typeString": "tuple()" } }, - "id": 1838, + "id": 1839, "nodeType": "ExpressionStatement", "src": "1721:92:7" } ] }, "documentation": "@dev creates the needed collateral pool and links it to our market contract.\n @param marketContractAddress address of the newly deployed market contract.", - "id": 1840, + "id": 1841, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -729,15 +729,15 @@ "name": "deployMarketCollateralPool", "nodeType": "FunctionDefinition", "parameters": { - "id": 1814, + "id": 1815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1813, + "id": 1814, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 1840, + "scope": 1841, "src": "1452:29:7", "stateVariable": false, "storageLocation": "default", @@ -746,7 +746,7 @@ "typeString": "address" }, "typeName": { - "id": 1812, + "id": 1813, "name": "address", "nodeType": "ElementaryTypeName", "src": "1452:7:7", @@ -763,20 +763,20 @@ }, "payable": false, "returnParameters": { - "id": 1815, + "id": 1816, "nodeType": "ParameterList", "parameters": [], "src": "1492:0:7" }, - "scope": 1861, + "scope": 1862, "src": "1416:404:7", "stateMutability": "nonpayable", - "superFunction": 1868, + "superFunction": 1869, "visibility": "external" }, { "body": { - "id": 1859, + "id": 1860, "nodeType": "Block", "src": "2040:105:7", "statements": [ @@ -790,18 +790,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1852, + "id": 1853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1848, + "id": 1849, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1842, + "referencedDeclaration": 1843, "src": "2058:15:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -816,7 +816,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1850, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": true, @@ -839,7 +839,7 @@ "typeString": "int_const 0" } ], - "id": 1849, + "id": 1850, "isConstant": false, "isLValue": false, "isPure": true, @@ -852,7 +852,7 @@ }, "typeName": "address" }, - "id": 1851, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": true, @@ -880,21 +880,21 @@ "typeString": "bool" } ], - "id": 1847, + "id": 1848, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2050:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1853, + "id": 1854, "isConstant": false, "isLValue": false, "isPure": false, @@ -908,25 +908,25 @@ "typeString": "tuple()" } }, - "id": 1854, + "id": 1855, "nodeType": "ExpressionStatement", "src": "2050:38:7" }, { "expression": { "argumentTypes": null, - "id": 1857, + "id": 1858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1855, + "id": 1856, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1801, + "referencedDeclaration": 1802, "src": "2098:22:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -937,11 +937,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1856, + "id": 1857, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1842, + "referencedDeclaration": 1843, "src": "2123:15:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -954,28 +954,28 @@ "typeString": "address" } }, - "id": 1858, + "id": 1859, "nodeType": "ExpressionStatement", "src": "2098:40:7" } ] }, "documentation": "@dev allows for the owner to set the desired registry for contract creation.\n @param registryAddress desired registry address.", - "id": 1860, + "id": 1861, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1845, + "id": 1846, "modifierName": { "argumentTypes": null, - "id": 1844, + "id": 1845, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "2030:9:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -989,15 +989,15 @@ "name": "setRegistryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 1843, + "id": 1844, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1842, + "id": 1843, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 1860, + "scope": 1861, "src": "1996:23:7", "stateVariable": false, "storageLocation": "default", @@ -1006,7 +1006,7 @@ "typeString": "address" }, "typeName": { - "id": 1841, + "id": 1842, "name": "address", "nodeType": "ElementaryTypeName", "src": "1996:7:7", @@ -1023,19 +1023,19 @@ }, "payable": false, "returnParameters": { - "id": 1846, + "id": 1847, "nodeType": "ParameterList", "parameters": [], "src": "2040:0:7" }, - "scope": 1861, + "scope": 1862, "src": "1968:177:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1862, + "scope": 1863, "src": "840:1307:7" } ], @@ -1045,14 +1045,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/factories/MarketCollateralPoolFactory.sol", "exportedSymbols": { "MarketCollateralPoolFactory": [ - 1861 + 1862 ] }, - "id": 1862, + "id": 1863, "nodeType": "SourceUnit", "nodes": [ { - "id": 1791, + "id": 1792, "literals": [ "solidity", "^", @@ -1065,10 +1065,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketCollateralPool.sol", "file": "../MarketCollateralPool.sol", - "id": 1792, + "id": 1793, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 754, + "scope": 1863, + "sourceUnit": 755, "src": "634:37:7", "symbolAliases": [], "unitAlias": "" @@ -1076,10 +1076,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/factories/MarketCollateralPoolFactoryInterface.sol", "file": "./MarketCollateralPoolFactoryInterface.sol", - "id": 1793, + "id": 1794, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 1870, + "scope": 1863, + "sourceUnit": 1871, "src": "672:52:7", "symbolAliases": [], "unitAlias": "" @@ -1087,10 +1087,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistryInterface.sol", "file": "../MarketContractRegistryInterface.sol", - "id": 1794, + "id": 1795, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 1733, + "scope": 1863, + "sourceUnit": 1734, "src": "725:48:7", "symbolAliases": [], "unitAlias": "" @@ -1098,10 +1098,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", - "id": 1795, + "id": 1796, "nodeType": "ImportDirective", - "scope": 1862, - "sourceUnit": 4628, + "scope": 1863, + "sourceUnit": 4629, "src": "774:63:7", "symbolAliases": [], "unitAlias": "" @@ -1112,17 +1112,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1796, + "id": 1797, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4627, + "referencedDeclaration": 4628, "src": "880:7:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$4627", + "typeIdentifier": "t_contract$_Ownable_$4628", "typeString": "contract Ownable" } }, - "id": 1797, + "id": 1798, "nodeType": "InheritanceSpecifier", "src": "880:7:7" }, @@ -1130,44 +1130,44 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1798, + "id": 1799, "name": "MarketCollateralPoolFactoryInterface", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1869, + "referencedDeclaration": 1870, "src": "889:36:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPoolFactoryInterface_$1869", + "typeIdentifier": "t_contract$_MarketCollateralPoolFactoryInterface_$1870", "typeString": "contract MarketCollateralPoolFactoryInterface" } }, - "id": 1799, + "id": 1800, "nodeType": "InheritanceSpecifier", "src": "889:36:7" } ], "contractDependencies": [ - 753, - 1869, - 4627 + 754, + 1870, + 4628 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1861, + "id": 1862, "linearizedBaseContracts": [ - 1861, - 1869, - 4627 + 1862, + 1870, + 4628 ], "name": "MarketCollateralPoolFactory", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1801, + "id": 1802, "name": "marketContractRegistry", "nodeType": "VariableDeclaration", - "scope": 1861, + "scope": 1862, "src": "933:37:7", "stateVariable": true, "storageLocation": "default", @@ -1176,7 +1176,7 @@ "typeString": "address" }, "typeName": { - "id": 1800, + "id": 1801, "name": "address", "nodeType": "ElementaryTypeName", "src": "933:7:7", @@ -1190,25 +1190,25 @@ }, { "body": { - "id": 1810, + "id": 1811, "nodeType": "Block", "src": "1183:58:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1808, + "id": 1809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1806, + "id": 1807, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1801, + "referencedDeclaration": 1802, "src": "1193:22:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1219,11 +1219,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1807, + "id": 1808, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1803, + "referencedDeclaration": 1804, "src": "1218:15:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1236,14 +1236,14 @@ "typeString": "address" } }, - "id": 1809, + "id": 1810, "nodeType": "ExpressionStatement", "src": "1193:40:7" } ] }, "documentation": "@dev deploys our factory and ties it the a supply registry address\n @param registryAddress - MarketContractRegistry address to whitelist contracts", - "id": 1811, + "id": 1812, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -1251,15 +1251,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1804, + "id": 1805, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1803, + "id": 1804, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 1811, + "scope": 1812, "src": "1151:23:7", "stateVariable": false, "storageLocation": "default", @@ -1268,7 +1268,7 @@ "typeString": "address" }, "typeName": { - "id": 1802, + "id": 1803, "name": "address", "nodeType": "ElementaryTypeName", "src": "1151:7:7", @@ -1285,12 +1285,12 @@ }, "payable": false, "returnParameters": { - "id": 1805, + "id": 1806, "nodeType": "ParameterList", "parameters": [], "src": "1183:0:7" }, - "scope": 1861, + "scope": 1862, "src": "1139:102:7", "stateMutability": "nonpayable", "superFunction": null, @@ -1298,7 +1298,7 @@ }, { "body": { - "id": 1839, + "id": 1840, "nodeType": "Block", "src": "1492:328:7", "statements": [ @@ -1311,11 +1311,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1821, + "id": 1822, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1813, + "referencedDeclaration": 1814, "src": "1587:21:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1335,11 +1335,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1818, + "id": 1819, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1801, + "referencedDeclaration": 1802, "src": "1542:22:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1354,18 +1354,18 @@ "typeString": "address" } ], - "id": 1817, + "id": 1818, "name": "MarketContractRegistryInterface", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1732, + "referencedDeclaration": 1733, "src": "1510:31:7", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1732_$", + "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1733_$", "typeString": "type(contract MarketContractRegistryInterface)" } }, - "id": 1819, + "id": 1820, "isConstant": false, "isLValue": false, "isPure": false, @@ -1375,25 +1375,25 @@ "nodeType": "FunctionCall", "src": "1510:55:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1732", + "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1733", "typeString": "contract MarketContractRegistryInterface" } }, - "id": 1820, + "id": 1821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isAddressWhiteListed", "nodeType": "MemberAccess", - "referencedDeclaration": 1731, + "referencedDeclaration": 1732, "src": "1510:76:7", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view external returns (bool)" } }, - "id": 1822, + "id": 1823, "isConstant": false, "isLValue": false, "isPure": false, @@ -1415,21 +1415,21 @@ "typeString": "bool" } ], - "id": 1816, + "id": 1817, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "1502:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1823, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -1443,37 +1443,37 @@ "typeString": "tuple()" } }, - "id": 1824, + "id": 1825, "nodeType": "ExpressionStatement", "src": "1502:108:7" }, { "assignments": [ - 1826 + 1827 ], "declarations": [ { "constant": false, - "id": 1826, + "id": 1827, "name": "marketCollateralPool", "nodeType": "VariableDeclaration", - "scope": 1840, + "scope": 1841, "src": "1620:41:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" }, "typeName": { "contractScope": null, - "id": 1825, + "id": 1826, "name": "MarketCollateralPool", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 753, + "referencedDeclaration": 754, "src": "1620:20:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } }, @@ -1481,17 +1481,17 @@ "visibility": "internal" } ], - "id": 1831, + "id": 1832, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1829, + "id": 1830, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1813, + "referencedDeclaration": 1814, "src": "1689:21:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1506,7 +1506,7 @@ "typeString": "address" } ], - "id": 1828, + "id": 1829, "isConstant": false, "isLValue": false, "isPure": false, @@ -1514,23 +1514,23 @@ "nodeType": "NewExpression", "src": "1664:24:7", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MarketCollateralPool_$753_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MarketCollateralPool_$754_$", "typeString": "function (address) returns (contract MarketCollateralPool)" }, "typeName": { "contractScope": null, - "id": 1827, + "id": 1828, "name": "MarketCollateralPool", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 753, + "referencedDeclaration": 754, "src": "1668:20:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } } }, - "id": 1830, + "id": 1831, "isConstant": false, "isLValue": false, "isPure": false, @@ -1540,7 +1540,7 @@ "nodeType": "FunctionCall", "src": "1664:47:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } }, @@ -1553,14 +1553,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1836, + "id": 1837, "name": "marketCollateralPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1826, + "referencedDeclaration": 1827, "src": "1792:20:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } } @@ -1568,7 +1568,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketCollateralPool_$753", + "typeIdentifier": "t_contract$_MarketCollateralPool_$754", "typeString": "contract MarketCollateralPool" } ], @@ -1577,11 +1577,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1833, + "id": 1834, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1813, + "referencedDeclaration": 1814, "src": "1736:21:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1596,18 +1596,18 @@ "typeString": "address" } ], - "id": 1832, + "id": 1833, "name": "MarketContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1517, + "referencedDeclaration": 1518, "src": "1721:14:7", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContract_$1517_$", + "typeIdentifier": "t_type$_t_contract$_MarketContract_$1518_$", "typeString": "type(contract MarketContract)" } }, - "id": 1834, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": false, @@ -1617,25 +1617,25 @@ "nodeType": "FunctionCall", "src": "1721:37:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContract_$1517", + "typeIdentifier": "t_contract$_MarketContract_$1518", "typeString": "contract MarketContract" } }, - "id": 1835, + "id": 1836, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setCollateralPoolContractAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 1419, + "referencedDeclaration": 1420, "src": "1721:70:7", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 1837, + "id": 1838, "isConstant": false, "isLValue": false, "isPure": false, @@ -1649,14 +1649,14 @@ "typeString": "tuple()" } }, - "id": 1838, + "id": 1839, "nodeType": "ExpressionStatement", "src": "1721:92:7" } ] }, "documentation": "@dev creates the needed collateral pool and links it to our market contract.\n @param marketContractAddress address of the newly deployed market contract.", - "id": 1840, + "id": 1841, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1664,15 +1664,15 @@ "name": "deployMarketCollateralPool", "nodeType": "FunctionDefinition", "parameters": { - "id": 1814, + "id": 1815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1813, + "id": 1814, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 1840, + "scope": 1841, "src": "1452:29:7", "stateVariable": false, "storageLocation": "default", @@ -1681,7 +1681,7 @@ "typeString": "address" }, "typeName": { - "id": 1812, + "id": 1813, "name": "address", "nodeType": "ElementaryTypeName", "src": "1452:7:7", @@ -1698,20 +1698,20 @@ }, "payable": false, "returnParameters": { - "id": 1815, + "id": 1816, "nodeType": "ParameterList", "parameters": [], "src": "1492:0:7" }, - "scope": 1861, + "scope": 1862, "src": "1416:404:7", "stateMutability": "nonpayable", - "superFunction": 1868, + "superFunction": 1869, "visibility": "external" }, { "body": { - "id": 1859, + "id": 1860, "nodeType": "Block", "src": "2040:105:7", "statements": [ @@ -1725,18 +1725,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1852, + "id": 1853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1848, + "id": 1849, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1842, + "referencedDeclaration": 1843, "src": "2058:15:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1751,7 +1751,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1850, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": true, @@ -1774,7 +1774,7 @@ "typeString": "int_const 0" } ], - "id": 1849, + "id": 1850, "isConstant": false, "isLValue": false, "isPure": true, @@ -1787,7 +1787,7 @@ }, "typeName": "address" }, - "id": 1851, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": true, @@ -1815,21 +1815,21 @@ "typeString": "bool" } ], - "id": 1847, + "id": 1848, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2050:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1853, + "id": 1854, "isConstant": false, "isLValue": false, "isPure": false, @@ -1843,25 +1843,25 @@ "typeString": "tuple()" } }, - "id": 1854, + "id": 1855, "nodeType": "ExpressionStatement", "src": "2050:38:7" }, { "expression": { "argumentTypes": null, - "id": 1857, + "id": 1858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1855, + "id": 1856, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1801, + "referencedDeclaration": 1802, "src": "2098:22:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1872,11 +1872,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1856, + "id": 1857, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1842, + "referencedDeclaration": 1843, "src": "2123:15:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1889,28 +1889,28 @@ "typeString": "address" } }, - "id": 1858, + "id": 1859, "nodeType": "ExpressionStatement", "src": "2098:40:7" } ] }, "documentation": "@dev allows for the owner to set the desired registry for contract creation.\n @param registryAddress desired registry address.", - "id": 1860, + "id": 1861, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1845, + "id": 1846, "modifierName": { "argumentTypes": null, - "id": 1844, + "id": 1845, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "2030:9:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1924,15 +1924,15 @@ "name": "setRegistryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 1843, + "id": 1844, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1842, + "id": 1843, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 1860, + "scope": 1861, "src": "1996:23:7", "stateVariable": false, "storageLocation": "default", @@ -1941,7 +1941,7 @@ "typeString": "address" }, "typeName": { - "id": 1841, + "id": 1842, "name": "address", "nodeType": "ElementaryTypeName", "src": "1996:7:7", @@ -1958,19 +1958,19 @@ }, "payable": false, "returnParameters": { - "id": 1846, + "id": 1847, "nodeType": "ParameterList", "parameters": [], "src": "2040:0:7" }, - "scope": 1861, + "scope": 1862, "src": "1968:177:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1862, + "scope": 1863, "src": "840:1307:7" } ], @@ -1984,12 +1984,12 @@ "4": { "events": {}, "links": { - "MathLib": "0x254962dd15db2c9b57e612f1aaefb2ae5e33f107" + "MathLib": "0x584d7639dc6cb3a9ada67e8d7c7bbb8efa87909a" }, - "address": "0x2b451dc7695d7c0800e14fdc3192e0ee7d2a7327", - "transactionHash": "0x708a1c89111188dc87a47e90a8a470d630b9cd0d7cdfa469d9b4260fa7142204" + "address": "0x32ad08600d50d5b8e3c27bb83adbfcd7005e0dde", + "transactionHash": "0x4aae110928ba0df273638dd7901fbeb03d87fd74a8c38db802b4f95dc0877914" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.239Z" + "updatedAt": "2018-10-05T14:03:26.620Z" } \ No newline at end of file diff --git a/build/contracts/MarketContractFactoryOraclize.json b/build/contracts/MarketContractFactoryOraclize.json index b21a30e..774e9bb 100644 --- a/build/contracts/MarketContractFactoryOraclize.json +++ b/build/contracts/MarketContractFactoryOraclize.json @@ -169,8 +169,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516060806160d5833981018060405281019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050615f798061015c6000396000f3006080604052600436106200008a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680629d553c146200008f578063798ddbc814620000e95780638da5cb5b1462000143578063ab7b4993146200019d578063ceaaa91514620001e3578063f2fde38b146200023d578063fdea945f1462000283575b600080fd5b3480156200009c57600080fd5b50620000a76200031b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620000f657600080fd5b506200010162000341565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200015057600080fd5b506200015b62000367565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620001aa57600080fd5b50620001e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200038c565b005b348015620001f057600080fd5b50620001fb62000469565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200024a57600080fd5b5062000281600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200048f565b005b3480156200029057600080fd5b5062000319600480360381019080803590602001908201803590602001919091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908060a001909192919290803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050620005e6565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620003e857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200042557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620004eb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200052857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000888833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b8b8b8b62000641620008dc565b80806020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001876005602002808284378201915050806020018060200184810384528f8f82818152602001925080828437820191505084810383528888828181526020019250808284378201915050848103825286868281815260200192508082843782019150509e505050505050505050505050505050604051809103906000f0801580156200079d573d6000803e3d6000fd5b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639244f496826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200085e57600080fd5b505af115801562000873573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f38ee3ff13b5d3453452a79e0799d83b2c8207bf126b2798fa512343680f643ee60405160405180910390a3505050505050505050565b60405161566080620008ee83390190560060806040526000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200566038038062005660833981018060405281019080805182019291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919091908260a0018051820192919060200180518201929190505050878787878787336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384281dcc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200027557600080fd5b505af11580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b81019080805190602001909291905050501515620002be57600080fd5b806000600581101515620002ce57fe5b6020020151600781905550806001600581101515620002e957fe5b60200201516006819055506007546006541115156200030757600080fd5b8060026005811015156200031757fe5b60200201516008819055508060036005811015156200033257fe5b60200201516009819055508060046005811015156200034d57fe5b6020020151600a8190555042600a541115156200036957600080fd5b856004908051906020019062000381929190620015b9565b5082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200046b60017f01000000000000000000000000000000000000000000000000000000000000000260107f01000000000000000000000000000000000000000000000000000000000000000217620004db640100000000026401000000009004565b816014908051906020019062000483929190620015b9565b5080601590805190602001906200049c929190620015b9565b50624f1a0042600a540311151515620004b457600080fd5b620004cd62000893640100000000026401000000009004565b505050505050505062001668565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806200055e575060006200055c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000581576200057f600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200060857600080fd5b505af11580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620007a157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200072357600080fd5b505af115801562000738573d6000803e3d6000fd5b505050506040513d60208110156200074f57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663688dcfd7826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050600060405180830381600087803b1580156200087757600080fd5b505af11580156200088c573d6000803e3d6000fd5b5050505050565b6000620009f3600a5460148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009365780601f106200090a5761010080835404028352916020019162000936565b820191906000526020600020905b8154815290600101906020018083116200091857829003601f168201915b505050505060158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009d55780601f10620009a957610100808354040283529160200191620009d5565b820191906000526020600020905b815481529060010190602001808311620009b757829003601f168201915b5050505050620249f062000a71640100000000026401000000009004565b9050600060010281600019161415151562000a0d57600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813b9050919050565b600062000a6a6200103e640100000000026401000000009004565b9050919050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148062000af75750600062000af5601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000b1a5762000b18600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000ba157600080fd5b505af115801562000bb6573d6000803e3d6000fd5b505050506040513d602081101562000bcd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d3a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000cbc57600080fd5b505af115801562000cd1573d6000803e3d6000fd5b505050506040513d602081101562000ce857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101562000ded57808201518184015260208101905062000dd0565b50505050905090810190601f16801562000e1b5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801562000e3c57600080fd5b505af115801562000e51573d6000803e3d6000fd5b505050506040513d602081101562000e6857600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f82888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000f3b57808201518184015260208101905062000f1e565b50505050905090810190601f16801562000f695780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000fa457808201518184015260208101905062000f87565b50505050905090810190601f16801562000fd25780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801562000ff557600080fd5b505af11580156200100a573d6000803e3d6000fd5b50505050506040513d60208110156200102257600080fd5b8101908080519060200190929190505050915050949350505050565b6000806200106f731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed62000a44640100000000026401000000009004565b11156200112457731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200111a6040805190810160405280600b81526020017f6574685f6d61696e6e65740000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200115473c03a2615d5efaf5f49f60b7bb6583eaec212fdf162000a44640100000000026401000000009004565b1115620012095773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011ff6040805190810160405280600c81526020017f6574685f726f707374656e3300000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200123973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e62000a44640100000000026401000000009004565b1115620012ee5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620012e46040805190810160405280600981526020017f6574685f6b6f76616e00000000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200131e73146500cfd35b22e4a392fe0adc06de1a1368ed4862000a44640100000000026401000000009004565b1115620013d35773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620013c96040805190810160405280600b81526020017f6574685f72696e6b6562790000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b600062001403736f485c8bf6fc43ea212e93bbf8ce046c7f1cb47562000a44640100000000026401000000009004565b11156200146957736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b6000620014997320e12a1f859b3feae5fb2a0a32c18f5a65555bbf62000a44640100000000026401000000009004565b1115620014ff577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b60006200152f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa62000a44640100000000026401000000009004565b111562001595577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b600090505b90565b8060139080519060200190620015b5929190620015b9565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620015fc57805160ff19168380011785556200162d565b828001600101855582156200162d579182015b828111156200162c5782518255916020019190600101906200160f565b5b5090506200163c919062001640565b5090565b6200166591905b808211156200166157600081600090555060010162001647565b5090565b90565b613fe880620016786000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a72305820a52ccf48e4f2c6de7aa2cc11611e9627242651c5eabcc2d8d6ba2fde0bc057ba0029a165627a7a72305820eabcc9e89451c85cb9df7433d8a3be693b4d974b6ae4e490d81c15b8f17fefd70029", - "deployedBytecode": "0x6080604052600436106200008a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680629d553c146200008f578063798ddbc814620000e95780638da5cb5b1462000143578063ab7b4993146200019d578063ceaaa91514620001e3578063f2fde38b146200023d578063fdea945f1462000283575b600080fd5b3480156200009c57600080fd5b50620000a76200031b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620000f657600080fd5b506200010162000341565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200015057600080fd5b506200015b62000367565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620001aa57600080fd5b50620001e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200038c565b005b348015620001f057600080fd5b50620001fb62000469565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200024a57600080fd5b5062000281600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200048f565b005b3480156200029057600080fd5b5062000319600480360381019080803590602001908201803590602001919091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908060a001909192919290803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050620005e6565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620003e857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200042557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620004eb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200052857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000888833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b8b8b8b62000641620008dc565b80806020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001876005602002808284378201915050806020018060200184810384528f8f82818152602001925080828437820191505084810383528888828181526020019250808284378201915050848103825286868281815260200192508082843782019150509e505050505050505050505050505050604051809103906000f0801580156200079d573d6000803e3d6000fd5b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639244f496826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200085e57600080fd5b505af115801562000873573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f38ee3ff13b5d3453452a79e0799d83b2c8207bf126b2798fa512343680f643ee60405160405180910390a3505050505050505050565b60405161566080620008ee83390190560060806040526000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200566038038062005660833981018060405281019080805182019291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919091908260a0018051820192919060200180518201929190505050878787878787336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384281dcc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200027557600080fd5b505af11580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b81019080805190602001909291905050501515620002be57600080fd5b806000600581101515620002ce57fe5b6020020151600781905550806001600581101515620002e957fe5b60200201516006819055506007546006541115156200030757600080fd5b8060026005811015156200031757fe5b60200201516008819055508060036005811015156200033257fe5b60200201516009819055508060046005811015156200034d57fe5b6020020151600a8190555042600a541115156200036957600080fd5b856004908051906020019062000381929190620015b9565b5082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200046b60017f01000000000000000000000000000000000000000000000000000000000000000260107f01000000000000000000000000000000000000000000000000000000000000000217620004db640100000000026401000000009004565b816014908051906020019062000483929190620015b9565b5080601590805190602001906200049c929190620015b9565b50624f1a0042600a540311151515620004b457600080fd5b620004cd62000893640100000000026401000000009004565b505050505050505062001668565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806200055e575060006200055c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000581576200057f600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200060857600080fd5b505af11580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620007a157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200072357600080fd5b505af115801562000738573d6000803e3d6000fd5b505050506040513d60208110156200074f57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663688dcfd7826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050600060405180830381600087803b1580156200087757600080fd5b505af11580156200088c573d6000803e3d6000fd5b5050505050565b6000620009f3600a5460148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009365780601f106200090a5761010080835404028352916020019162000936565b820191906000526020600020905b8154815290600101906020018083116200091857829003601f168201915b505050505060158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009d55780601f10620009a957610100808354040283529160200191620009d5565b820191906000526020600020905b815481529060010190602001808311620009b757829003601f168201915b5050505050620249f062000a71640100000000026401000000009004565b9050600060010281600019161415151562000a0d57600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813b9050919050565b600062000a6a6200103e640100000000026401000000009004565b9050919050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148062000af75750600062000af5601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000b1a5762000b18600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000ba157600080fd5b505af115801562000bb6573d6000803e3d6000fd5b505050506040513d602081101562000bcd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d3a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000cbc57600080fd5b505af115801562000cd1573d6000803e3d6000fd5b505050506040513d602081101562000ce857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101562000ded57808201518184015260208101905062000dd0565b50505050905090810190601f16801562000e1b5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801562000e3c57600080fd5b505af115801562000e51573d6000803e3d6000fd5b505050506040513d602081101562000e6857600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f82888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000f3b57808201518184015260208101905062000f1e565b50505050905090810190601f16801562000f695780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000fa457808201518184015260208101905062000f87565b50505050905090810190601f16801562000fd25780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801562000ff557600080fd5b505af11580156200100a573d6000803e3d6000fd5b50505050506040513d60208110156200102257600080fd5b8101908080519060200190929190505050915050949350505050565b6000806200106f731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed62000a44640100000000026401000000009004565b11156200112457731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200111a6040805190810160405280600b81526020017f6574685f6d61696e6e65740000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200115473c03a2615d5efaf5f49f60b7bb6583eaec212fdf162000a44640100000000026401000000009004565b1115620012095773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011ff6040805190810160405280600c81526020017f6574685f726f707374656e3300000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200123973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e62000a44640100000000026401000000009004565b1115620012ee5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620012e46040805190810160405280600981526020017f6574685f6b6f76616e00000000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200131e73146500cfd35b22e4a392fe0adc06de1a1368ed4862000a44640100000000026401000000009004565b1115620013d35773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620013c96040805190810160405280600b81526020017f6574685f72696e6b6562790000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b600062001403736f485c8bf6fc43ea212e93bbf8ce046c7f1cb47562000a44640100000000026401000000009004565b11156200146957736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b6000620014997320e12a1f859b3feae5fb2a0a32c18f5a65555bbf62000a44640100000000026401000000009004565b1115620014ff577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b60006200152f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa62000a44640100000000026401000000009004565b111562001595577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b600090505b90565b8060139080519060200190620015b5929190620015b9565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620015fc57805160ff19168380011785556200162d565b828001600101855582156200162d579182015b828111156200162c5782518255916020019190600101906200160f565b5b5090506200163c919062001640565b5090565b6200166591905b808211156200166157600081600090555060010162001647565b5090565b90565b613fe880620016786000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a72305820a52ccf48e4f2c6de7aa2cc11611e9627242651c5eabcc2d8d6ba2fde0bc057ba0029a165627a7a72305820eabcc9e89451c85cb9df7433d8a3be693b4d974b6ae4e490d81c15b8f17fefd70029", + "bytecode": "0x608060405234801561001057600080fd5b506040516060806160d5833981018060405281019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050615f798061015c6000396000f3006080604052600436106200008a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680629d553c146200008f578063798ddbc814620000e95780638da5cb5b1462000143578063ab7b4993146200019d578063ceaaa91514620001e3578063f2fde38b146200023d578063fdea945f1462000283575b600080fd5b3480156200009c57600080fd5b50620000a76200031b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620000f657600080fd5b506200010162000341565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200015057600080fd5b506200015b62000367565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620001aa57600080fd5b50620001e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200038c565b005b348015620001f057600080fd5b50620001fb62000469565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200024a57600080fd5b5062000281600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200048f565b005b3480156200029057600080fd5b5062000319600480360381019080803590602001908201803590602001919091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908060a001909192919290803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050620005e6565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620003e857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200042557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620004eb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200052857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000888833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b8b8b8b62000641620008dc565b80806020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001876005602002808284378201915050806020018060200184810384528f8f82818152602001925080828437820191505084810383528888828181526020019250808284378201915050848103825286868281815260200192508082843782019150509e505050505050505050505050505050604051809103906000f0801580156200079d573d6000803e3d6000fd5b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639244f496826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200085e57600080fd5b505af115801562000873573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f38ee3ff13b5d3453452a79e0799d83b2c8207bf126b2798fa512343680f643ee60405160405180910390a3505050505050505050565b60405161566080620008ee83390190560060806040526000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200566038038062005660833981018060405281019080805182019291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919091908260a0018051820192919060200180518201929190505050878787878787336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384281dcc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200027557600080fd5b505af11580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b81019080805190602001909291905050501515620002be57600080fd5b806000600581101515620002ce57fe5b6020020151600781905550806001600581101515620002e957fe5b60200201516006819055506007546006541115156200030757600080fd5b8060026005811015156200031757fe5b60200201516008819055508060036005811015156200033257fe5b60200201516009819055508060046005811015156200034d57fe5b6020020151600a8190555042600a541115156200036957600080fd5b856004908051906020019062000381929190620015b9565b5082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200046b60017f01000000000000000000000000000000000000000000000000000000000000000260107f01000000000000000000000000000000000000000000000000000000000000000217620004db640100000000026401000000009004565b816014908051906020019062000483929190620015b9565b5080601590805190602001906200049c929190620015b9565b50624f1a0042600a540311151515620004b457600080fd5b620004cd62000893640100000000026401000000009004565b505050505050505062001668565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806200055e575060006200055c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000581576200057f600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200060857600080fd5b505af11580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620007a157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200072357600080fd5b505af115801562000738573d6000803e3d6000fd5b505050506040513d60208110156200074f57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663688dcfd7826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050600060405180830381600087803b1580156200087757600080fd5b505af11580156200088c573d6000803e3d6000fd5b5050505050565b6000620009f3600a5460148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009365780601f106200090a5761010080835404028352916020019162000936565b820191906000526020600020905b8154815290600101906020018083116200091857829003601f168201915b505050505060158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009d55780601f10620009a957610100808354040283529160200191620009d5565b820191906000526020600020905b815481529060010190602001808311620009b757829003601f168201915b5050505050620249f062000a71640100000000026401000000009004565b9050600060010281600019161415151562000a0d57600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813b9050919050565b600062000a6a6200103e640100000000026401000000009004565b9050919050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148062000af75750600062000af5601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000b1a5762000b18600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000ba157600080fd5b505af115801562000bb6573d6000803e3d6000fd5b505050506040513d602081101562000bcd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d3a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000cbc57600080fd5b505af115801562000cd1573d6000803e3d6000fd5b505050506040513d602081101562000ce857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101562000ded57808201518184015260208101905062000dd0565b50505050905090810190601f16801562000e1b5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801562000e3c57600080fd5b505af115801562000e51573d6000803e3d6000fd5b505050506040513d602081101562000e6857600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f82888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000f3b57808201518184015260208101905062000f1e565b50505050905090810190601f16801562000f695780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000fa457808201518184015260208101905062000f87565b50505050905090810190601f16801562000fd25780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801562000ff557600080fd5b505af11580156200100a573d6000803e3d6000fd5b50505050506040513d60208110156200102257600080fd5b8101908080519060200190929190505050915050949350505050565b6000806200106f731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed62000a44640100000000026401000000009004565b11156200112457731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200111a6040805190810160405280600b81526020017f6574685f6d61696e6e65740000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200115473c03a2615d5efaf5f49f60b7bb6583eaec212fdf162000a44640100000000026401000000009004565b1115620012095773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011ff6040805190810160405280600c81526020017f6574685f726f707374656e3300000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200123973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e62000a44640100000000026401000000009004565b1115620012ee5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620012e46040805190810160405280600981526020017f6574685f6b6f76616e00000000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200131e73146500cfd35b22e4a392fe0adc06de1a1368ed4862000a44640100000000026401000000009004565b1115620013d35773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620013c96040805190810160405280600b81526020017f6574685f72696e6b6562790000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b600062001403736f485c8bf6fc43ea212e93bbf8ce046c7f1cb47562000a44640100000000026401000000009004565b11156200146957736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b6000620014997320e12a1f859b3feae5fb2a0a32c18f5a65555bbf62000a44640100000000026401000000009004565b1115620014ff577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b60006200152f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa62000a44640100000000026401000000009004565b111562001595577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b600090505b90565b8060139080519060200190620015b5929190620015b9565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620015fc57805160ff19168380011785556200162d565b828001600101855582156200162d579182015b828111156200162c5782518255916020019190600101906200160f565b5b5090506200163c919062001640565b5090565b6200166591905b808211156200166157600081600090555060010162001647565b5090565b90565b613fe880620016786000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a723058202e1b0d544d6f26cab5c2c3d7c2434937ee68fcc2580418f20a2edf6a5f044a7e0029a165627a7a7230582078b6e13ec47a23415601b04536ddc308c9519116406209b970b8ec2b0b64802d0029", + "deployedBytecode": "0x6080604052600436106200008a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680629d553c146200008f578063798ddbc814620000e95780638da5cb5b1462000143578063ab7b4993146200019d578063ceaaa91514620001e3578063f2fde38b146200023d578063fdea945f1462000283575b600080fd5b3480156200009c57600080fd5b50620000a76200031b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620000f657600080fd5b506200010162000341565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200015057600080fd5b506200015b62000367565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015620001aa57600080fd5b50620001e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200038c565b005b348015620001f057600080fd5b50620001fb62000469565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156200024a57600080fd5b5062000281600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200048f565b005b3480156200029057600080fd5b5062000319600480360381019080803590602001908201803590602001919091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908060a001909192919290803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050620005e6565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620003e857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200042557600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620004eb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200052857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000888833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b8b8b8b62000641620008dc565b80806020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001876005602002808284378201915050806020018060200184810384528f8f82818152602001925080828437820191505084810383528888828181526020019250808284378201915050848103825286868281815260200192508082843782019150509e505050505050505050505050505050604051809103906000f0801580156200079d573d6000803e3d6000fd5b509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639244f496826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200085e57600080fd5b505af115801562000873573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f38ee3ff13b5d3453452a79e0799d83b2c8207bf126b2798fa512343680f643ee60405160405180910390a3505050505050505050565b60405161566080620008ee83390190560060806040526000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200566038038062005660833981018060405281019080805182019291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919091908260a0018051820192919060200180518201929190505050878787878787336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384281dcc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200027557600080fd5b505af11580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b81019080805190602001909291905050501515620002be57600080fd5b806000600581101515620002ce57fe5b6020020151600781905550806001600581101515620002e957fe5b60200201516006819055506007546006541115156200030757600080fd5b8060026005811015156200031757fe5b60200201516008819055508060036005811015156200033257fe5b60200201516009819055508060046005811015156200034d57fe5b6020020151600a8190555042600a541115156200036957600080fd5b856004908051906020019062000381929190620015b9565b5082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200046b60017f01000000000000000000000000000000000000000000000000000000000000000260107f01000000000000000000000000000000000000000000000000000000000000000217620004db640100000000026401000000009004565b816014908051906020019062000483929190620015b9565b5080601590805190602001906200049c929190620015b9565b50624f1a0042600a540311151515620004b457600080fd5b620004cd62000893640100000000026401000000009004565b505050505050505062001668565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806200055e575060006200055c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000581576200057f600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200060857600080fd5b505af11580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620007a157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200072357600080fd5b505af115801562000738573d6000803e3d6000fd5b505050506040513d60208110156200074f57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663688dcfd7826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050600060405180830381600087803b1580156200087757600080fd5b505af11580156200088c573d6000803e3d6000fd5b5050505050565b6000620009f3600a5460148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009365780601f106200090a5761010080835404028352916020019162000936565b820191906000526020600020905b8154815290600101906020018083116200091857829003601f168201915b505050505060158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009d55780601f10620009a957610100808354040283529160200191620009d5565b820191906000526020600020905b815481529060010190602001808311620009b757829003601f168201915b5050505050620249f062000a71640100000000026401000000009004565b9050600060010281600019161415151562000a0d57600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813b9050919050565b600062000a6a6200103e640100000000026401000000009004565b9050919050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148062000af75750600062000af5601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000b1a5762000b18600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000ba157600080fd5b505af115801562000bb6573d6000803e3d6000fd5b505050506040513d602081101562000bcd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d3a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000cbc57600080fd5b505af115801562000cd1573d6000803e3d6000fd5b505050506040513d602081101562000ce857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101562000ded57808201518184015260208101905062000dd0565b50505050905090810190601f16801562000e1b5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801562000e3c57600080fd5b505af115801562000e51573d6000803e3d6000fd5b505050506040513d602081101562000e6857600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f82888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000f3b57808201518184015260208101905062000f1e565b50505050905090810190601f16801562000f695780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000fa457808201518184015260208101905062000f87565b50505050905090810190601f16801562000fd25780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801562000ff557600080fd5b505af11580156200100a573d6000803e3d6000fd5b50505050506040513d60208110156200102257600080fd5b8101908080519060200190929190505050915050949350505050565b6000806200106f731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed62000a44640100000000026401000000009004565b11156200112457731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200111a6040805190810160405280600b81526020017f6574685f6d61696e6e65740000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200115473c03a2615d5efaf5f49f60b7bb6583eaec212fdf162000a44640100000000026401000000009004565b1115620012095773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011ff6040805190810160405280600c81526020017f6574685f726f707374656e3300000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200123973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e62000a44640100000000026401000000009004565b1115620012ee5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620012e46040805190810160405280600981526020017f6574685f6b6f76616e00000000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200131e73146500cfd35b22e4a392fe0adc06de1a1368ed4862000a44640100000000026401000000009004565b1115620013d35773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620013c96040805190810160405280600b81526020017f6574685f72696e6b6562790000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b600062001403736f485c8bf6fc43ea212e93bbf8ce046c7f1cb47562000a44640100000000026401000000009004565b11156200146957736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b6000620014997320e12a1f859b3feae5fb2a0a32c18f5a65555bbf62000a44640100000000026401000000009004565b1115620014ff577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b60006200152f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa62000a44640100000000026401000000009004565b111562001595577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b600090505b90565b8060139080519060200190620015b5929190620015b9565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620015fc57805160ff19168380011785556200162d565b828001600101855582156200162d579182015b828111156200162c5782518255916020019190600101906200160f565b5b5090506200163c919062001640565b5090565b6200166591905b808211156200166157600081600090555060010162001647565b5090565b90565b613fe880620016786000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a723058202e1b0d544d6f26cab5c2c3d7c2434937ee68fcc2580418f20a2edf6a5f044a7e0029a165627a7a7230582078b6e13ec47a23415601b04536ddc308c9519116406209b970b8ec2b0b64802d0029", "sourceMap": "945:3464:12:-;;;1506:290;8:9:-1;5:2;;;30:1;27;20:12;5:2;1506:290:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:25;501:5;;:18;;;;;;;;;;;;;;;;;;1654:15:12;1629:22;;:40;;;;;;;;;;;;;;;;;;1699:15;1679:17;;:35;;;;;;;;;;;;;;;;;;1755:34;1724:28;;:65;;;;;;;;;;;;;;;;;;1506:290;;;945:3464;;;;;;", "deployedSourceMap": "945:3464:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1045:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1045:43:12;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1094:32:12;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;3779:177:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3779:177:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1002:37:12;;;;;;;;;;;;;;;;;;;;;;;;;;;832:174:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;832:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;2921:710:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2921:710:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1045:43;;;;;;;;;;;;;:::o;1094:32::-;;;;;;;;;;;;;:::o;238:20:25:-;;;;;;;;;;;;;:::o;3779:177:12:-;653:5:25;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;3896:1:12;3869:29;;:15;:29;;;;3861:38;;;;;;;;3934:15;3909:22;;:40;;;;;;;;;;;;;;;;;;3779:177;:::o;1002:37::-;;;;;;;;;;;;;:::o;832:174:25:-;653:5;;;;;;;;;;;639:19;;:10;:19;;;631:28;;;;;;;;928:1;908:22;;:8;:22;;;;900:31;;;;;;;;970:8;942:37;;963:5;;;;;;;;;;;942:37;;;;;;;;;;;;993:8;985:5;;:16;;;;;;;;;;;;;;;;;;832:174;:::o;2921:710:12:-;3149:34;3226:12;;3252:10;3276:17;;;;;;;;;;;3307:22;3343:28;;;;;;;;;;;3385:13;3412:16;;3442:11;;3186:277;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3186:277:12;3149:314;;3505:22;;;;;;;;;;;3473:77;;;3551:11;3473:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3473:90:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3473:90:12;;;;3612:11;3578:46;;3600:10;3578:46;;;;;;;;;;;;2921:710;;;;;;;;;:::o;945:3464::-;;;;;;;;;;:::o", "source": "/*\n Copyright 2017-2018 Phillip A. Elsasser\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\npragma solidity ^0.4.24;\n\nimport \"./MarketContractOraclize.sol\";\nimport \"../MarketContractRegistryInterface.sol\";\nimport \"../factories/MarketCollateralPoolFactoryInterface.sol\";\n\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\n/// @title MarketContractFactoryOraclize\n/// @author Phil Elsasser \ncontract MarketContractFactoryOraclize is Ownable {\n\n address public marketContractRegistry;\n address public collateralPoolFactoryAddress;\n address public MKT_TOKEN_ADDRESS;\n\n event MarketContractCreated(address indexed creator, address indexed contractAddress);\n\n /// @dev deploys our factory and ties it the a supply registry address\n /// @param registryAddress - address of our MARKET registry\n /// @param mktTokenAddress - MARKET Token address\n /// @param marketCollateralPoolFactoryAddress - address of collateral pool factory.\n constructor(address registryAddress, address mktTokenAddress, address marketCollateralPoolFactoryAddress) public {\n marketContractRegistry = registryAddress;\n MKT_TOKEN_ADDRESS = mktTokenAddress;\n collateralPoolFactoryAddress = marketCollateralPoolFactoryAddress;\n }\n\n /// @dev Deploys a new instance of a market contract and adds it to the whitelist.\n /// @param contractName viewable name of this contract (BTC/ETH, LTC/ETH, etc)\n /// @param collateralTokenAddress address of the ERC20 token that will be used for collateral and pricing\n /// @param contractSpecs array of unsigned integers including:\n /// floorPrice minimum tradeable price of this contract, contract enters settlement if breached\n /// capPrice maximum tradeable price of this contract, contract enters settlement if breached\n /// priceDecimalPlaces number of decimal places to convert our queried price from a floating point to\n /// an integer\n /// qtyMultiplier multiply traded qty by this value from base units of collateral token.\n /// expirationTimeStamp - seconds from epoch that this contract expires and enters settlement\n /// @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n /// see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n /// @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples\n function deployMarketContractOraclize(\n string contractName,\n address collateralTokenAddress,\n uint[5] contractSpecs,\n string oracleDataSource,\n string oracleQuery\n ) external\n {\n MarketContractOraclize mktContract = new MarketContractOraclize(\n contractName,\n msg.sender,\n MKT_TOKEN_ADDRESS,\n collateralTokenAddress,\n collateralPoolFactoryAddress,\n contractSpecs,\n oracleDataSource,\n oracleQuery\n );\n MarketContractRegistryInterface(marketContractRegistry).addAddressToWhiteList(mktContract);\n emit MarketContractCreated(msg.sender, mktContract);\n }\n\n /// @dev allows for the owner to set the desired registry for contract creation.\n /// @param registryAddress desired registry address.\n function setRegistryAddress(address registryAddress) external onlyOwner {\n require(registryAddress != address(0));\n marketContractRegistry = registryAddress;\n }\n\n /*\n currently adding this function pushes us over the edge for gas, for the time being we can leave it out.\n /// @dev allows for the owner to set switch out factories\n /// @param marketCollateralPoolFactoryAddress desired factory address.\n function setCollateralPoolFactoryAddress(address marketCollateralPoolFactoryAddress) external onlyOwner {\n collateralPoolFactoryAddress = marketCollateralPoolFactoryAddress;\n }\n */\n}\n", @@ -179,14 +179,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/MarketContractFactoryOraclize.sol", "exportedSymbols": { "MarketContractFactoryOraclize": [ - 2756 + 2757 ] }, - "id": 2757, + "id": 2758, "nodeType": "SourceUnit", "nodes": [ { - "id": 2651, + "id": 2652, "literals": [ "solidity", "^", @@ -199,10 +199,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/MarketContractOraclize.sol", "file": "./MarketContractOraclize.sol", - "id": 2652, + "id": 2653, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 2950, + "scope": 2758, + "sourceUnit": 2951, "src": "634:38:12", "symbolAliases": [], "unitAlias": "" @@ -210,10 +210,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistryInterface.sol", "file": "../MarketContractRegistryInterface.sol", - "id": 2653, + "id": 2654, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 1733, + "scope": 2758, + "sourceUnit": 1734, "src": "673:48:12", "symbolAliases": [], "unitAlias": "" @@ -221,10 +221,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/factories/MarketCollateralPoolFactoryInterface.sol", "file": "../factories/MarketCollateralPoolFactoryInterface.sol", - "id": 2654, + "id": 2655, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 1870, + "scope": 2758, + "sourceUnit": 1871, "src": "722:63:12", "symbolAliases": [], "unitAlias": "" @@ -232,10 +232,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", - "id": 2655, + "id": 2656, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 4628, + "scope": 2758, + "sourceUnit": 4629, "src": "787:63:12", "symbolAliases": [], "unitAlias": "" @@ -246,42 +246,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2656, + "id": 2657, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4627, + "referencedDeclaration": 4628, "src": "987:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$4627", + "typeIdentifier": "t_contract$_Ownable_$4628", "typeString": "contract Ownable" } }, - "id": 2657, + "id": 2658, "nodeType": "InheritanceSpecifier", "src": "987:7:12" } ], "contractDependencies": [ - 2949, - 4627 + 2950, + 4628 ], "contractKind": "contract", "documentation": "@title MarketContractFactoryOraclize\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 2756, + "id": 2757, "linearizedBaseContracts": [ - 2756, - 4627 + 2757, + 4628 ], "name": "MarketContractFactoryOraclize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 2659, + "id": 2660, "name": "marketContractRegistry", "nodeType": "VariableDeclaration", - "scope": 2756, + "scope": 2757, "src": "1002:37:12", "stateVariable": true, "storageLocation": "default", @@ -290,7 +290,7 @@ "typeString": "address" }, "typeName": { - "id": 2658, + "id": 2659, "name": "address", "nodeType": "ElementaryTypeName", "src": "1002:7:12", @@ -304,10 +304,10 @@ }, { "constant": false, - "id": 2661, + "id": 2662, "name": "collateralPoolFactoryAddress", "nodeType": "VariableDeclaration", - "scope": 2756, + "scope": 2757, "src": "1045:43:12", "stateVariable": true, "storageLocation": "default", @@ -316,7 +316,7 @@ "typeString": "address" }, "typeName": { - "id": 2660, + "id": 2661, "name": "address", "nodeType": "ElementaryTypeName", "src": "1045:7:12", @@ -330,10 +330,10 @@ }, { "constant": false, - "id": 2663, + "id": 2664, "name": "MKT_TOKEN_ADDRESS", "nodeType": "VariableDeclaration", - "scope": 2756, + "scope": 2757, "src": "1094:32:12", "stateVariable": true, "storageLocation": "default", @@ -342,7 +342,7 @@ "typeString": "address" }, "typeName": { - "id": 2662, + "id": 2663, "name": "address", "nodeType": "ElementaryTypeName", "src": "1094:7:12", @@ -357,20 +357,20 @@ { "anonymous": false, "documentation": null, - "id": 2669, + "id": 2670, "name": "MarketContractCreated", "nodeType": "EventDefinition", "parameters": { - "id": 2668, + "id": 2669, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2665, + "id": 2666, "indexed": true, "name": "creator", "nodeType": "VariableDeclaration", - "scope": 2669, + "scope": 2670, "src": "1161:23:12", "stateVariable": false, "storageLocation": "default", @@ -379,7 +379,7 @@ "typeString": "address" }, "typeName": { - "id": 2664, + "id": 2665, "name": "address", "nodeType": "ElementaryTypeName", "src": "1161:7:12", @@ -393,11 +393,11 @@ }, { "constant": false, - "id": 2667, + "id": 2668, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 2669, + "scope": 2670, "src": "1186:31:12", "stateVariable": false, "storageLocation": "default", @@ -406,7 +406,7 @@ "typeString": "address" }, "typeName": { - "id": 2666, + "id": 2667, "name": "address", "nodeType": "ElementaryTypeName", "src": "1186:7:12", @@ -425,25 +425,25 @@ }, { "body": { - "id": 2690, + "id": 2691, "nodeType": "Block", "src": "1619:177:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 2680, + "id": 2681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2678, + "id": 2679, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2659, + "referencedDeclaration": 2660, "src": "1629:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -454,11 +454,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2679, + "id": 2680, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2672, "src": "1654:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -471,25 +471,25 @@ "typeString": "address" } }, - "id": 2681, + "id": 2682, "nodeType": "ExpressionStatement", "src": "1629:40:12" }, { "expression": { "argumentTypes": null, - "id": 2684, + "id": 2685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2682, + "id": 2683, "name": "MKT_TOKEN_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2663, + "referencedDeclaration": 2664, "src": "1679:17:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -500,11 +500,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2683, + "id": 2684, "name": "mktTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2673, + "referencedDeclaration": 2674, "src": "1699:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -517,25 +517,25 @@ "typeString": "address" } }, - "id": 2685, + "id": 2686, "nodeType": "ExpressionStatement", "src": "1679:35:12" }, { "expression": { "argumentTypes": null, - "id": 2688, + "id": 2689, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2686, + "id": 2687, "name": "collateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2661, + "referencedDeclaration": 2662, "src": "1724:28:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -546,11 +546,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2687, + "id": 2688, "name": "marketCollateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, + "referencedDeclaration": 2676, "src": "1755:34:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -563,14 +563,14 @@ "typeString": "address" } }, - "id": 2689, + "id": 2690, "nodeType": "ExpressionStatement", "src": "1724:65:12" } ] }, "documentation": "@dev deploys our factory and ties it the a supply registry address\n @param registryAddress - address of our MARKET registry\n @param mktTokenAddress - MARKET Token address\n @param marketCollateralPoolFactoryAddress - address of collateral pool factory.", - "id": 2691, + "id": 2692, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -578,15 +578,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2676, + "id": 2677, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2671, + "id": 2672, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 2691, + "scope": 2692, "src": "1518:23:12", "stateVariable": false, "storageLocation": "default", @@ -595,7 +595,7 @@ "typeString": "address" }, "typeName": { - "id": 2670, + "id": 2671, "name": "address", "nodeType": "ElementaryTypeName", "src": "1518:7:12", @@ -609,10 +609,10 @@ }, { "constant": false, - "id": 2673, + "id": 2674, "name": "mktTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2691, + "scope": 2692, "src": "1543:23:12", "stateVariable": false, "storageLocation": "default", @@ -621,7 +621,7 @@ "typeString": "address" }, "typeName": { - "id": 2672, + "id": 2673, "name": "address", "nodeType": "ElementaryTypeName", "src": "1543:7:12", @@ -635,10 +635,10 @@ }, { "constant": false, - "id": 2675, + "id": 2676, "name": "marketCollateralPoolFactoryAddress", "nodeType": "VariableDeclaration", - "scope": 2691, + "scope": 2692, "src": "1568:42:12", "stateVariable": false, "storageLocation": "default", @@ -647,7 +647,7 @@ "typeString": "address" }, "typeName": { - "id": 2674, + "id": 2675, "name": "address", "nodeType": "ElementaryTypeName", "src": "1568:7:12", @@ -664,12 +664,12 @@ }, "payable": false, "returnParameters": { - "id": 2677, + "id": 2678, "nodeType": "ParameterList", "parameters": [], "src": "1619:0:12" }, - "scope": 2756, + "scope": 2757, "src": "1506:290:12", "stateMutability": "nonpayable", "superFunction": null, @@ -677,37 +677,37 @@ }, { "body": { - "id": 2734, + "id": 2735, "nodeType": "Block", "src": "3139:492:12", "statements": [ { "assignments": [ - 2707 + 2708 ], "declarations": [ { "constant": false, - "id": 2707, + "id": 2708, "name": "mktContract", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3149:34:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" }, "typeName": { "contractScope": null, - "id": 2706, + "id": 2707, "name": "MarketContractOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2949, + "referencedDeclaration": 2950, "src": "3149:22:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } }, @@ -715,17 +715,17 @@ "visibility": "internal" } ], - "id": 2720, + "id": 2721, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2710, + "id": 2711, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2693, + "referencedDeclaration": 2694, "src": "3226:12:12", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -736,18 +736,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2711, + "id": 2712, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3252:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2712, + "id": 2713, "isConstant": false, "isLValue": false, "isPure": false, @@ -763,11 +763,11 @@ }, { "argumentTypes": null, - "id": 2713, + "id": 2714, "name": "MKT_TOKEN_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2663, + "referencedDeclaration": 2664, "src": "3276:17:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -776,11 +776,11 @@ }, { "argumentTypes": null, - "id": 2714, + "id": 2715, "name": "collateralTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2695, + "referencedDeclaration": 2696, "src": "3307:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -789,11 +789,11 @@ }, { "argumentTypes": null, - "id": 2715, + "id": 2716, "name": "collateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2661, + "referencedDeclaration": 2662, "src": "3343:28:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -802,11 +802,11 @@ }, { "argumentTypes": null, - "id": 2716, + "id": 2717, "name": "contractSpecs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2699, + "referencedDeclaration": 2700, "src": "3385:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_calldata_ptr", @@ -815,11 +815,11 @@ }, { "argumentTypes": null, - "id": 2717, + "id": 2718, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2701, + "referencedDeclaration": 2702, "src": "3412:16:12", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -828,11 +828,11 @@ }, { "argumentTypes": null, - "id": 2718, + "id": 2719, "name": "oracleQuery", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2703, + "referencedDeclaration": 2704, "src": "3442:11:12", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -875,7 +875,7 @@ "typeString": "string calldata" } ], - "id": 2709, + "id": 2710, "isConstant": false, "isLValue": false, "isPure": false, @@ -883,23 +883,23 @@ "nodeType": "NewExpression", "src": "3186:26:12", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$5_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MarketContractOraclize_$2949_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$5_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MarketContractOraclize_$2950_$", "typeString": "function (string memory,address,address,address,address,uint256[5] memory,string memory,string memory) returns (contract MarketContractOraclize)" }, "typeName": { "contractScope": null, - "id": 2708, + "id": 2709, "name": "MarketContractOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2949, + "referencedDeclaration": 2950, "src": "3190:22:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } } }, - "id": 2719, + "id": 2720, "isConstant": false, "isLValue": false, "isPure": false, @@ -909,7 +909,7 @@ "nodeType": "FunctionCall", "src": "3186:277:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } }, @@ -922,14 +922,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2725, + "id": 2726, "name": "mktContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2707, + "referencedDeclaration": 2708, "src": "3551:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } } @@ -937,7 +937,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } ], @@ -946,11 +946,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2722, + "id": 2723, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2659, + "referencedDeclaration": 2660, "src": "3505:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -965,18 +965,18 @@ "typeString": "address" } ], - "id": 2721, + "id": 2722, "name": "MarketContractRegistryInterface", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1732, + "referencedDeclaration": 1733, "src": "3473:31:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1732_$", + "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1733_$", "typeString": "type(contract MarketContractRegistryInterface)" } }, - "id": 2723, + "id": 2724, "isConstant": false, "isLValue": false, "isPure": false, @@ -986,25 +986,25 @@ "nodeType": "FunctionCall", "src": "3473:55:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1732", + "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1733", "typeString": "contract MarketContractRegistryInterface" } }, - "id": 2724, + "id": 2725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addAddressToWhiteList", "nodeType": "MemberAccess", - "referencedDeclaration": 1724, + "referencedDeclaration": 1725, "src": "3473:77:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 2726, + "id": 2727, "isConstant": false, "isLValue": false, "isPure": false, @@ -1018,7 +1018,7 @@ "typeString": "tuple()" } }, - "id": 2727, + "id": 2728, "nodeType": "ExpressionStatement", "src": "3473:90:12" }, @@ -1030,18 +1030,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2729, + "id": 2730, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3600:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2730, + "id": 2731, "isConstant": false, "isLValue": false, "isPure": false, @@ -1057,14 +1057,14 @@ }, { "argumentTypes": null, - "id": 2731, + "id": 2732, "name": "mktContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2707, + "referencedDeclaration": 2708, "src": "3612:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } } @@ -1076,22 +1076,22 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } ], - "id": 2728, + "id": 2729, "name": "MarketContractCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2669, + "referencedDeclaration": 2670, "src": "3578:21:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 2732, + "id": 2733, "isConstant": false, "isLValue": false, "isPure": false, @@ -1105,14 +1105,14 @@ "typeString": "tuple()" } }, - "id": 2733, + "id": 2734, "nodeType": "EmitStatement", "src": "3573:51:12" } ] }, "documentation": "@dev Deploys a new instance of a market contract and adds it to the whitelist.\n @param contractName viewable name of this contract (BTC/ETH, LTC/ETH, etc)\n @param collateralTokenAddress address of the ERC20 token that will be used for collateral and pricing\n @param contractSpecs array of unsigned integers including:\n floorPrice minimum tradeable price of this contract, contract enters settlement if breached\n capPrice maximum tradeable price of this contract, contract enters settlement if breached\n priceDecimalPlaces number of decimal places to convert our queried price from a floating point to\n an integer\n qtyMultiplier multiply traded qty by this value from base units of collateral token.\n expirationTimeStamp - seconds from epoch that this contract expires and enters settlement\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples", - "id": 2735, + "id": 2736, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1120,15 +1120,15 @@ "name": "deployMarketContractOraclize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2704, + "id": 2705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2693, + "id": 2694, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "2968:19:12", "stateVariable": false, "storageLocation": "default", @@ -1137,7 +1137,7 @@ "typeString": "string" }, "typeName": { - "id": 2692, + "id": 2693, "name": "string", "nodeType": "ElementaryTypeName", "src": "2968:6:12", @@ -1151,10 +1151,10 @@ }, { "constant": false, - "id": 2695, + "id": 2696, "name": "collateralTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "2997:30:12", "stateVariable": false, "storageLocation": "default", @@ -1163,7 +1163,7 @@ "typeString": "address" }, "typeName": { - "id": 2694, + "id": 2695, "name": "address", "nodeType": "ElementaryTypeName", "src": "2997:7:12", @@ -1177,10 +1177,10 @@ }, { "constant": false, - "id": 2699, + "id": 2700, "name": "contractSpecs", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3037:21:12", "stateVariable": false, "storageLocation": "default", @@ -1190,7 +1190,7 @@ }, "typeName": { "baseType": { - "id": 2696, + "id": 2697, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3037:4:12", @@ -1199,11 +1199,11 @@ "typeString": "uint256" } }, - "id": 2698, + "id": 2699, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2697, + "id": 2698, "isConstant": false, "isLValue": false, "isPure": false, @@ -1230,10 +1230,10 @@ }, { "constant": false, - "id": 2701, + "id": 2702, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3068:23:12", "stateVariable": false, "storageLocation": "default", @@ -1242,7 +1242,7 @@ "typeString": "string" }, "typeName": { - "id": 2700, + "id": 2701, "name": "string", "nodeType": "ElementaryTypeName", "src": "3068:6:12", @@ -1256,10 +1256,10 @@ }, { "constant": false, - "id": 2703, + "id": 2704, "name": "oracleQuery", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3101:18:12", "stateVariable": false, "storageLocation": "default", @@ -1268,7 +1268,7 @@ "typeString": "string" }, "typeName": { - "id": 2702, + "id": 2703, "name": "string", "nodeType": "ElementaryTypeName", "src": "3101:6:12", @@ -1285,12 +1285,12 @@ }, "payable": false, "returnParameters": { - "id": 2705, + "id": 2706, "nodeType": "ParameterList", "parameters": [], "src": "3139:0:12" }, - "scope": 2756, + "scope": 2757, "src": "2921:710:12", "stateMutability": "nonpayable", "superFunction": null, @@ -1298,7 +1298,7 @@ }, { "body": { - "id": 2754, + "id": 2755, "nodeType": "Block", "src": "3851:105:12", "statements": [ @@ -1312,18 +1312,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2747, + "id": 2748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2743, + "id": 2744, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2737, + "referencedDeclaration": 2738, "src": "3869:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1338,7 +1338,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2745, + "id": 2746, "isConstant": false, "isLValue": false, "isPure": true, @@ -1361,7 +1361,7 @@ "typeString": "int_const 0" } ], - "id": 2744, + "id": 2745, "isConstant": false, "isLValue": false, "isPure": true, @@ -1374,7 +1374,7 @@ }, "typeName": "address" }, - "id": 2746, + "id": 2747, "isConstant": false, "isLValue": false, "isPure": true, @@ -1402,21 +1402,21 @@ "typeString": "bool" } ], - "id": 2742, + "id": 2743, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3861:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2748, + "id": 2749, "isConstant": false, "isLValue": false, "isPure": false, @@ -1430,25 +1430,25 @@ "typeString": "tuple()" } }, - "id": 2749, + "id": 2750, "nodeType": "ExpressionStatement", "src": "3861:38:12" }, { "expression": { "argumentTypes": null, - "id": 2752, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2750, + "id": 2751, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2659, + "referencedDeclaration": 2660, "src": "3909:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1459,11 +1459,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2751, + "id": 2752, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2737, + "referencedDeclaration": 2738, "src": "3934:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1476,28 +1476,28 @@ "typeString": "address" } }, - "id": 2753, + "id": 2754, "nodeType": "ExpressionStatement", "src": "3909:40:12" } ] }, "documentation": "@dev allows for the owner to set the desired registry for contract creation.\n @param registryAddress desired registry address.", - "id": 2755, + "id": 2756, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2740, + "id": 2741, "modifierName": { "argumentTypes": null, - "id": 2739, + "id": 2740, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "3841:9:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1511,15 +1511,15 @@ "name": "setRegistryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 2738, + "id": 2739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2737, + "id": 2738, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 2755, + "scope": 2756, "src": "3807:23:12", "stateVariable": false, "storageLocation": "default", @@ -1528,7 +1528,7 @@ "typeString": "address" }, "typeName": { - "id": 2736, + "id": 2737, "name": "address", "nodeType": "ElementaryTypeName", "src": "3807:7:12", @@ -1545,19 +1545,19 @@ }, "payable": false, "returnParameters": { - "id": 2741, + "id": 2742, "nodeType": "ParameterList", "parameters": [], "src": "3851:0:12" }, - "scope": 2756, + "scope": 2757, "src": "3779:177:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 2757, + "scope": 2758, "src": "945:3464:12" } ], @@ -1567,14 +1567,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/MarketContractFactoryOraclize.sol", "exportedSymbols": { "MarketContractFactoryOraclize": [ - 2756 + 2757 ] }, - "id": 2757, + "id": 2758, "nodeType": "SourceUnit", "nodes": [ { - "id": 2651, + "id": 2652, "literals": [ "solidity", "^", @@ -1587,10 +1587,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/MarketContractOraclize.sol", "file": "./MarketContractOraclize.sol", - "id": 2652, + "id": 2653, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 2950, + "scope": 2758, + "sourceUnit": 2951, "src": "634:38:12", "symbolAliases": [], "unitAlias": "" @@ -1598,10 +1598,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistryInterface.sol", "file": "../MarketContractRegistryInterface.sol", - "id": 2653, + "id": 2654, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 1733, + "scope": 2758, + "sourceUnit": 1734, "src": "673:48:12", "symbolAliases": [], "unitAlias": "" @@ -1609,10 +1609,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/factories/MarketCollateralPoolFactoryInterface.sol", "file": "../factories/MarketCollateralPoolFactoryInterface.sol", - "id": 2654, + "id": 2655, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 1870, + "scope": 2758, + "sourceUnit": 1871, "src": "722:63:12", "symbolAliases": [], "unitAlias": "" @@ -1620,10 +1620,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", - "id": 2655, + "id": 2656, "nodeType": "ImportDirective", - "scope": 2757, - "sourceUnit": 4628, + "scope": 2758, + "sourceUnit": 4629, "src": "787:63:12", "symbolAliases": [], "unitAlias": "" @@ -1634,42 +1634,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2656, + "id": 2657, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4627, + "referencedDeclaration": 4628, "src": "987:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$4627", + "typeIdentifier": "t_contract$_Ownable_$4628", "typeString": "contract Ownable" } }, - "id": 2657, + "id": 2658, "nodeType": "InheritanceSpecifier", "src": "987:7:12" } ], "contractDependencies": [ - 2949, - 4627 + 2950, + 4628 ], "contractKind": "contract", "documentation": "@title MarketContractFactoryOraclize\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 2756, + "id": 2757, "linearizedBaseContracts": [ - 2756, - 4627 + 2757, + 4628 ], "name": "MarketContractFactoryOraclize", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 2659, + "id": 2660, "name": "marketContractRegistry", "nodeType": "VariableDeclaration", - "scope": 2756, + "scope": 2757, "src": "1002:37:12", "stateVariable": true, "storageLocation": "default", @@ -1678,7 +1678,7 @@ "typeString": "address" }, "typeName": { - "id": 2658, + "id": 2659, "name": "address", "nodeType": "ElementaryTypeName", "src": "1002:7:12", @@ -1692,10 +1692,10 @@ }, { "constant": false, - "id": 2661, + "id": 2662, "name": "collateralPoolFactoryAddress", "nodeType": "VariableDeclaration", - "scope": 2756, + "scope": 2757, "src": "1045:43:12", "stateVariable": true, "storageLocation": "default", @@ -1704,7 +1704,7 @@ "typeString": "address" }, "typeName": { - "id": 2660, + "id": 2661, "name": "address", "nodeType": "ElementaryTypeName", "src": "1045:7:12", @@ -1718,10 +1718,10 @@ }, { "constant": false, - "id": 2663, + "id": 2664, "name": "MKT_TOKEN_ADDRESS", "nodeType": "VariableDeclaration", - "scope": 2756, + "scope": 2757, "src": "1094:32:12", "stateVariable": true, "storageLocation": "default", @@ -1730,7 +1730,7 @@ "typeString": "address" }, "typeName": { - "id": 2662, + "id": 2663, "name": "address", "nodeType": "ElementaryTypeName", "src": "1094:7:12", @@ -1745,20 +1745,20 @@ { "anonymous": false, "documentation": null, - "id": 2669, + "id": 2670, "name": "MarketContractCreated", "nodeType": "EventDefinition", "parameters": { - "id": 2668, + "id": 2669, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2665, + "id": 2666, "indexed": true, "name": "creator", "nodeType": "VariableDeclaration", - "scope": 2669, + "scope": 2670, "src": "1161:23:12", "stateVariable": false, "storageLocation": "default", @@ -1767,7 +1767,7 @@ "typeString": "address" }, "typeName": { - "id": 2664, + "id": 2665, "name": "address", "nodeType": "ElementaryTypeName", "src": "1161:7:12", @@ -1781,11 +1781,11 @@ }, { "constant": false, - "id": 2667, + "id": 2668, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 2669, + "scope": 2670, "src": "1186:31:12", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "address" }, "typeName": { - "id": 2666, + "id": 2667, "name": "address", "nodeType": "ElementaryTypeName", "src": "1186:7:12", @@ -1813,25 +1813,25 @@ }, { "body": { - "id": 2690, + "id": 2691, "nodeType": "Block", "src": "1619:177:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 2680, + "id": 2681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2678, + "id": 2679, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2659, + "referencedDeclaration": 2660, "src": "1629:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1842,11 +1842,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2679, + "id": 2680, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2672, "src": "1654:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1859,25 +1859,25 @@ "typeString": "address" } }, - "id": 2681, + "id": 2682, "nodeType": "ExpressionStatement", "src": "1629:40:12" }, { "expression": { "argumentTypes": null, - "id": 2684, + "id": 2685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2682, + "id": 2683, "name": "MKT_TOKEN_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2663, + "referencedDeclaration": 2664, "src": "1679:17:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1888,11 +1888,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2683, + "id": 2684, "name": "mktTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2673, + "referencedDeclaration": 2674, "src": "1699:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1905,25 +1905,25 @@ "typeString": "address" } }, - "id": 2685, + "id": 2686, "nodeType": "ExpressionStatement", "src": "1679:35:12" }, { "expression": { "argumentTypes": null, - "id": 2688, + "id": 2689, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2686, + "id": 2687, "name": "collateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2661, + "referencedDeclaration": 2662, "src": "1724:28:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1934,11 +1934,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2687, + "id": 2688, "name": "marketCollateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, + "referencedDeclaration": 2676, "src": "1755:34:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1951,14 +1951,14 @@ "typeString": "address" } }, - "id": 2689, + "id": 2690, "nodeType": "ExpressionStatement", "src": "1724:65:12" } ] }, "documentation": "@dev deploys our factory and ties it the a supply registry address\n @param registryAddress - address of our MARKET registry\n @param mktTokenAddress - MARKET Token address\n @param marketCollateralPoolFactoryAddress - address of collateral pool factory.", - "id": 2691, + "id": 2692, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -1966,15 +1966,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2676, + "id": 2677, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2671, + "id": 2672, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 2691, + "scope": 2692, "src": "1518:23:12", "stateVariable": false, "storageLocation": "default", @@ -1983,7 +1983,7 @@ "typeString": "address" }, "typeName": { - "id": 2670, + "id": 2671, "name": "address", "nodeType": "ElementaryTypeName", "src": "1518:7:12", @@ -1997,10 +1997,10 @@ }, { "constant": false, - "id": 2673, + "id": 2674, "name": "mktTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2691, + "scope": 2692, "src": "1543:23:12", "stateVariable": false, "storageLocation": "default", @@ -2009,7 +2009,7 @@ "typeString": "address" }, "typeName": { - "id": 2672, + "id": 2673, "name": "address", "nodeType": "ElementaryTypeName", "src": "1543:7:12", @@ -2023,10 +2023,10 @@ }, { "constant": false, - "id": 2675, + "id": 2676, "name": "marketCollateralPoolFactoryAddress", "nodeType": "VariableDeclaration", - "scope": 2691, + "scope": 2692, "src": "1568:42:12", "stateVariable": false, "storageLocation": "default", @@ -2035,7 +2035,7 @@ "typeString": "address" }, "typeName": { - "id": 2674, + "id": 2675, "name": "address", "nodeType": "ElementaryTypeName", "src": "1568:7:12", @@ -2052,12 +2052,12 @@ }, "payable": false, "returnParameters": { - "id": 2677, + "id": 2678, "nodeType": "ParameterList", "parameters": [], "src": "1619:0:12" }, - "scope": 2756, + "scope": 2757, "src": "1506:290:12", "stateMutability": "nonpayable", "superFunction": null, @@ -2065,37 +2065,37 @@ }, { "body": { - "id": 2734, + "id": 2735, "nodeType": "Block", "src": "3139:492:12", "statements": [ { "assignments": [ - 2707 + 2708 ], "declarations": [ { "constant": false, - "id": 2707, + "id": 2708, "name": "mktContract", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3149:34:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" }, "typeName": { "contractScope": null, - "id": 2706, + "id": 2707, "name": "MarketContractOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2949, + "referencedDeclaration": 2950, "src": "3149:22:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } }, @@ -2103,17 +2103,17 @@ "visibility": "internal" } ], - "id": 2720, + "id": 2721, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2710, + "id": 2711, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2693, + "referencedDeclaration": 2694, "src": "3226:12:12", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -2124,18 +2124,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2711, + "id": 2712, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3252:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2712, + "id": 2713, "isConstant": false, "isLValue": false, "isPure": false, @@ -2151,11 +2151,11 @@ }, { "argumentTypes": null, - "id": 2713, + "id": 2714, "name": "MKT_TOKEN_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2663, + "referencedDeclaration": 2664, "src": "3276:17:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2164,11 +2164,11 @@ }, { "argumentTypes": null, - "id": 2714, + "id": 2715, "name": "collateralTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2695, + "referencedDeclaration": 2696, "src": "3307:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2177,11 +2177,11 @@ }, { "argumentTypes": null, - "id": 2715, + "id": 2716, "name": "collateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2661, + "referencedDeclaration": 2662, "src": "3343:28:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2190,11 +2190,11 @@ }, { "argumentTypes": null, - "id": 2716, + "id": 2717, "name": "contractSpecs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2699, + "referencedDeclaration": 2700, "src": "3385:13:12", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_calldata_ptr", @@ -2203,11 +2203,11 @@ }, { "argumentTypes": null, - "id": 2717, + "id": 2718, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2701, + "referencedDeclaration": 2702, "src": "3412:16:12", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -2216,11 +2216,11 @@ }, { "argumentTypes": null, - "id": 2718, + "id": 2719, "name": "oracleQuery", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2703, + "referencedDeclaration": 2704, "src": "3442:11:12", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -2263,7 +2263,7 @@ "typeString": "string calldata" } ], - "id": 2709, + "id": 2710, "isConstant": false, "isLValue": false, "isPure": false, @@ -2271,23 +2271,23 @@ "nodeType": "NewExpression", "src": "3186:26:12", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$5_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MarketContractOraclize_$2949_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$5_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MarketContractOraclize_$2950_$", "typeString": "function (string memory,address,address,address,address,uint256[5] memory,string memory,string memory) returns (contract MarketContractOraclize)" }, "typeName": { "contractScope": null, - "id": 2708, + "id": 2709, "name": "MarketContractOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2949, + "referencedDeclaration": 2950, "src": "3190:22:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } } }, - "id": 2719, + "id": 2720, "isConstant": false, "isLValue": false, "isPure": false, @@ -2297,7 +2297,7 @@ "nodeType": "FunctionCall", "src": "3186:277:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } }, @@ -2310,14 +2310,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2725, + "id": 2726, "name": "mktContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2707, + "referencedDeclaration": 2708, "src": "3551:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } } @@ -2325,7 +2325,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } ], @@ -2334,11 +2334,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2722, + "id": 2723, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2659, + "referencedDeclaration": 2660, "src": "3505:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2353,18 +2353,18 @@ "typeString": "address" } ], - "id": 2721, + "id": 2722, "name": "MarketContractRegistryInterface", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1732, + "referencedDeclaration": 1733, "src": "3473:31:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1732_$", + "typeIdentifier": "t_type$_t_contract$_MarketContractRegistryInterface_$1733_$", "typeString": "type(contract MarketContractRegistryInterface)" } }, - "id": 2723, + "id": 2724, "isConstant": false, "isLValue": false, "isPure": false, @@ -2374,25 +2374,25 @@ "nodeType": "FunctionCall", "src": "3473:55:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1732", + "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1733", "typeString": "contract MarketContractRegistryInterface" } }, - "id": 2724, + "id": 2725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addAddressToWhiteList", "nodeType": "MemberAccess", - "referencedDeclaration": 1724, + "referencedDeclaration": 1725, "src": "3473:77:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 2726, + "id": 2727, "isConstant": false, "isLValue": false, "isPure": false, @@ -2406,7 +2406,7 @@ "typeString": "tuple()" } }, - "id": 2727, + "id": 2728, "nodeType": "ExpressionStatement", "src": "3473:90:12" }, @@ -2418,18 +2418,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2729, + "id": 2730, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3600:3:12", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2730, + "id": 2731, "isConstant": false, "isLValue": false, "isPure": false, @@ -2445,14 +2445,14 @@ }, { "argumentTypes": null, - "id": 2731, + "id": 2732, "name": "mktContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2707, + "referencedDeclaration": 2708, "src": "3612:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } } @@ -2464,22 +2464,22 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_MarketContractOraclize_$2949", + "typeIdentifier": "t_contract$_MarketContractOraclize_$2950", "typeString": "contract MarketContractOraclize" } ], - "id": 2728, + "id": 2729, "name": "MarketContractCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2669, + "referencedDeclaration": 2670, "src": "3578:21:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 2732, + "id": 2733, "isConstant": false, "isLValue": false, "isPure": false, @@ -2493,14 +2493,14 @@ "typeString": "tuple()" } }, - "id": 2733, + "id": 2734, "nodeType": "EmitStatement", "src": "3573:51:12" } ] }, "documentation": "@dev Deploys a new instance of a market contract and adds it to the whitelist.\n @param contractName viewable name of this contract (BTC/ETH, LTC/ETH, etc)\n @param collateralTokenAddress address of the ERC20 token that will be used for collateral and pricing\n @param contractSpecs array of unsigned integers including:\n floorPrice minimum tradeable price of this contract, contract enters settlement if breached\n capPrice maximum tradeable price of this contract, contract enters settlement if breached\n priceDecimalPlaces number of decimal places to convert our queried price from a floating point to\n an integer\n qtyMultiplier multiply traded qty by this value from base units of collateral token.\n expirationTimeStamp - seconds from epoch that this contract expires and enters settlement\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples", - "id": 2735, + "id": 2736, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2508,15 +2508,15 @@ "name": "deployMarketContractOraclize", "nodeType": "FunctionDefinition", "parameters": { - "id": 2704, + "id": 2705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2693, + "id": 2694, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "2968:19:12", "stateVariable": false, "storageLocation": "default", @@ -2525,7 +2525,7 @@ "typeString": "string" }, "typeName": { - "id": 2692, + "id": 2693, "name": "string", "nodeType": "ElementaryTypeName", "src": "2968:6:12", @@ -2539,10 +2539,10 @@ }, { "constant": false, - "id": 2695, + "id": 2696, "name": "collateralTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "2997:30:12", "stateVariable": false, "storageLocation": "default", @@ -2551,7 +2551,7 @@ "typeString": "address" }, "typeName": { - "id": 2694, + "id": 2695, "name": "address", "nodeType": "ElementaryTypeName", "src": "2997:7:12", @@ -2565,10 +2565,10 @@ }, { "constant": false, - "id": 2699, + "id": 2700, "name": "contractSpecs", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3037:21:12", "stateVariable": false, "storageLocation": "default", @@ -2578,7 +2578,7 @@ }, "typeName": { "baseType": { - "id": 2696, + "id": 2697, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3037:4:12", @@ -2587,11 +2587,11 @@ "typeString": "uint256" } }, - "id": 2698, + "id": 2699, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2697, + "id": 2698, "isConstant": false, "isLValue": false, "isPure": false, @@ -2618,10 +2618,10 @@ }, { "constant": false, - "id": 2701, + "id": 2702, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3068:23:12", "stateVariable": false, "storageLocation": "default", @@ -2630,7 +2630,7 @@ "typeString": "string" }, "typeName": { - "id": 2700, + "id": 2701, "name": "string", "nodeType": "ElementaryTypeName", "src": "3068:6:12", @@ -2644,10 +2644,10 @@ }, { "constant": false, - "id": 2703, + "id": 2704, "name": "oracleQuery", "nodeType": "VariableDeclaration", - "scope": 2735, + "scope": 2736, "src": "3101:18:12", "stateVariable": false, "storageLocation": "default", @@ -2656,7 +2656,7 @@ "typeString": "string" }, "typeName": { - "id": 2702, + "id": 2703, "name": "string", "nodeType": "ElementaryTypeName", "src": "3101:6:12", @@ -2673,12 +2673,12 @@ }, "payable": false, "returnParameters": { - "id": 2705, + "id": 2706, "nodeType": "ParameterList", "parameters": [], "src": "3139:0:12" }, - "scope": 2756, + "scope": 2757, "src": "2921:710:12", "stateMutability": "nonpayable", "superFunction": null, @@ -2686,7 +2686,7 @@ }, { "body": { - "id": 2754, + "id": 2755, "nodeType": "Block", "src": "3851:105:12", "statements": [ @@ -2700,18 +2700,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2747, + "id": 2748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2743, + "id": 2744, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2737, + "referencedDeclaration": 2738, "src": "3869:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2726,7 +2726,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2745, + "id": 2746, "isConstant": false, "isLValue": false, "isPure": true, @@ -2749,7 +2749,7 @@ "typeString": "int_const 0" } ], - "id": 2744, + "id": 2745, "isConstant": false, "isLValue": false, "isPure": true, @@ -2762,7 +2762,7 @@ }, "typeName": "address" }, - "id": 2746, + "id": 2747, "isConstant": false, "isLValue": false, "isPure": true, @@ -2790,21 +2790,21 @@ "typeString": "bool" } ], - "id": 2742, + "id": 2743, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3861:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2748, + "id": 2749, "isConstant": false, "isLValue": false, "isPure": false, @@ -2818,25 +2818,25 @@ "typeString": "tuple()" } }, - "id": 2749, + "id": 2750, "nodeType": "ExpressionStatement", "src": "3861:38:12" }, { "expression": { "argumentTypes": null, - "id": 2752, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2750, + "id": 2751, "name": "marketContractRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2659, + "referencedDeclaration": 2660, "src": "3909:22:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2847,11 +2847,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2751, + "id": 2752, "name": "registryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2737, + "referencedDeclaration": 2738, "src": "3934:15:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2864,28 +2864,28 @@ "typeString": "address" } }, - "id": 2753, + "id": 2754, "nodeType": "ExpressionStatement", "src": "3909:40:12" } ] }, "documentation": "@dev allows for the owner to set the desired registry for contract creation.\n @param registryAddress desired registry address.", - "id": 2755, + "id": 2756, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 2740, + "id": 2741, "modifierName": { "argumentTypes": null, - "id": 2739, + "id": 2740, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "3841:9:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2899,15 +2899,15 @@ "name": "setRegistryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 2738, + "id": 2739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2737, + "id": 2738, "name": "registryAddress", "nodeType": "VariableDeclaration", - "scope": 2755, + "scope": 2756, "src": "3807:23:12", "stateVariable": false, "storageLocation": "default", @@ -2916,7 +2916,7 @@ "typeString": "address" }, "typeName": { - "id": 2736, + "id": 2737, "name": "address", "nodeType": "ElementaryTypeName", "src": "3807:7:12", @@ -2933,19 +2933,19 @@ }, "payable": false, "returnParameters": { - "id": 2741, + "id": 2742, "nodeType": "ParameterList", "parameters": [], "src": "3851:0:12" }, - "scope": 2756, + "scope": 2757, "src": "3779:177:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 2757, + "scope": 2758, "src": "945:3464:12" } ], @@ -2959,12 +2959,12 @@ "4": { "events": {}, "links": { - "OrderLib": "0x5cfce3c76fa3528b87f27149c341b2add6904ea7" + "OrderLib": "0x1cf1af7f3df9e9075796c7a6bf8d91c3398fe984" }, - "address": "0xa9fd47ac90c86dc770219d040aa4311dda78a807", - "transactionHash": "0x32332dd11413cab050cd3b7e8a3d060f0090ab8ec31a9d8e3321397eb94331ef" + "address": "0x671ccfd13ff37dd06730e4e5867628e7f06fda78", + "transactionHash": "0x3bfcad2d7b4e4f3f9706fb2f3f8e27f99953de18987613d4af2d5902fef6ba72" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.236Z" + "updatedAt": "2018-10-05T14:03:26.617Z" } \ No newline at end of file diff --git a/build/contracts/MarketContractOraclize.json b/build/contracts/MarketContractOraclize.json index d596ebb..00feaba 100644 --- a/build/contracts/MarketContractOraclize.json +++ b/build/contracts/MarketContractOraclize.json @@ -638,8 +638,8 @@ "type": "function" } ], - "bytecode": "0x60806040526000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200566038038062005660833981018060405281019080805182019291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919091908260a0018051820192919060200180518201929190505050878787878787336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384281dcc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200027557600080fd5b505af11580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b81019080805190602001909291905050501515620002be57600080fd5b806000600581101515620002ce57fe5b6020020151600781905550806001600581101515620002e957fe5b60200201516006819055506007546006541115156200030757600080fd5b8060026005811015156200031757fe5b60200201516008819055508060036005811015156200033257fe5b60200201516009819055508060046005811015156200034d57fe5b6020020151600a8190555042600a541115156200036957600080fd5b856004908051906020019062000381929190620015b9565b5082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200046b60017f01000000000000000000000000000000000000000000000000000000000000000260107f01000000000000000000000000000000000000000000000000000000000000000217620004db640100000000026401000000009004565b816014908051906020019062000483929190620015b9565b5080601590805190602001906200049c929190620015b9565b50624f1a0042600a540311151515620004b457600080fd5b620004cd62000893640100000000026401000000009004565b505050505050505062001668565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806200055e575060006200055c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000581576200057f600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200060857600080fd5b505af11580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620007a157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200072357600080fd5b505af115801562000738573d6000803e3d6000fd5b505050506040513d60208110156200074f57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663688dcfd7826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050600060405180830381600087803b1580156200087757600080fd5b505af11580156200088c573d6000803e3d6000fd5b5050505050565b6000620009f3600a5460148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009365780601f106200090a5761010080835404028352916020019162000936565b820191906000526020600020905b8154815290600101906020018083116200091857829003601f168201915b505050505060158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009d55780601f10620009a957610100808354040283529160200191620009d5565b820191906000526020600020905b815481529060010190602001808311620009b757829003601f168201915b5050505050620249f062000a71640100000000026401000000009004565b9050600060010281600019161415151562000a0d57600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813b9050919050565b600062000a6a6200103e640100000000026401000000009004565b9050919050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148062000af75750600062000af5601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000b1a5762000b18600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000ba157600080fd5b505af115801562000bb6573d6000803e3d6000fd5b505050506040513d602081101562000bcd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d3a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000cbc57600080fd5b505af115801562000cd1573d6000803e3d6000fd5b505050506040513d602081101562000ce857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101562000ded57808201518184015260208101905062000dd0565b50505050905090810190601f16801562000e1b5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801562000e3c57600080fd5b505af115801562000e51573d6000803e3d6000fd5b505050506040513d602081101562000e6857600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f82888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000f3b57808201518184015260208101905062000f1e565b50505050905090810190601f16801562000f695780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000fa457808201518184015260208101905062000f87565b50505050905090810190601f16801562000fd25780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801562000ff557600080fd5b505af11580156200100a573d6000803e3d6000fd5b50505050506040513d60208110156200102257600080fd5b8101908080519060200190929190505050915050949350505050565b6000806200106f731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed62000a44640100000000026401000000009004565b11156200112457731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200111a6040805190810160405280600b81526020017f6574685f6d61696e6e65740000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200115473c03a2615d5efaf5f49f60b7bb6583eaec212fdf162000a44640100000000026401000000009004565b1115620012095773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011ff6040805190810160405280600c81526020017f6574685f726f707374656e3300000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200123973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e62000a44640100000000026401000000009004565b1115620012ee5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620012e46040805190810160405280600981526020017f6574685f6b6f76616e00000000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200131e73146500cfd35b22e4a392fe0adc06de1a1368ed4862000a44640100000000026401000000009004565b1115620013d35773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620013c96040805190810160405280600b81526020017f6574685f72696e6b6562790000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b600062001403736f485c8bf6fc43ea212e93bbf8ce046c7f1cb47562000a44640100000000026401000000009004565b11156200146957736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b6000620014997320e12a1f859b3feae5fb2a0a32c18f5a65555bbf62000a44640100000000026401000000009004565b1115620014ff577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b60006200152f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa62000a44640100000000026401000000009004565b111562001595577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b600090505b90565b8060139080519060200190620015b5929190620015b9565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620015fc57805160ff19168380011785556200162d565b828001600101855582156200162d579182015b828111156200162c5782518255916020019190600101906200160f565b5b5090506200163c919062001640565b5090565b6200166591905b808211156200166157600081600090555060010162001647565b5090565b90565b613fe880620016786000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a72305820a52ccf48e4f2c6de7aa2cc11611e9627242651c5eabcc2d8d6ba2fde0bc057ba0029", - "deployedBytecode": "0x60806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a72305820a52ccf48e4f2c6de7aa2cc11611e9627242651c5eabcc2d8d6ba2fde0bc057ba0029", + "bytecode": "0x60806040526000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200566038038062005660833981018060405281019080805182019291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919091908260a0018051820192919060200180518201929190505050878787878787336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384281dcc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200027557600080fd5b505af11580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b81019080805190602001909291905050501515620002be57600080fd5b806000600581101515620002ce57fe5b6020020151600781905550806001600581101515620002e957fe5b60200201516006819055506007546006541115156200030757600080fd5b8060026005811015156200031757fe5b60200201516008819055508060036005811015156200033257fe5b60200201516009819055508060046005811015156200034d57fe5b6020020151600a8190555042600a541115156200036957600080fd5b856004908051906020019062000381929190620015b9565b5082600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200046b60017f01000000000000000000000000000000000000000000000000000000000000000260107f01000000000000000000000000000000000000000000000000000000000000000217620004db640100000000026401000000009004565b816014908051906020019062000483929190620015b9565b5080601590805190602001906200049c929190620015b9565b50624f1a0042600a540311151515620004b457600080fd5b620004cd62000893640100000000026401000000009004565b505050505050505062001668565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806200055e575060006200055c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000581576200057f600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200060857600080fd5b505af11580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515620007a157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200072357600080fd5b505af115801562000738573d6000803e3d6000fd5b505050506040513d60208110156200074f57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663688dcfd7826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050600060405180830381600087803b1580156200087757600080fd5b505af11580156200088c573d6000803e3d6000fd5b5050505050565b6000620009f3600a5460148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009365780601f106200090a5761010080835404028352916020019162000936565b820191906000526020600020905b8154815290600101906020018083116200091857829003601f168201915b505050505060158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620009d55780601f10620009a957610100808354040283529160200191620009d5565b820191906000526020600020905b815481529060010190602001808311620009b757829003601f168201915b5050505050620249f062000a71640100000000026401000000009004565b9050600060010281600019161415151562000a0d57600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813b9050919050565b600062000a6a6200103e640100000000026401000000009004565b9050919050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148062000af75750600062000af5601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000a44640100000000026401000000009004565b145b1562000b1a5762000b18600062000a4f640100000000026401000000009004565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000ba157600080fd5b505af115801562000bb6573d6000803e3d6000fd5b505050506040513d602081101562000bcd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151562000d3a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562000cbc57600080fd5b505af115801562000cd1573d6000803e3d6000fd5b505050506040513d602081101562000ce857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101562000ded57808201518184015260208101905062000dd0565b50505050905090810190601f16801562000e1b5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801562000e3c57600080fd5b505af115801562000e51573d6000803e3d6000fd5b505050506040513d602081101562000e6857600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f82888888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101562000f3b57808201518184015260208101905062000f1e565b50505050905090810190601f16801562000f695780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101562000fa457808201518184015260208101905062000f87565b50505050905090810190601f16801562000fd25780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801562000ff557600080fd5b505af11580156200100a573d6000803e3d6000fd5b50505050506040513d60208110156200102257600080fd5b8101908080519060200190929190505050915050949350505050565b6000806200106f731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed62000a44640100000000026401000000009004565b11156200112457731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200111a6040805190810160405280600b81526020017f6574685f6d61696e6e65740000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200115473c03a2615d5efaf5f49f60b7bb6583eaec212fdf162000a44640100000000026401000000009004565b1115620012095773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011ff6040805190810160405280600c81526020017f6574685f726f707374656e3300000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200123973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e62000a44640100000000026401000000009004565b1115620012ee5773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620012e46040805190810160405280600981526020017f6574685f6b6f76616e00000000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b60006200131e73146500cfd35b22e4a392fe0adc06de1a1368ed4862000a44640100000000026401000000009004565b1115620013d35773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620013c96040805190810160405280600b81526020017f6574685f72696e6b6562790000000000000000000000000000000000000000008152506200159d640100000000026401000000009004565b600190506200159a565b600062001403736f485c8bf6fc43ea212e93bbf8ce046c7f1cb47562000a44640100000000026401000000009004565b11156200146957736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b6000620014997320e12a1f859b3feae5fb2a0a32c18f5a65555bbf62000a44640100000000026401000000009004565b1115620014ff577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b60006200152f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa62000a44640100000000026401000000009004565b111562001595577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506200159a565b600090505b90565b8060139080519060200190620015b5929190620015b9565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620015fc57805160ff19168380011785556200162d565b828001600101855582156200162d579182015b828111156200162c5782518255916020019190600101906200160f565b5b5090506200163c919062001640565b5090565b6200166591905b808211156200166157600081600090555060010162001647565b5090565b90565b613fe880620016786000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a723058202e1b0d544d6f26cab5c2c3d7c2434937ee68fcc2580418f20a2edf6a5f044a7e0029", + "deployedBytecode": "0x60806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f14610164578063053f14da146101bb5780630c8eb675146101e657806327dc297e146102765780632fed1b00146102ed578063323bb775146103185780633270bb5b1461036f57806338bbfa501461039e5780633b3c4ae91461045b578063411449bb1461048a5780634c258eb1146104b557806356357d91146104fa5780635ea7867a1461058a578063614d08f81461061a5780636db7f77c146106aa578063798ddbc8146106b4578063930a9d921461070b578063a8e77c9a14610793578063b5471dee146107ea578063bb4b573414610815578063c201293b14610840578063c32b1dfa14610883578063ca361d67146108ae578063d514d12c146108d9578063f348e8b214610930578063fa3fa1961461095b578063fc51b9c51461099e575b600080fd5b34801561017057600080fd5b506101796109fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101d0610a22565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a28565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102eb6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac6565b005b3480156102f957600080fd5b50610302610b09565b6040518082815260200191505060405180910390f35b34801561032457600080fd5b5061032d610b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037b57600080fd5b50610384610b35565b604051808215151515815260200191505060405180910390f35b3480156103aa57600080fd5b506104596004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b48565b005b34801561046757600080fd5b50610470610cba565b604051808215151515815260200191505060405180910390f35b34801561049657600080fd5b5061049f610ccd565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050610cd4565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610cf1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054f578082015181840152602081019050610534565b50505050905090810190601f16801561057c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059657600080fd5b5061059f610d8f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105df5780820151818401526020810190506105c4565b50505050905090810190601f16801561060c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062657600080fd5b5061062f610e2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561066f578082015181840152602081019050610654565b50505050905090810190601f16801561069c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106b2610ecb565b005b3480156106c057600080fd5b506106c9611119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071757600080fd5b5061077d600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190803560ff1690602001909291908035600019169060200190929190803560001916906020019092919050505061113f565b6040518082815260200191505060405180910390f35b34801561079f57600080fd5b506107a8611b0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f657600080fd5b506107ff611b35565b6040518082815260200191505060405180910390f35b34801561082157600080fd5b5061082a611b3b565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b50610881600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b41565b005b34801561088f57600080fd5b50610898611d8f565b6040518082815260200191505060405180910390f35b3480156108ba57600080fd5b506108c3611d95565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee611d9b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093c57600080fd5b50610945611dc1565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b5061099c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc7565b005b3480156109aa57600080fd5b506109e7600480360381019080806060019091929192908060a0019091929192908035906020019092919080359060200190929190505050611f1c565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505081565b610b05828260006040519080825280601f01601f191660200182016040528015610aff5781602001602082028038833980820191505090505b50610b48565b5050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b610b506121a0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8957600080fd5b60176000846000191660001916815260200190815260200160002060009054906101000a900460ff161515610bbd57600080fd5b8160169080519060200190610bd3929190613e85565b50610be082600854612502565b600b819055507f3e19f2256bddc30aeab8054ccbd86723452d07f687b94441de69c05ee212dafa826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c48578082015181840152602081019050610c2d565b50505050905090810190601f168015610c755780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610c8a6127f6565b60176000846000191660001916815260200190815260200160002060006101000a81549060ff0219169055505050565b600d60019054906101000a900460ff1681565b620249f081565b6000610cea82600f6128c690919063ffffffff16565b9050919050565b60148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d875780601f10610d5c57610100808354040283529160200191610d87565b820191906000526020600020905b815481529060010190602001808311610d6a57829003601f168201915b505050505081565b60158054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e255780601f10610dfa57610100808354040283529160200191610e25565b820191906000526020600020905b815481529060010190602001808311610e0857829003601f168201915b505050505081565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ec35780601f10610e9857610100808354040283529160200191610ec3565b820191906000526020600020905b815481529060010190602001808311610ea657829003601f168201915b505050505081565b600080610f7560148054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b5050505050620249f061291d565b9150813410151515610f8657600080fd5b6110c860148054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101f5780601f10610ff45761010080835404028352916020019161101f565b820191906000526020600020905b81548152906001019060200180831161100257829003601f168201915b505050505060158054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110ba5780601f1061108f576101008083540402835291602001916110ba565b820191906000526020600020905b81548152906001019060200180831161109d57829003601f168201915b5050505050620249f0612cfa565b905060006001028160001916141515156110e157600080fd5b600160176000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611149613f05565b6000806000806000600d60019054906101000a900460ff16801561117a5750600d60009054906101000a900460ff16155b151561118557600080fd5b60008c14158015611197575060008b14155b80156111b257506111b18b8d61328d90919063ffffffff16565b5b15156111bd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f30336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b505050506040513d60208110156112d857600080fd5b810190808051906020019092919050505015156112f457600080fd5b61136b8e600380602002604051908101604052809291908260036020028082843782019150505050508e600580602002604051908101604052809291908260056020028082843782019150505050508e3073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b9550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cfab472f3088600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b810190808051906020019092919050505015156114a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16148061151657503373ffffffffffffffffffffffffffffffffffffffff16866020015173ffffffffffffffffffffffffffffffffffffffff16145b151561152157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415801561159257503373ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614155b151561159d57600080fd5b856000015173ffffffffffffffffffffffffffffffffffffffff1673__OrderLib______________________________638163681e90918861010001518d8d8d6040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019550505050505060206040518083038186803b15801561169357600080fd5b505af41580156116a7573d6000803e3d6000fd5b505050506040513d60208110156116bd57600080fd5b810190808051906020019092919050505015156116d957600080fd5b8560c00151421015156117325785610100015160001916600060018111156116fd57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b611752611743876101000151610cd4565b8d61343990919063ffffffff16565b945060008514156117a8578561010001516000191660018081111561177357fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009650611afe565b6117b2858c613450565b9650600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eeaba0838760000151338a8a60a001516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b505050506118f086610100015188600f6134799092919063ffffffff16565b6000935060009250600073ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16141515611a455761193b876134cf565b9150611946876134cf565b90506000866060015111156119c85761196e828288606001516134ed9092919063ffffffff16565b93506119c78660000151876040015186600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b600086608001511115611a44576119ee828288608001516134ed9092919063ffffffff16565b9250611a4333876040015185600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661350d909392919063ffffffff16565b5b5b856040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16876000015173ffffffffffffffffffffffffffffffffffffffff167ff756998387aae83a81d5053664c1ed50a128ecd4e82cc2e135b5a2f367841f598a88888c60a001518d61010001516040518086815260200185815260200184815260200183815260200182600019166000191681526020019550505050505060405180910390a48696505b505050505050979650505050505050565b600d60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9d57600080fd5b600d60019054906101000a900460ff16151515611bb957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bf557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637bb55cd26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515611d3057600080fd5b80600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60016101000a81548160ff02191690831515021790555050565b60075481565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e5e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1660405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f26613f05565b6000808414158015611f475750611f46858561328d90919063ffffffff16565b5b1515611f5257600080fd5b600d60009054906101000a900460ff16151515611f6e57600080fd5b611fe587600380602002604051908101604052809291908260036020028082843782019150505050508760058060200260405190810160405280929190826005602002808284378201915050505050873073ffffffffffffffffffffffffffffffffffffffff166132a7909392919063ffffffff16565b91503373ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614151561202557600080fd5b8160c001514210151561207e57816101000151600019166000600181111561204957fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b61209e61208f836101000151610cd4565b8661343990919063ffffffff16565b905060008114156120f457816101000151600019166001808111156120bf57fe5b7fe6104340582083fe7674a149f8da127b9d3d7f74a88ccd7610562eb5b61b919360405160405180910390a360009250612196565b6120fe8482613450565b925061211b82610100015184600f61362d9092919063ffffffff16565b81610100015160001916826040015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167f7de4479e80e82e22edb1e0010433c8befc804c34988024fa0b0234715102cd8f866040518082815260200191505060405180910390a48292505b5050949350505050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061221257506000612210601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b1561222357612221600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050506040513d60208110156122d357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561243c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123c057600080fd5b505af11580156123d4573d6000803e3d6000fd5b505050506040513d60208110156123ea57600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c281d19e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124c257600080fd5b505af11580156124d6573d6000803e3d6000fd5b505050506040513d60208110156124ec57600080fd5b8101908080519060200190929190505050905090565b6000606060008060008693506000925060009150600090505b83518110156127d75760307f010000000000000000000000000000000000000000000000000000000000000002848281518110151561255657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561266e575060397f01000000000000000000000000000000000000000000000000000000000000000284828151811015156125fe57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1561271f578115612691576000861415612687576127d7565b8580600190039650505b600a83029250603084828151811015156126a757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900403830192506127ca565b602e7f010000000000000000000000000000000000000000000000000000000000000002848281518110151561275157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156127c957600191505b5b808060010191505061251b565b60008611156127e95785600a0a830292505b8294505050505092915050565b6000600d60009054906101000a900460ff1615612812576128c3565b600a54421115612841576001600d60006101000a81548160ff021916908315150217905550600b5490506128a3565b600654600b54101515612873576001600d60006101000a81548160ff02191690831515021790555060065490506128a2565b600754600b541115156128a1576001600d60006101000a81548160ff02191690831515021790555060075490505b5b5b600d60009054906101000a900460ff16156128c2576128c18161369f565b5b5b50565b60006129158360010160008460001916600019168152602001908152602001600020548460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b905092915050565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061298f5750600061298d601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b156129a05761299e600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d6020811015612a5057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612bb957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b3d57600080fd5b505af1158015612b51573d6000803e3d6000fd5b505050506040513d6020811015612b6757600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c6a578082015181840152602081019050612c4f565b50505050905090810190601f168015612c975780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b158015612cb757600080fd5b505af1158015612ccb573d6000803e3d6000fd5b505050506040513d6020811015612ce157600080fd5b8101908080519060200190929190505050905092915050565b6000806000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612d6e57506000612d6c601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613683565b145b15612d7f57612d7d600061368e565b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e0557600080fd5b505af1158015612e19573d6000803e3d6000fd5b505050506040513d6020811015612e2f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612f9857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d6020811015612f4657600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632ef3accc86856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561304957808201518184015260208101905061302e565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561309657600080fd5b505af11580156130aa573d6000803e3d6000fd5b505050506040513d60208110156130c057600080fd5b81019080805190602001909291905050509050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c51be90f8260008888886040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015613192578082015181840152602081019050613177565b50505050905090810190601f1680156131bf5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156131f85780820151818401526020810190506131dd565b50505050905090810190601f1680156132255780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561324757600080fd5b505af115801561325b573d6000803e3d6000fd5b50505050506040513d602081101561327257600080fd5b81019080805190602001909291905050509150509392505050565b60008183148061329f57506000828402135b905092915050565b6132af613f05565b8360006003811015156132be57fe5b6020020151816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600160038110151561330957fe5b6020020151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083600260038110151561335457fe5b6020020151816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082600060058110151561339f57fe5b60200201518160600181815250508260016005811015156133bc57fe5b60200201518160800181815250508260026005811015156133d957fe5b60200201518160a00181815250508260036005811015156133f657fe5b60200201518160c0018181525050818160e001818152505061341a85858585613748565b8161010001906000191690816000191681525050809050949350505050565b600061344883836000036136e0565b905092915050565b600061345b826134cf565b613464846134cf565b1061346f5781613471565b825b905092915050565b6134a9818460000160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836000016000846000191660001916815260200190815260200160002081905550505050565b6000808212156134e4578160000390506134e8565b8190505b919050565b6000816134fa85856139a2565b81151561350357fe5b0490509392505050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156135e457600080fd5b505af11580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b8101908080519060200190929190505050151561362757fe5b50505050565b61365d818460010160008560001916600019168152602001908152602001600020546136e090919063ffffffff16565b836001016000846000191660001916815260200190815260200160002081905550505050565b6000813b9050919050565b60006136986139d5565b9050919050565b80600c819055507f68170b705528d3ff1d324cda28eb28cc3d11ce81207f157c05e11c18411a013c816040518082815260200191505060405180910390a150565b60008082840190506136f2848461328d565b151561370057809150613741565b600084121515613726578360ff60019060020a021903831315151561372157fe5b61373d565b8360ff60019060020a0203831215151561373c57fe5b5b8091505b5092915050565b60008484600060038110151561375a57fe5b602002015185600160038110151561376e57fe5b602002015186600260038110151561378257fe5b602002015186600060058110151561379657fe5b60200201518760016005811015156137aa57fe5b60200201518860026005811015156137be57fe5b60200201518960036005811015156137d257fe5b60200201518a60046005811015156137e657fe5b60200201518a604051602001808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018781526020018681526020018581526020018481526020018381526020018281526020019a50505050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561396b5780518252602082019150602081019050602083039250613946565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050949350505050565b600080828402905060008414806139c357508284828115156139c057fe5b04145b15156139cb57fe5b8091505092915050565b6000806139f5731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed613683565b1115613a9757731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e6040805190810160405280600b81526020017f6574685f6d61696e6e6574000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613ab673c03a2615d5efaf5f49f60b7bb6583eaec212fdf1613683565b1115613b585773c03a2615d5efaf5f49f60b7bb6583eaec212fdf1601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b4f6040805190810160405280600c81526020017f6574685f726f707374656e330000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613b7773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e613683565b1115613c195773b7a07bcf2ba2f2703b24c0691b5278999c59ac7e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c106040805190810160405280600981526020017f6574685f6b6f76616e0000000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613c3873146500cfd35b22e4a392fe0adc06de1a1368ed48613683565b1115613cda5773146500cfd35b22e4a392fe0adc06de1a1368ed48601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613cd16040805190810160405280600b81526020017f6574685f72696e6b656279000000000000000000000000000000000000000000815250613e6b565b60019050613e68565b6000613cf9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475613683565b1115613d5d57736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613d7c7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf613683565b1115613de0577320e12a1f859b3feae5fb2a0a32c18f5a65555bbf601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b6000613dff7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa613683565b1115613e63577351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050613e68565b600090505b90565b8060139080519060200190613e81929190613e85565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ec657805160ff1916838001178555613ef4565b82800160010185558215613ef4579182015b82811115613ef3578251825591602001919060010190613ed8565b5b509050613f019190613f97565b5090565b61012060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b613fb991905b80821115613fb5576000816000905550600101613f9d565b5090565b905600a165627a7a723058202e1b0d544d6f26cab5c2c3d7c2434937ee68fcc2580418f20a2edf6a5f044a7e0029", "sourceMap": "875:5632:13:-;;;2308:5:3;2284:29;;;;;;;;;;;;;;;;;;;;2364:5;2319:50;;;;;;;;;;;;;;;;;;;;2601:1060:13;8:9:-1;5:2;;;30:1;27;20:12;5:2;2601:1060:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2918:12;2940:14;2964:18;2992:22;3024:28;3062:13;1017:10:0;1007:7;;:20;;;;;;;;;;;;;;;;;;4580:28:3;4546:31;;:62;;;;;;;;;;;;;;;;;;4638:18;4618:17;;:38;;;;;;;;;;;;;;;;;;4690:18;4666:9;;:43;;;;;;;;;;;;;;;;;;4727:9;;;;;;;;;;;:48;;;4776:10;4727:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4727:60:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4727:60:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4727:60:3;;;;;;;;;;;;;;;;4719:69;;;;;;;;4845:13;4859:1;4845:16;;;;;;;;;;;;;4831:11;:30;;;;4883:13;4897:1;4883:16;;;;;;;;;;;;;4871:9;:28;;;;4929:11;;4917:9;;:23;4909:32;;;;;;;;4975:13;4989:1;4975:16;;;;;;;;;;;;;4952:20;:39;;;;5018:13;5032:1;5018:16;;;;;;;;;;;;;5001:14;:33;;;;5057:13;5071:1;5057:16;;;;;;;;;;;;;5044:10;:29;;;;5104:3;5091:10;;:16;5083:25;;;;;;;;5135:12;5119:13;:28;;;;;;;;;;;;:::i;:::-;;5184:22;5157:24;;:49;;;;;;;;;;;;;;;;;;5226:14;5216:7;;:24;;;;;;;;;;;;;;;;;;4293:954;;;;;;3104:58:13;1928:4:17;3144:17:13;;1884:4:17;3122:19:13;;:39;3104:17;;;:58;;;:::i;:::-;3303:16;3282:18;:37;;;;;;;;;;;;:::i;:::-;;3344:11;3329:12;:26;;;;;;;;;;;;:::i;:::-;;3544:7;3537:3;3524:10;;:16;:27;;3516:36;;;;;;;;3562:13;:11;;;:13;;;:::i;:::-;2601:1060;;;;;;;;875:5632;;6602:114:17;2254:1;2248:3;;;;;;;;;;;2240:15;;;2239:49;;;;2286:1;2259:25;2279:3;;;;;;;;;;;2259:11;;;:25;;;:::i;:::-;:28;2239:49;2236:101;;;2302:35;1970:1;2302:19;;;:35;;;:::i;:::-;;2236:101;2372:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2372:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2372:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:16:17;;;;;;;;;;;;;;;;2351:37;;2359:8;;;;;;;;;;;2351:37;;;;2348:92;;;2423:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2423:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2423:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2423:16:17;;;;;;;;;;;;;;;;2402:8;;:38;;;;;;;;;;;;;;;;;;2348:92;6680:8;;;;;;;;;;;:21;;;6702:6;6680:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6680:29:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6680:29:17;;;;6602:114;:::o;5573:932:13:-;6272:15;6290:138;6318:10;;6342:18;6290:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6374:12;6290:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1104:6;6290:14;;;:138;;;:::i;:::-;6272:156;;6457:1;6446:12;;:7;:12;;;;;6438:21;;;;;;;;6494:4;6469:13;:22;6483:7;6469:22;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;5573:932;:::o;6858:150:17:-;6920:10;6986:5;6974:18;6965:27;;6951:51;;;:::o;2564:183::-;2627:4;2647:21;:19;;;:21;;;:::i;:::-;2640:28;;2564:183;;;:::o;5732:383::-;5848:10;5869;2254:1;2248:3;;;;;;;;;;;2240:15;;;2239:49;;;;2286:1;2259:25;2279:3;;;;;;;;;;;2259:11;;;:25;;;:::i;:::-;:28;2239:49;2236:101;;;2302:35;1970:1;2302:19;;;:35;;;:::i;:::-;;2236:101;2372:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2372:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2372:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:16:17;;;;;;;;;;;;;;;;2351:37;;2359:8;;;;;;;;;;;2351:37;;;;2348:92;;;2423:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2423:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2423:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2423:16:17;;;;;;;;;;;;;;;;2402:8;;:38;;;;;;;;;;;;;;;;;;2348:92;5882:8;;;;;;;;;;;:17;;;5900:10;5912:8;5882:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5882:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5882:39:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5882:39:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5882:39:17;;;;;;;;;;;;;;;;5869:52;;6030:8;;;;;;;;;;;:27;;;6064:5;6071:9;6082:10;6094:3;6099:8;6030:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6030:78:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6030:78:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6030:78:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6030:78:17;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6030:78:17;;;;;;;;;;;;;;;;6023:85;;5732:383;;;;;;;:::o;2752:1749::-;2800:4;2875:1;2819:55;2831:42;2819:11;;;:55;;;:::i;:::-;:57;2815:245;;;2929:42;2901:3;;:71;;;;;;;;;;;;;;;;;;2986:38;;;;;;;;;;;;;;;;;;;:23;;;:38;;;:::i;:::-;3045:4;3038:11;;;;2815:245;3129:1;3073:55;3085:42;3073:11;;;:55;;;:::i;:::-;:57;3069:254;;;3191:42;3163:3;;:71;;;;;;;;;;;;;;;;;;3248:39;;;;;;;;;;;;;;;;;;;:23;;;:39;;;:::i;:::-;3308:4;3301:11;;;;3069:254;3392:1;3336:55;3348:42;3336:11;;;:55;;;:::i;:::-;:57;3332:249;;;3452:42;3424:3;;:71;;;;;;;;;;;;;;;;;;3509:36;;;;;;;;;;;;;;;;;;;:23;;;:36;;;:::i;:::-;3566:4;3559:11;;;;3332:249;3650:1;3594:55;3606:42;3594:11;;;:55;;;:::i;:::-;:57;3590:253;;;3712:42;3684:3;;:71;;;;;;;;;;;;;;;;;;3769:38;;;;;;;;;;;;;;;;;;;:23;;;:38;;;:::i;:::-;3828:4;3821:11;;;;3590:253;3912:1;3856:55;3868:42;3856:11;;;:55;;;:::i;:::-;:57;3852:201;;;3974:42;3946:3;;:71;;;;;;;;;;;;;;;;;;4038:4;4031:11;;;;3852:201;4122:1;4066:55;4078:42;4066:11;;;:55;;;:::i;:::-;:57;4062:200;;;4183:42;4155:3;;:71;;;;;;;;;;;;;;;;;;4247:4;4240:11;;;;4062:200;4331:1;4275:55;4287:42;4275:11;;;:55;;;:::i;:::-;:57;4271:202;;;4394:42;4366:3;;:71;;;;;;;;;;;;;;;;;;4458:4;4451:11;;;;4271:202;4489:5;4482:12;;2752:1749;;:::o;7645:118::-;7743:13;7719:21;:37;;;;;;;;;;;;:::i;:::-;;7645:118;:::o;875:5632:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", "deployedSourceMap": "875:5632:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;947:22:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;947:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2224:21:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2224:21:3;;;;;;;;;;;;;;;;;;;;;;;1251:34:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1251:34:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1251:34:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4507:111:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4507:111:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1935:32:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1935:32:3;;;;;;;;;;;;;;;;;;;;;;;1834:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1834:39:3;;;;;;;;;;;;;;;;;;;;;;;;;;;2284:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2284:29:3;;;;;;;;;;;;;;;;;;;;;;;;;;;4930:528:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4930:528:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2319:50:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2319:50:3;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:48:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1062:48:13;;;;;;;;;;;;;;;;;;;;;;;12629:168:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12629:168:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;992:32:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;992:32:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;992:32:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1030:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1030:26:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1030:26:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1801:27:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1801:27:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1801:27:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4051:599:13;;;;;;1734:32:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1734:32:3;;;;;;;;;;;;;;;;;;;;;;;;;;;5771:2986;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5771:2986:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2394:45:3;;;;;;;;;;;;;;;;;;;;;;;;;;;1879:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1879:21:3;;;;;;;;;;;;;;;;;;;;;;;2172:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2172:22:3;;;;;;;;;;;;;;;;;;;;;;;10874:540;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10874:540:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1906:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1906:23:3;;;;;;;;;;;;;;;;;;;;;;;2047:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2047:26:3;;;;;;;;;;;;;;;;;;;;;;;1682:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1682:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;2251:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2251:27:3;;;;;;;;;;;;;;;;;;;;;;;1131:198:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9228:1354:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9228:1354:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;947:22:0;;;;;;;;;;;;;:::o;2224:21:3:-;;;;:::o;1251:34:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4507:111:17:-;4573:38;4584:4;4590:6;4608:1;4598:12;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4598:12:17;;;;4573:10;:38::i;:::-;4507:111;;:::o;1935:32:3:-;;;;:::o;1834:39::-;;;;;;;;;;;;;:::o;2284:29::-;;;;;;;;;;;;;:::o;4930:528:13:-;5034:20;:18;:20::i;:::-;5020:34;;:10;:34;;;5012:43;;;;;;;;5073:13;:22;5087:7;5073:22;;;;;;;;;;;;;;;;;;;;;;;;;;;5065:31;;;;;;;;5168:6;5145:20;:29;;;;;;;;;;;;:::i;:::-;;5196:38;5205:6;5213:20;;5196:8;:38::i;:::-;5184:9;:50;;;;5249:24;5266:6;5249:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5249:24:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5283:17;:15;:17::i;:::-;5384:13;:22;5398:7;5384:22;;;;;;;;;;;;;;;;;;5377:29;;;;;;;;;;;4930:528;;;:::o;2319:50:3:-;;;;;;;;;;;;;:::o;1062:48:13:-;1104:6;1062:48;:::o;12629:168:3:-;12711:3;12733:57;12780:9;12733:13;:46;;:57;;;;:::i;:::-;12726:64;;12629:168;;;:::o;992:32:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1030:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1801:27:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4051:599:13:-;4112:9;4441:15;4124:57;4142:18;4124:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1104:6;4124:17;:57::i;:::-;4112:69;;4212:4;4199:9;:17;;4191:26;;;;;;;;4459:114;4487:18;4459:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4519:12;4459:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1104:6;4459:14;:114::i;:::-;4441:132;;4602:1;4591:12;;:7;:12;;;;;4583:21;;;;;;;;4639:4;4614:13;:22;4628:7;4614:22;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;4051:599;;:::o;1734:32:3:-;;;;;;;;;;;;;:::o;5771:2986::-;5987:13;6297:27;;:::i;:::-;7033:16;7591:17;7622;7759;7808:16;6024:30;;;;;;;;;;;:44;;;;;6059:9;;;;;;;;;;;6058:10;6024:44;6016:53;;;;;;;;6129:1;6117:8;:13;;:31;;;;;6147:1;6134:9;:14;;6117:31;:65;;;;;6152:30;6172:9;6152:8;:19;;:30;;;;:::i;:::-;6117:65;6109:74;;;;;;;;6234:9;;;;;;;;;;;:34;;;6269:4;6275:10;6234:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6234:52:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6234:52:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6234:52:3;;;;;;;;;;;;;;;;6226:61;;;;;;;;6327:72;6353:14;6327:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6369:19;6327:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6390:8;6335:4;6327:25;;;;:72;;;;;;:::i;:::-;6297:102;;6417:9;;;;;;;;;;;:34;;;6452:4;6458:5;:11;;;6417:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6417:53:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6417:53:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6417:53:3;;;;;;;;;;;;;;;;6409:62;;;;;;;;6573:1;6550:25;;:5;:11;;;:25;;;:54;;;;6594:10;6579:25;;:5;:11;;;:25;;;6550:54;6542:63;;;;;;;;6681:1;6658:25;;:5;:11;;;:25;;;;:54;;;;;6702:10;6687:25;;:5;:11;;;:25;;;;6658:54;6650:63;;;;;;;;6744:5;:11;;;:28;;;;;;6790:5;:15;;;6823:1;6842;6861;6744:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6744:128:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6744:128:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6744:128:3;;;;;;;;;;;;;;;;6723:150;;;;;;;;6896:5;:25;;;6889:3;:32;;6885:138;;;6974:5;:15;;;6942:48;;;6948:24;6942:48;;;;;;;;;;;;;;;;;;7011:1;7004:8;;;;6885:138;7052:68;7070:49;7103:5;:15;;;7070:32;:49::i;:::-;7052:8;:17;;:68;;;;:::i;:::-;7033:87;;7150:1;7134:12;:17;7130:165;;;7246:5;:15;;;7217:45;;;7223:21;7217:45;;;;;;;;;;;;;;;;;;7283:1;7276:8;;;;7130:165;7317:39;7332:12;7346:9;7317:14;:39::i;:::-;7305:51;;7366:20;;;;;;;;;;;:36;;;7416:5;:11;;;7441:10;7465:9;7488:5;:11;;;7366:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7366:143:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7366:143:3;;;;7519:61;7553:5;:15;;;7570:9;7519:13;:33;;:61;;;;;:::i;:::-;7611:1;7591:21;;7642:1;7622:21;;7688:1;7658:32;;:5;:18;;;:32;;;;7654:823;;;7779:15;:9;:13;:15::i;:::-;7759:35;;7827:15;:9;:13;:15::i;:::-;7808:34;;7877:1;7860:5;:14;;;:18;7856:299;;;7913:58;7945:12;7959:11;7913:5;:14;;;:31;;:58;;;;;:::i;:::-;7898:73;;7989:151;8037:5;:11;;;8070:5;:18;;;8110:12;7989:9;;;;;;;;;;;:26;;;;:151;;;;;;:::i;:::-;7856:299;8190:1;8173:5;:14;;;:18;8169:298;;;8226:58;8258:12;8272:11;8226:5;:14;;;:31;;:58;;;;;:::i;:::-;8211:73;;8302:150;8350:10;8382:5;:18;;;8422:12;8302:9;;;;;;;;;;;:26;;;;:150;;;;;;:::i;:::-;8169:298;7654:823;8566:5;:18;;;8492:231;;8542:10;8492:231;;8517:5;:11;;;8492:231;;;8598:9;8621:12;8647;8673:5;:11;;;8698:5;:15;;;8492:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8741:9;8734:16;;5771:2986;;;;;;;;;;;;;;;;:::o;2394:45::-;;;;;;;;;;;;;:::o;1879:21::-;;;;:::o;2172:22::-;;;;:::o;10874:540::-;14315:31;;;;;;;;;;;14301:45;;:10;:45;;;14293:54;;;;;;;;10977:30;;;;;;;;;;;10976:31;10968:40;;;;;;;;11088:1;11065:25;;:11;:25;;;;11057:34;;;;;;;;11189:11;11145:20;;:56;;;;;;;;;;;;;;;;;;11267:4;11219:53;;:20;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11219:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11219:36:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11219:36:3;;;;;;;;;;;;;;;;:53;;;11211:62;;;;;;;;11349:11;11316:30;;:44;;;;;;;;;;;;;;;;;;11403:4;11370:30;;:37;;;;;;;;;;;;;;;;;;10874:540;:::o;1906:23::-;;;;:::o;2047:26::-;;;;:::o;1682:46::-;;;;;;;;;;;;;:::o;2251:27::-;;;;:::o;1131:198:0:-;1390:7;;;;;;;;;;;1376:21;;:10;:21;;;1368:30;;;;;;;;1235:1;1213:24;;:10;:24;;;;1205:33;;;;;;;;1281:10;1253:39;;1272:7;;;;;;;;;;;1253:39;;;;;;;;;;;;1312:10;1302:7;;:20;;;;;;;;;;;;;;;;;;1131:198;:::o;9228:1354:3:-;9392:16;9569:27;;:::i;:::-;9944:16;9447:1;9432:11;:16;;:52;;;;;9452:32;9475:8;9452:11;:22;;:32;;;;:::i;:::-;9432:52;9424:61;;;;;;;;9549:9;;;;;;;;;;;9548:10;9540:19;;;;;;;;9599:72;9625:14;9599:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9641:19;9599:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9662:8;9607:4;9599:25;;;;:72;;;;;;:::i;:::-;9569:102;;9704:10;9689:25;;:5;:11;;;:25;;;9681:34;;;;;;;;9807:5;:25;;;9800:3;:32;;9796:138;;;9885:5;:15;;;9853:48;;;9859:24;9853:48;;;;;;;;;;;;;;;;;;9922:1;9915:8;;;;9796:138;9963:68;9981:49;10014:5;:15;;;9981:32;:49::i;:::-;9963:8;:17;;:68;;;;:::i;:::-;9944:87;;10061:1;10045:12;:17;10041:173;;;10165:5;:15;;;10136:45;;;10142:21;10136:45;;;;;;;;;;;;;;;;;;10202:1;10195:8;;;;10041:173;10239:41;10254:11;10267:12;10239:14;:41::i;:::-;10224:56;;10327:67;10364:5;:15;;;10381:12;10327:13;:36;;:67;;;;;:::i;:::-;10520:5;:15;;;10409:136;;;10462:5;:18;;;10409:136;;10437:5;:11;;;10409:136;;;10494:12;10409:136;;;;;;;;;;;;;;;;;;10563:12;10556:19;;9228:1354;;;;;;;;;:::o;6485:112:17:-;6545:7;2254:1;2248:3;;;;;;;;;;;2240:15;;;2239:49;;;;2286:1;2259:25;2279:3;;;;;;;;;;;2259:11;:25::i;:::-;:28;2239:49;2236:101;;;2302:35;1970:1;2302:19;:35::i;:::-;;2236:101;2372:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2372:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2372:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:16:17;;;;;;;;;;;;;;;;2351:37;;2359:8;;;;;;;;;;;2351:37;;;;2348:92;;;2423:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2423:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2423:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2423:16:17;;;;;;;;;;;;;;;;2402:8;;:38;;;;;;;;;;;;;;;;;;2348:92;6570:8;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6570:20:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6570:20:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6570:20:17;;;;;;;;;;;;;;;;6563:27;;6485:112;:::o;7013:593::-;7074:4;7090:20;7132:9;7155:13;7191:6;7119:2;7090:32;;7144:1;7132:13;;7171:5;7155:21;;7198:1;7191:8;;7186:357;7203:7;:14;7201:1;:16;7186:357;;;7256:2;7242:16;;:7;7250:1;7242:10;;;;;;;;;;;;;;;;;;;;:16;;;;;7241:38;;;;;7276:2;7262:16;;:7;7270:1;7262:10;;;;;;;;;;;;;;;;;;;;:16;;;;;7241:38;7237:295;;;7302:8;7298:102;;;7342:1;7336:2;:7;7332:49;;;7345:5;;7332:49;7377:4;;;;;;;;7298:102;7425:2;7417:10;;;;7472:2;7458:7;7466:1;7458:10;;;;;;;;;;;;;;;;;;;;7453:16;;;:21;7445:29;;;;7237:295;;;7513:2;7499:16;;:7;7507:1;7499:10;;;;;;;;;;;;;;;;;;;;:16;;;;7495:37;;;7528:4;7517:15;;7495:37;7237:295;7219:3;;;;;;;7186:357;;;7561:1;7556:2;:6;7552:26;;;7576:2;7572;:6;7564:14;;;;7552:26;7595:4;7588:11;;7013:593;;;;;;;;:::o;13014:851:3:-;13126:23;13064:9;;;;;;;;;;;13060:56;;;13109:7;;13060:56;13169:10;;13163:3;:16;13159:616;;;13288:4;13276:9;;:16;;;;;;;;;;;;;;;;;;13384:9;;13363:30;;13159:616;;;13427:9;;13414;;:22;;13410:365;;;13528:4;13516:9;;:16;;;;;;;;;;;;;;;;;;13567:9;;13546:30;;13410:365;;;13610:11;;13597:9;;:24;;13593:182;;;13714:4;13702:9;;:16;;;;;;;;;;;;;;;;;;13753:11;;13732:32;;13593:182;13410:365;13159:616;13789:9;;;;;;;;;;;13785:74;;;13814:34;13829:18;13814:14;:34::i;:::-;13785:74;13014:851;;:::o;1449:236:10:-;1583:3;1609:69;1644:4;:22;;:33;1667:9;1644:33;;;;;;;;;;;;;;;;;;1609:4;:19;;:30;1629:9;1609:30;;;;;;;;;;;;;;;;;;:34;;:69;;;;:::i;:::-;1602:76;;1449:236;;;;:::o;4915:159:17:-;5006:4;2254:1;2248:3;;;;;;;;;;;2240:15;;;2239:49;;;;2286:1;2259:25;2279:3;;;;;;;;;;;2259:11;:25::i;:::-;:28;2239:49;2236:101;;;2302:35;1970:1;2302:19;:35::i;:::-;;2236:101;2372:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2372:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2372:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:16:17;;;;;;;;;;;;;;;;2351:37;;2359:8;;;;;;;;;;;2351:37;;;;2348:92;;;2423:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2423:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2423:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2423:16:17;;;;;;;;;;;;;;;;2402:8;;:38;;;;;;;;;;;;;;;;;;2348:92;5028:8;;;;;;;;;;;:17;;;5046:10;5058:8;5028:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5028:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5028:39:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5028:39:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5028:39:17;;;;;;;;;;;;;;;;5021:46;;4915:159;;;;:::o;6120:359::-;6220:10;6241;2254:1;2248:3;;;;;;;;;;;2240:15;;;2239:49;;;;2286:1;2259:25;2279:3;;;;;;;;;;;2259:11;:25::i;:::-;:28;2239:49;2236:101;;;2302:35;1970:1;2302:19;:35::i;:::-;;2236:101;2372:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2372:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2372:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:16:17;;;;;;;;;;;;;;;;2351:37;;2359:8;;;;;;;;;;;2351:37;;;;2348:92;;;2423:3;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2423:16:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2423:16:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2423:16:17;;;;;;;;;;;;;;;;2402:8;;:38;;;;;;;;;;;;;;;;;;2348:92;6254:8;;;;;;;;;;;:17;;;6272:10;6284:8;6254:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6254:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6254:39:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6254:39:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6254:39:17;;;;;;;;;;;;;;;;6241:52;;6402:8;;;;;;;;;;;:27;;;6436:5;6443:1;6446:10;6458:3;6463:8;6402:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6402:70:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6402:70:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6402:70:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6402:70:17;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6402:70:17;;;;;;;;;;;;;;;;6395:77;;6120:359;;;;;;:::o;2916:109:9:-;2973:4;3003:1;2998;:6;:19;;;;3016:1;3012;3008;:5;:9;2998:19;2989:29;;2916:109;;;;:::o;3844:752:10:-;4021:11;;:::i;:::-;4062:14;4077:1;4062:17;;;;;;;;;;;;;4048:5;:11;;:31;;;;;;;;;;;4103:14;4118:1;4103:17;;;;;;;;;;;;;4089:5;:11;;:31;;;;;;;;;;;4151:14;4166:1;4151:17;;;;;;;;;;;;;4130:5;:18;;:38;;;;;;;;;;;4195:19;4215:1;4195:22;;;;;;;;;;;;;4178:5;:14;;:39;;;;;4244:19;4264:1;4244:22;;;;;;;;;;;;;4227:5;:14;;:39;;;;;4290:19;4310:1;4290:22;;;;;;;;;;;;;4276:5;:11;;:36;;;;;4350:19;4370:1;4350:22;;;;;;;;;;;;;4322:5;:25;;:50;;;;;4394:8;4382:5;:9;;:20;;;;;4430:137;4459:15;4488:14;4516:19;4549:8;4430:15;:137::i;:::-;4412:5;:15;;:155;;;;;;;;;;;;;4584:5;4577:12;;3844:752;;;;;;:::o;2354:122:9:-;2415:6;2440:10;2444:1;2448;2447:2;;2440:3;:10::i;:::-;2433:17;;2354:122;;;;:::o;3537:115::-;3596:6;3630;3634:1;3630:3;:6::i;:::-;3621;3625:1;3621:3;:6::i;:::-;:15;:24;;3644:1;3621:24;;;3640:1;3621:24;3614:31;;3537:115;;;;:::o;4802:195:10:-;4945:45;4980:9;4945:4;:19;;:30;4965:9;4945:30;;;;;;;;;;;;;;;;;;:34;;:45;;;;:::i;:::-;4912:4;:19;;:30;4932:9;4912:30;;;;;;;;;;;;;;;;;:78;;;;4802:195;;;:::o;3139:167:9:-;3185:7;3212:1;3208;:5;3204:96;;;3242:1;3241:2;;3229:15;;;;3204:96;3287:1;3275:14;;3139:167;;;;:::o;1037:203::-;1167:7;1222:11;1197:22;1206:1;1209:9;1197:8;:22::i;:::-;:36;;;;;;;;1190:43;;1037:203;;;;;:::o;492:169:30:-;620:5;:18;;;639:4;645:2;649:5;620:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;620:35:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;620:35:30;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;620:35:30;;;;;;;;;;;;;;;;613:43;;;;;;492:169;;;;:::o;5191:210:10:-;5343:51;5381:12;5343:4;:22;;:33;5366:9;5343:33;;;;;;;;;;;;;;;;;;:37;;:51;;;;:::i;:::-;5307:4;:22;;:33;5330:9;5307:33;;;;;;;;;;;;;;;;;:87;;;;5191:210;;;:::o;6858:150:17:-;6920:10;6986:5;6974:18;6965:27;;6951:51;;;:::o;2564:183::-;2627:4;2647:21;:19;:21::i;:::-;2640:28;;2564:183;;;:::o;14020:166:3:-;14107:20;14089:15;:38;;;;14142:37;14158:20;14142:37;;;;;;;;;;;;;;;;;;14020:166;:::o;1673:509:9:-;1729:6;1747:8;1762:1;1758;:5;1747:16;;1778;1789:1;1792;1778:10;:16::i;:::-;1777:17;1773:126;;;1887:1;1880:8;;;;1773:126;1918:1;1913;:6;;1909:249;;;2022:1;856:3;850:1;842:17;;;;839:22;2009:14;2004:1;:19;;1997:27;;;;;;1909:249;;;2145:1;792:3;786:1;778:17;;;;2132:14;2127:1;:19;;2120:27;;;;;;1909:249;2174:1;2167:8;;1673:509;;;;;;:::o;2115:643:10:-;2294:7;2381:15;2414:14;2429:1;2414:17;;;;;;;;;;;;;2449:14;2464:1;2449:17;;;;;;;;;;;;;2484:14;2499:1;2484:17;;;;;;;;;;;;;2519:19;2539:1;2519:22;;;;;;;;;;;;;2559:19;2579:1;2559:22;;;;;;;;;;;;;2599:19;2619:1;2599:22;;;;;;;;;;;;;2639:19;2659:1;2639:22;;;;;;;;;;;;;2679:19;2699:1;2679:22;;;;;;;;;;;;;2719:8;2347:394;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2347:394:10;;;2324:427;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;2324:427:10;;;;;;;;;;;;;;;;2317:434;;2115:643;;;;;;:::o;869:162:9:-;932:7;951:9;967:1;963;:5;951:17;;990:1;985;:6;:20;;;;1004:1;999;995;:5;;;;;;;;:10;985:20;978:28;;;;;;1023:1;1016:8;;869:162;;;;;:::o;2752:1749:17:-;2800:4;2875:1;2819:55;2831:42;2819:11;:55::i;:::-;:57;2815:245;;;2929:42;2901:3;;:71;;;;;;;;;;;;;;;;;;2986:38;;;;;;;;;;;;;;;;;;;:23;:38::i;:::-;3045:4;3038:11;;;;2815:245;3129:1;3073:55;3085:42;3073:11;:55::i;:::-;:57;3069:254;;;3191:42;3163:3;;:71;;;;;;;;;;;;;;;;;;3248:39;;;;;;;;;;;;;;;;;;;:23;:39::i;:::-;3308:4;3301:11;;;;3069:254;3392:1;3336:55;3348:42;3336:11;:55::i;:::-;:57;3332:249;;;3452:42;3424:3;;:71;;;;;;;;;;;;;;;;;;3509:36;;;;;;;;;;;;;;;;;;;:23;:36::i;:::-;3566:4;3559:11;;;;3332:249;3650:1;3594:55;3606:42;3594:11;:55::i;:::-;:57;3590:253;;;3712:42;3684:3;;:71;;;;;;;;;;;;;;;;;;3769:38;;;;;;;;;;;;;;;;;;;:23;:38::i;:::-;3828:4;3821:11;;;;3590:253;3912:1;3856:55;3868:42;3856:11;:55::i;:::-;:57;3852:201;;;3974:42;3946:3;;:71;;;;;;;;;;;;;;;;;;4038:4;4031:11;;;;3852:201;4122:1;4066:55;4078:42;4066:11;:55::i;:::-;:57;4062:200;;;4183:42;4155:3;;:71;;;;;;;;;;;;;;;;;;4247:4;4240:11;;;;4062:200;4331:1;4275:55;4287:42;4275:11;:55::i;:::-;:57;4271:202;;;4394:42;4366:3;;:71;;;;;;;;;;;;;;;;;;4458:4;4451:11;;;;4271:202;4489:5;4482:12;;2752:1749;;:::o;7645:118::-;7743:13;7719:21;:37;;;;;;;;;;;;:::i;:::-;;7645:118;:::o;875:5632:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "/*\n Copyright 2017-2018 Phillip A. Elsasser\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\npragma solidity ^0.4.24;\n\nimport \"./oraclizeAPI.sol\";\nimport \"../libraries/MathLib.sol\";\nimport \"../MarketContract.sol\";\n\n\n/// @title MarketContract first example of a MarketProtocol contract using Oraclize services\n/// @author Phil Elsasser \ncontract MarketContractOraclize is MarketContract, usingOraclize {\n using MathLib for uint;\n\n // constants\n string public ORACLE_DATA_SOURCE;\n string public ORACLE_QUERY;\n uint constant public QUERY_CALLBACK_GAS = 150000;\n //uint constant public QUERY_CALLBACK_GAS_PRICE = 20000000000 wei; // 20 gwei - need to make this dynamic!\n\n // state variables\n string public lastPriceQueryResult;\n mapping(bytes32 => bool) validQueryIDs;\n\n /// @param contractName viewable name of this contract (BTC/ETH, LTC/ETH, etc)\n /// @param creatorAddress address of the person creating the contract\n /// @param marketTokenAddress address of our member token\n /// @param collateralTokenAddress address of the ERC20 token that will be used for collateral and pricing\n /// @param collateralPoolFactoryAddress address of the factory creating the collateral pools\n /// @param contractSpecs array of unsigned integers including:\n /// floorPrice minimum tradeable price of this contract, contract enters settlement if breached\n /// capPrice maximum tradeable price of this contract, contract enters settlement if breached\n /// priceDecimalPlaces number of decimal places to convert our queried price from a floating point to\n /// an integer\n /// qtyMultiplier multiply traded qty by this value from base units of collateral token.\n /// expirationTimeStamp - seconds from epoch that this contract expires and enters settlement\n /// @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n /// see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n /// @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples\n constructor(\n string contractName,\n address creatorAddress,\n address marketTokenAddress,\n address collateralTokenAddress,\n address collateralPoolFactoryAddress,\n uint[5] contractSpecs,\n string oracleDataSource,\n string oracleQuery\n ) MarketContract(\n contractName,\n creatorAddress,\n marketTokenAddress,\n collateralTokenAddress,\n collateralPoolFactoryAddress,\n contractSpecs\n ) public\n {\n oraclize_setProof(proofType_TLSNotary | proofStorage_IPFS);\n //oraclize_setCustomGasPrice(QUERY_CALLBACK_GAS_PRICE); //TODO: allow this to be changed by creator.\n ORACLE_DATA_SOURCE = oracleDataSource;\n ORACLE_QUERY = oracleQuery;\n\n // Future timestamp must be within 60 days from now.\n // https://docs.oraclize.it/#ethereum-quick-start-schedule-a-query-in-the-future\n require(EXPIRATION - now <= 60 days);\n queryOracle(); // Schedule a call to oracle at contract expiration time.\n }\n\n /// @notice allows a user to request an extra query to oracle in order to push the contract into\n /// settlement. A user may call this as many times as they like, since they are the ones paying for\n /// the call to our oracle and post processing. This is useful for both a failsafe and as a way to\n /// settle a contract early if a price cap or floor has been breached.\n function requestEarlySettlement() external payable {\n uint cost = oraclize_getPrice(ORACLE_DATA_SOURCE, QUERY_CALLBACK_GAS);\n require(msg.value >= cost); // user must pay enough to cover query and callback\n // create immediate query, we must make sure to store this one separately, so\n // we do not schedule recursive callbacks when the query completes.\n bytes32 queryId = oraclize_query(\n ORACLE_DATA_SOURCE,\n ORACLE_QUERY,\n QUERY_CALLBACK_GAS\n );\n require(queryId != 0);\n validQueryIDs[queryId] = true;\n }\n\n /*\n // PUBLIC METHODS\n */\n\n /// @notice only public for callbacks from oraclize, do not call\n /// @param queryID of the returning query, this should match our own internal mapping\n /// @param result query to be processed\n /// @param proof result proof\n function __callback(bytes32 queryID, string result, bytes proof) public {\n require(msg.sender == oraclize_cbAddress());\n require(validQueryIDs[queryID]); // At expiration or early settlement.\n lastPriceQueryResult = result;\n lastPrice = parseInt(result, PRICE_DECIMAL_PLACES);\n emit UpdatedLastPrice(result);\n checkSettlement(); // Verify settlement at expiration or requested early settlement.\n delete validQueryIDs[queryID];\n proof; // silence compiler warnings\n }\n\n /*\n // PRIVATE METHODS\n */\n\n /// @dev call to oraclize to set up our query and record its hash.\n function queryOracle() private {\n // Require that sufficient funds are available to pay for the query.\n // require(oraclize_getPrice(ORACLE_DATA_SOURCE, QUERY_CALLBACK_GAS) < this.balance);\n // NOTE: Currently the first oracle query call to oraclize.it is free. Since our\n // expiration query will always be the first, there is no needed pre-funding amount\n // to create this query. When we go to the centralized query hub - this will change\n // due to the fact that the address creating the query will always be the query hub.\n // will have to do the analysis to see which is cheaper, free queries, or lower deployment\n // gas costs\n bytes32 queryId = oraclize_query(\n EXPIRATION,\n ORACLE_DATA_SOURCE,\n ORACLE_QUERY,\n QUERY_CALLBACK_GAS\n );\n require(queryId != 0);\n validQueryIDs[queryId] = true;\n }\n}", @@ -648,14 +648,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/MarketContractOraclize.sol", "exportedSymbols": { "MarketContractOraclize": [ - 2949 + 2950 ] }, - "id": 2950, + "id": 2951, "nodeType": "SourceUnit", "nodes": [ { - "id": 2758, + "id": 2759, "literals": [ "solidity", "^", @@ -668,10 +668,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/oraclizeAPI.sol", "file": "./oraclizeAPI.sol", - "id": 2759, + "id": 2760, "nodeType": "ImportDirective", - "scope": 2950, - "sourceUnit": 3910, + "scope": 2951, + "sourceUnit": 3911, "src": "634:27:13", "symbolAliases": [], "unitAlias": "" @@ -679,10 +679,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "file": "../libraries/MathLib.sol", - "id": 2760, + "id": 2761, "nodeType": "ImportDirective", - "scope": 2950, - "sourceUnit": 2233, + "scope": 2951, + "sourceUnit": 2234, "src": "662:34:13", "symbolAliases": [], "unitAlias": "" @@ -690,10 +690,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContract.sol", "file": "../MarketContract.sol", - "id": 2761, + "id": 2762, "nodeType": "ImportDirective", - "scope": 2950, - "sourceUnit": 1518, + "scope": 2951, + "sourceUnit": 1519, "src": "697:31:13", "symbolAliases": [], "unitAlias": "" @@ -704,17 +704,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2762, + "id": 2763, "name": "MarketContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1517, + "referencedDeclaration": 1518, "src": "910:14:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContract_$1517", + "typeIdentifier": "t_contract$_MarketContract_$1518", "typeString": "contract MarketContract" } }, - "id": 2763, + "id": 2764, "nodeType": "InheritanceSpecifier", "src": "910:14:13" }, @@ -722,57 +722,57 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2764, + "id": 2765, "name": "usingOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3909, + "referencedDeclaration": 3910, "src": "926:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_usingOraclize_$3909", + "typeIdentifier": "t_contract$_usingOraclize_$3910", "typeString": "contract usingOraclize" } }, - "id": 2765, + "id": 2766, "nodeType": "InheritanceSpecifier", "src": "926:13:13" } ], "contractDependencies": [ 55, - 1517, - 3909 + 1518, + 3910 ], "contractKind": "contract", "documentation": "@title MarketContract first example of a MarketProtocol contract using Oraclize services\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 2949, + "id": 2950, "linearizedBaseContracts": [ - 2949, - 3909, - 1517, + 2950, + 3910, + 1518, 55 ], "name": "MarketContractOraclize", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2768, + "id": 2769, "libraryName": { "contractScope": null, - "id": 2766, + "id": 2767, "name": "MathLib", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2232, + "referencedDeclaration": 2233, "src": "952:7:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_MathLib_$2232", + "typeIdentifier": "t_contract$_MathLib_$2233", "typeString": "library MathLib" } }, "nodeType": "UsingForDirective", "src": "946:23:13", "typeName": { - "id": 2767, + "id": 2768, "name": "uint", "nodeType": "ElementaryTypeName", "src": "964:4:13", @@ -784,10 +784,10 @@ }, { "constant": false, - "id": 2770, + "id": 2771, "name": "ORACLE_DATA_SOURCE", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "992:32:13", "stateVariable": true, "storageLocation": "default", @@ -796,7 +796,7 @@ "typeString": "string" }, "typeName": { - "id": 2769, + "id": 2770, "name": "string", "nodeType": "ElementaryTypeName", "src": "992:6:13", @@ -810,10 +810,10 @@ }, { "constant": false, - "id": 2772, + "id": 2773, "name": "ORACLE_QUERY", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1030:26:13", "stateVariable": true, "storageLocation": "default", @@ -822,7 +822,7 @@ "typeString": "string" }, "typeName": { - "id": 2771, + "id": 2772, "name": "string", "nodeType": "ElementaryTypeName", "src": "1030:6:13", @@ -836,10 +836,10 @@ }, { "constant": true, - "id": 2775, + "id": 2776, "name": "QUERY_CALLBACK_GAS", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1062:48:13", "stateVariable": true, "storageLocation": "default", @@ -848,7 +848,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2773, + "id": 2774, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1062:4:13", @@ -860,7 +860,7 @@ "value": { "argumentTypes": null, "hexValue": "313530303030", - "id": 2774, + "id": 2775, "isConstant": false, "isLValue": false, "isPure": true, @@ -879,10 +879,10 @@ }, { "constant": false, - "id": 2777, + "id": 2778, "name": "lastPriceQueryResult", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1251:34:13", "stateVariable": true, "storageLocation": "default", @@ -891,7 +891,7 @@ "typeString": "string" }, "typeName": { - "id": 2776, + "id": 2777, "name": "string", "nodeType": "ElementaryTypeName", "src": "1251:6:13", @@ -905,10 +905,10 @@ }, { "constant": false, - "id": 2781, + "id": 2782, "name": "validQueryIDs", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1291:38:13", "stateVariable": true, "storageLocation": "default", @@ -917,9 +917,9 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 2780, + "id": 2781, "keyType": { - "id": 2778, + "id": 2779, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1299:7:13", @@ -935,7 +935,7 @@ "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 2779, + "id": 2780, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1310:4:13", @@ -950,7 +950,7 @@ }, { "body": { - "id": 2835, + "id": 2836, "nodeType": "Block", "src": "3094:567:13", "statements": [ @@ -964,18 +964,18 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 2813, + "id": 2814, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2811, + "id": 2812, "name": "proofType_TLSNotary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3329, + "referencedDeclaration": 3330, "src": "3122:19:13", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -986,11 +986,11 @@ "operator": "|", "rightExpression": { "argumentTypes": null, - "id": 2812, + "id": 2813, "name": "proofStorage_IPFS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3332, + "referencedDeclaration": 3333, "src": "3144:17:13", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -1011,18 +1011,18 @@ "typeString": "bytes1" } ], - "id": 2810, + "id": 2811, "name": "oraclize_setProof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3767, + "referencedDeclaration": 3768, "src": "3104:17:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes1_$returns$__$", "typeString": "function (bytes1)" } }, - "id": 2814, + "id": 2815, "isConstant": false, "isLValue": false, "isPure": false, @@ -1036,25 +1036,25 @@ "typeString": "tuple()" } }, - "id": 2815, + "id": 2816, "nodeType": "ExpressionStatement", "src": "3104:58:13" }, { "expression": { "argumentTypes": null, - "id": 2818, + "id": 2819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2816, + "id": 2817, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "3282:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -1065,11 +1065,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2817, + "id": 2818, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2797, + "referencedDeclaration": 2798, "src": "3303:16:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1082,25 +1082,25 @@ "typeString": "string storage ref" } }, - "id": 2819, + "id": 2820, "nodeType": "ExpressionStatement", "src": "3282:37:13" }, { "expression": { "argumentTypes": null, - "id": 2822, + "id": 2823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2820, + "id": 2821, "name": "ORACLE_QUERY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2773, "src": "3329:12:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -1111,11 +1111,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2821, + "id": 2822, "name": "oracleQuery", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2799, + "referencedDeclaration": 2800, "src": "3344:11:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1128,7 +1128,7 @@ "typeString": "string storage ref" } }, - "id": 2823, + "id": 2824, "nodeType": "ExpressionStatement", "src": "3329:26:13" }, @@ -1142,7 +1142,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2829, + "id": 2830, "isConstant": false, "isLValue": false, "isPure": false, @@ -1153,18 +1153,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2827, + "id": 2828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2825, + "id": 2826, "name": "EXPIRATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, + "referencedDeclaration": 809, "src": "3524:10:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1175,11 +1175,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2826, + "id": 2827, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5194, + "referencedDeclaration": 5195, "src": "3537:3:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1197,7 +1197,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3630", - "id": 2828, + "id": 2829, "isConstant": false, "isLValue": false, "isPure": true, @@ -1226,21 +1226,21 @@ "typeString": "bool" } ], - "id": 2824, + "id": 2825, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3516:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2830, + "id": 2831, "isConstant": false, "isLValue": false, "isPure": false, @@ -1254,7 +1254,7 @@ "typeString": "tuple()" } }, - "id": 2831, + "id": 2832, "nodeType": "ExpressionStatement", "src": "3516:36:13" }, @@ -1264,18 +1264,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2832, + "id": 2833, "name": "queryOracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2949, "src": "3562:11:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2833, + "id": 2834, "isConstant": false, "isLValue": false, "isPure": false, @@ -1289,14 +1289,14 @@ "typeString": "tuple()" } }, - "id": 2834, + "id": 2835, "nodeType": "ExpressionStatement", "src": "3562:13:13" } ] }, "documentation": "@param contractName viewable name of this contract (BTC/ETH, LTC/ETH, etc)\n @param creatorAddress address of the person creating the contract\n @param marketTokenAddress address of our member token\n @param collateralTokenAddress address of the ERC20 token that will be used for collateral and pricing\n @param collateralPoolFactoryAddress address of the factory creating the collateral pools\n @param contractSpecs array of unsigned integers including:\n floorPrice minimum tradeable price of this contract, contract enters settlement if breached\n capPrice maximum tradeable price of this contract, contract enters settlement if breached\n priceDecimalPlaces number of decimal places to convert our queried price from a floating point to\n an integer\n qtyMultiplier multiply traded qty by this value from base units of collateral token.\n expirationTimeStamp - seconds from epoch that this contract expires and enters settlement\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples", - "id": 2836, + "id": 2837, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -1305,11 +1305,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2802, + "id": 2803, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2783, + "referencedDeclaration": 2784, "src": "2918:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1318,11 +1318,11 @@ }, { "argumentTypes": null, - "id": 2803, + "id": 2804, "name": "creatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2785, + "referencedDeclaration": 2786, "src": "2940:14:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1331,11 +1331,11 @@ }, { "argumentTypes": null, - "id": 2804, + "id": 2805, "name": "marketTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2787, + "referencedDeclaration": 2788, "src": "2964:18:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1344,11 +1344,11 @@ }, { "argumentTypes": null, - "id": 2805, + "id": 2806, "name": "collateralTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2789, + "referencedDeclaration": 2790, "src": "2992:22:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1357,11 +1357,11 @@ }, { "argumentTypes": null, - "id": 2806, + "id": 2807, "name": "collateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2791, + "referencedDeclaration": 2792, "src": "3024:28:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1370,11 +1370,11 @@ }, { "argumentTypes": null, - "id": 2807, + "id": 2808, "name": "contractSpecs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2795, + "referencedDeclaration": 2796, "src": "3062:13:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", @@ -1382,17 +1382,17 @@ } } ], - "id": 2808, + "id": 2809, "modifierName": { "argumentTypes": null, - "id": 2801, + "id": 2802, "name": "MarketContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1517, + "referencedDeclaration": 1518, "src": "2894:14:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContract_$1517_$", + "typeIdentifier": "t_type$_t_contract$_MarketContract_$1518_$", "typeString": "type(contract MarketContract)" } }, @@ -1403,15 +1403,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2800, + "id": 2801, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2783, + "id": 2784, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2622:19:13", "stateVariable": false, "storageLocation": "default", @@ -1420,7 +1420,7 @@ "typeString": "string" }, "typeName": { - "id": 2782, + "id": 2783, "name": "string", "nodeType": "ElementaryTypeName", "src": "2622:6:13", @@ -1434,10 +1434,10 @@ }, { "constant": false, - "id": 2785, + "id": 2786, "name": "creatorAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2651:22:13", "stateVariable": false, "storageLocation": "default", @@ -1446,7 +1446,7 @@ "typeString": "address" }, "typeName": { - "id": 2784, + "id": 2785, "name": "address", "nodeType": "ElementaryTypeName", "src": "2651:7:13", @@ -1460,10 +1460,10 @@ }, { "constant": false, - "id": 2787, + "id": 2788, "name": "marketTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2683:26:13", "stateVariable": false, "storageLocation": "default", @@ -1472,7 +1472,7 @@ "typeString": "address" }, "typeName": { - "id": 2786, + "id": 2787, "name": "address", "nodeType": "ElementaryTypeName", "src": "2683:7:13", @@ -1486,10 +1486,10 @@ }, { "constant": false, - "id": 2789, + "id": 2790, "name": "collateralTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2719:30:13", "stateVariable": false, "storageLocation": "default", @@ -1498,7 +1498,7 @@ "typeString": "address" }, "typeName": { - "id": 2788, + "id": 2789, "name": "address", "nodeType": "ElementaryTypeName", "src": "2719:7:13", @@ -1512,10 +1512,10 @@ }, { "constant": false, - "id": 2791, + "id": 2792, "name": "collateralPoolFactoryAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2759:36:13", "stateVariable": false, "storageLocation": "default", @@ -1524,7 +1524,7 @@ "typeString": "address" }, "typeName": { - "id": 2790, + "id": 2791, "name": "address", "nodeType": "ElementaryTypeName", "src": "2759:7:13", @@ -1538,10 +1538,10 @@ }, { "constant": false, - "id": 2795, + "id": 2796, "name": "contractSpecs", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2805:21:13", "stateVariable": false, "storageLocation": "default", @@ -1551,7 +1551,7 @@ }, "typeName": { "baseType": { - "id": 2792, + "id": 2793, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2805:4:13", @@ -1560,11 +1560,11 @@ "typeString": "uint256" } }, - "id": 2794, + "id": 2795, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2793, + "id": 2794, "isConstant": false, "isLValue": false, "isPure": false, @@ -1591,10 +1591,10 @@ }, { "constant": false, - "id": 2797, + "id": 2798, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2836:23:13", "stateVariable": false, "storageLocation": "default", @@ -1603,7 +1603,7 @@ "typeString": "string" }, "typeName": { - "id": 2796, + "id": 2797, "name": "string", "nodeType": "ElementaryTypeName", "src": "2836:6:13", @@ -1617,10 +1617,10 @@ }, { "constant": false, - "id": 2799, + "id": 2800, "name": "oracleQuery", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2869:18:13", "stateVariable": false, "storageLocation": "default", @@ -1629,7 +1629,7 @@ "typeString": "string" }, "typeName": { - "id": 2798, + "id": 2799, "name": "string", "nodeType": "ElementaryTypeName", "src": "2869:6:13", @@ -1646,12 +1646,12 @@ }, "payable": false, "returnParameters": { - "id": 2809, + "id": 2810, "nodeType": "ParameterList", "parameters": [], "src": "3094:0:13" }, - "scope": 2949, + "scope": 2950, "src": "2601:1060:13", "stateMutability": "nonpayable", "superFunction": null, @@ -1659,21 +1659,21 @@ }, { "body": { - "id": 2873, + "id": 2874, "nodeType": "Block", "src": "4102:548:13", "statements": [ { "assignments": [ - 2840 + 2841 ], "declarations": [ { "constant": false, - "id": 2840, + "id": 2841, "name": "cost", "nodeType": "VariableDeclaration", - "scope": 2874, + "scope": 2875, "src": "4112:9:13", "stateVariable": false, "storageLocation": "default", @@ -1682,7 +1682,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2839, + "id": 2840, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4112:4:13", @@ -1695,17 +1695,17 @@ "visibility": "internal" } ], - "id": 2845, + "id": 2846, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2842, + "id": 2843, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "4142:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -1714,11 +1714,11 @@ }, { "argumentTypes": null, - "id": 2843, + "id": 2844, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, + "referencedDeclaration": 2776, "src": "4162:18:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1737,21 +1737,21 @@ "typeString": "uint256" } ], - "id": 2841, + "id": 2842, "name": "oraclize_getPrice", "nodeType": "Identifier", "overloadedDeclarations": [ - 3596, - 3614 + 3597, + 3615 ], - "referencedDeclaration": 3614, + "referencedDeclaration": 3615, "src": "4124:17:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) returns (uint256)" } }, - "id": 2844, + "id": 2845, "isConstant": false, "isLValue": false, "isPure": false, @@ -1778,7 +1778,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2850, + "id": 2851, "isConstant": false, "isLValue": false, "isPure": false, @@ -1787,18 +1787,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2847, + "id": 2848, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4199:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2848, + "id": 2849, "isConstant": false, "isLValue": false, "isPure": false, @@ -1816,11 +1816,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2849, + "id": 2850, "name": "cost", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2840, + "referencedDeclaration": 2841, "src": "4212:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1841,21 +1841,21 @@ "typeString": "bool" } ], - "id": 2846, + "id": 2847, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "4191:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2851, + "id": 2852, "isConstant": false, "isLValue": false, "isPure": false, @@ -1869,21 +1869,21 @@ "typeString": "tuple()" } }, - "id": 2852, + "id": 2853, "nodeType": "ExpressionStatement", "src": "4191:26:13" }, { "assignments": [ - 2854 + 2855 ], "declarations": [ { "constant": false, - "id": 2854, + "id": 2855, "name": "queryId", "nodeType": "VariableDeclaration", - "scope": 2874, + "scope": 2875, "src": "4441:15:13", "stateVariable": false, "storageLocation": "default", @@ -1892,7 +1892,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2853, + "id": 2854, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4441:7:13", @@ -1905,17 +1905,17 @@ "visibility": "internal" } ], - "id": 2860, + "id": 2861, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2856, + "id": 2857, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "4487:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -1924,11 +1924,11 @@ }, { "argumentTypes": null, - "id": 2857, + "id": 2858, "name": "ORACLE_QUERY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2773, "src": "4519:12:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -1937,11 +1937,11 @@ }, { "argumentTypes": null, - "id": 2858, + "id": 2859, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, + "referencedDeclaration": 2776, "src": "4545:18:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1964,23 +1964,23 @@ "typeString": "uint256" } ], - "id": 2855, + "id": 2856, "name": "oraclize_query", "nodeType": "Identifier", "overloadedDeclarations": [ - 3643, - 3674, - 3709, - 3742 + 3644, + 3675, + 3710, + 3743 ], - "referencedDeclaration": 3742, + "referencedDeclaration": 3743, "src": "4459:14:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (string memory,string memory,uint256) returns (bytes32)" } }, - "id": 2859, + "id": 2860, "isConstant": false, "isLValue": false, "isPure": false, @@ -2007,18 +2007,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 2864, + "id": 2865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2862, + "id": 2863, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2854, + "referencedDeclaration": 2855, "src": "4591:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2030,7 +2030,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2863, + "id": 2864, "isConstant": false, "isLValue": false, "isPure": true, @@ -2059,21 +2059,21 @@ "typeString": "bool" } ], - "id": 2861, + "id": 2862, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "4583:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2865, + "id": 2866, "isConstant": false, "isLValue": false, "isPure": false, @@ -2087,14 +2087,14 @@ "typeString": "tuple()" } }, - "id": 2866, + "id": 2867, "nodeType": "ExpressionStatement", "src": "4583:21:13" }, { "expression": { "argumentTypes": null, - "id": 2871, + "id": 2872, "isConstant": false, "isLValue": false, "isPure": false, @@ -2103,25 +2103,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2867, + "id": 2868, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "4614:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2869, + "id": 2870, "indexExpression": { "argumentTypes": null, - "id": 2868, + "id": 2869, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2854, + "referencedDeclaration": 2855, "src": "4628:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2144,7 +2144,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2870, + "id": 2871, "isConstant": false, "isLValue": false, "isPure": true, @@ -2165,14 +2165,14 @@ "typeString": "bool" } }, - "id": 2872, + "id": 2873, "nodeType": "ExpressionStatement", "src": "4614:29:13" } ] }, "documentation": "@notice allows a user to request an extra query to oracle in order to push the contract into\n settlement. A user may call this as many times as they like, since they are the ones paying for\n the call to our oracle and post processing. This is useful for both a failsafe and as a way to\n settle a contract early if a price cap or floor has been breached.", - "id": 2874, + "id": 2875, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2180,27 +2180,27 @@ "name": "requestEarlySettlement", "nodeType": "FunctionDefinition", "parameters": { - "id": 2837, + "id": 2838, "nodeType": "ParameterList", "parameters": [], "src": "4082:2:13" }, "payable": true, "returnParameters": { - "id": 2838, + "id": 2839, "nodeType": "ParameterList", "parameters": [], "src": "4102:0:13" }, - "scope": 2949, + "scope": 2950, "src": "4051:599:13", "stateMutability": "payable", - "superFunction": 1422, + "superFunction": 1423, "visibility": "external" }, { "body": { - "id": 2922, + "id": 2923, "nodeType": "Block", "src": "5002:456:13", "statements": [ @@ -2214,7 +2214,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2888, + "id": 2889, "isConstant": false, "isLValue": false, "isPure": false, @@ -2223,18 +2223,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2884, + "id": 2885, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "5020:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2885, + "id": 2886, "isConstant": false, "isLValue": false, "isPure": false, @@ -2255,18 +2255,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2886, + "id": 2887, "name": "oraclize_cbAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, + "referencedDeclaration": 3755, "src": "5034:18:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", "typeString": "function () returns (address)" } }, - "id": 2887, + "id": 2888, "isConstant": false, "isLValue": false, "isPure": false, @@ -2294,21 +2294,21 @@ "typeString": "bool" } ], - "id": 2883, + "id": 2884, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "5012:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2889, + "id": 2890, "isConstant": false, "isLValue": false, "isPure": false, @@ -2322,7 +2322,7 @@ "typeString": "tuple()" } }, - "id": 2890, + "id": 2891, "nodeType": "ExpressionStatement", "src": "5012:43:13" }, @@ -2334,25 +2334,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2892, + "id": 2893, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "5073:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2894, + "id": 2895, "indexExpression": { "argumentTypes": null, - "id": 2893, + "id": 2894, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2877, "src": "5087:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2378,21 +2378,21 @@ "typeString": "bool" } ], - "id": 2891, + "id": 2892, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "5065:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2895, + "id": 2896, "isConstant": false, "isLValue": false, "isPure": false, @@ -2406,25 +2406,25 @@ "typeString": "tuple()" } }, - "id": 2896, + "id": 2897, "nodeType": "ExpressionStatement", "src": "5065:31:13" }, { "expression": { "argumentTypes": null, - "id": 2899, + "id": 2900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2897, + "id": 2898, "name": "lastPriceQueryResult", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2777, + "referencedDeclaration": 2778, "src": "5145:20:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -2435,11 +2435,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2898, + "id": 2899, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2879, "src": "5168:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2452,25 +2452,25 @@ "typeString": "string storage ref" } }, - "id": 2900, + "id": 2901, "nodeType": "ExpressionStatement", "src": "5145:29:13" }, { "expression": { "argumentTypes": null, - "id": 2906, + "id": 2907, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2901, + "id": 2902, "name": "lastPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, + "referencedDeclaration": 811, "src": "5184:9:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2484,11 +2484,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2903, + "id": 2904, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2879, "src": "5205:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2497,11 +2497,11 @@ }, { "argumentTypes": null, - "id": 2904, + "id": 2905, "name": "PRICE_DECIMAL_PLACES", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 804, + "referencedDeclaration": 805, "src": "5213:20:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2520,18 +2520,18 @@ "typeString": "uint256" } ], - "id": 2902, + "id": 2903, "name": "parseInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3888, + "referencedDeclaration": 3889, "src": "5196:8:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) pure returns (uint256)" } }, - "id": 2905, + "id": 2906, "isConstant": false, "isLValue": false, "isPure": false, @@ -2551,7 +2551,7 @@ "typeString": "uint256" } }, - "id": 2907, + "id": 2908, "nodeType": "ExpressionStatement", "src": "5184:50:13" }, @@ -2561,11 +2561,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2909, + "id": 2910, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2879, "src": "5266:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2580,18 +2580,18 @@ "typeString": "string memory" } ], - "id": 2908, + "id": 2909, "name": "UpdatedLastPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 828, + "referencedDeclaration": 829, "src": "5249:16:13", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, - "id": 2910, + "id": 2911, "isConstant": false, "isLValue": false, "isPure": false, @@ -2605,7 +2605,7 @@ "typeString": "tuple()" } }, - "id": 2911, + "id": 2912, "nodeType": "EmitStatement", "src": "5244:29:13" }, @@ -2615,18 +2615,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2912, + "id": 2913, "name": "checkSettlement", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1491, + "referencedDeclaration": 1492, "src": "5283:15:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2913, + "id": 2914, "isConstant": false, "isLValue": false, "isPure": false, @@ -2640,14 +2640,14 @@ "typeString": "tuple()" } }, - "id": 2914, + "id": 2915, "nodeType": "ExpressionStatement", "src": "5283:17:13" }, { "expression": { "argumentTypes": null, - "id": 2918, + "id": 2919, "isConstant": false, "isLValue": false, "isPure": false, @@ -2660,25 +2660,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2915, + "id": 2916, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "5384:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2917, + "id": 2918, "indexExpression": { "argumentTypes": null, - "id": 2916, + "id": 2917, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2877, "src": "5398:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2701,32 +2701,32 @@ "typeString": "tuple()" } }, - "id": 2919, + "id": 2920, "nodeType": "ExpressionStatement", "src": "5377:29:13" }, { "expression": { "argumentTypes": null, - "id": 2920, + "id": 2921, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2881, "src": "5416:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2921, + "id": 2922, "nodeType": "ExpressionStatement", "src": "5416:5:13" } ] }, "documentation": "@notice only public for callbacks from oraclize, do not call\n @param queryID of the returning query, this should match our own internal mapping\n @param result query to be processed\n @param proof result proof", - "id": 2923, + "id": 2924, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2734,15 +2734,15 @@ "name": "__callback", "nodeType": "FunctionDefinition", "parameters": { - "id": 2881, + "id": 2882, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2876, + "id": 2877, "name": "queryID", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "4950:15:13", "stateVariable": false, "storageLocation": "default", @@ -2751,7 +2751,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2875, + "id": 2876, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4950:7:13", @@ -2765,10 +2765,10 @@ }, { "constant": false, - "id": 2878, + "id": 2879, "name": "result", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "4967:13:13", "stateVariable": false, "storageLocation": "default", @@ -2777,7 +2777,7 @@ "typeString": "string" }, "typeName": { - "id": 2877, + "id": 2878, "name": "string", "nodeType": "ElementaryTypeName", "src": "4967:6:13", @@ -2791,10 +2791,10 @@ }, { "constant": false, - "id": 2880, + "id": 2881, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "4982:11:13", "stateVariable": false, "storageLocation": "default", @@ -2803,7 +2803,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2879, + "id": 2880, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4982:5:13", @@ -2820,34 +2820,34 @@ }, "payable": false, "returnParameters": { - "id": 2882, + "id": 2883, "nodeType": "ParameterList", "parameters": [], "src": "5002:0:13" }, - "scope": 2949, + "scope": 2950, "src": "4930:528:13", "stateMutability": "nonpayable", - "superFunction": 3581, + "superFunction": 3582, "visibility": "public" }, { "body": { - "id": 2947, + "id": 2948, "nodeType": "Block", "src": "5604:901:13", "statements": [ { "assignments": [ - 2927 + 2928 ], "declarations": [ { "constant": false, - "id": 2927, + "id": 2928, "name": "queryId", "nodeType": "VariableDeclaration", - "scope": 2948, + "scope": 2949, "src": "6272:15:13", "stateVariable": false, "storageLocation": "default", @@ -2856,7 +2856,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2926, + "id": 2927, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6272:7:13", @@ -2869,17 +2869,17 @@ "visibility": "internal" } ], - "id": 2934, + "id": 2935, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2929, + "id": 2930, "name": "EXPIRATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, + "referencedDeclaration": 809, "src": "6318:10:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2888,11 +2888,11 @@ }, { "argumentTypes": null, - "id": 2930, + "id": 2931, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "6342:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -2901,11 +2901,11 @@ }, { "argumentTypes": null, - "id": 2931, + "id": 2932, "name": "ORACLE_QUERY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2773, "src": "6374:12:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -2914,11 +2914,11 @@ }, { "argumentTypes": null, - "id": 2932, + "id": 2933, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, + "referencedDeclaration": 2776, "src": "6400:18:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2945,23 +2945,23 @@ "typeString": "uint256" } ], - "id": 2928, + "id": 2929, "name": "oraclize_query", "nodeType": "Identifier", "overloadedDeclarations": [ - 3643, - 3674, - 3709, - 3742 + 3644, + 3675, + 3710, + 3743 ], - "referencedDeclaration": 3709, + "referencedDeclaration": 3710, "src": "6290:14:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (uint256,string memory,string memory,uint256) returns (bytes32)" } }, - "id": 2933, + "id": 2934, "isConstant": false, "isLValue": false, "isPure": false, @@ -2988,18 +2988,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 2938, + "id": 2939, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2936, + "id": 2937, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2927, + "referencedDeclaration": 2928, "src": "6446:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3011,7 +3011,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2937, + "id": 2938, "isConstant": false, "isLValue": false, "isPure": true, @@ -3040,21 +3040,21 @@ "typeString": "bool" } ], - "id": 2935, + "id": 2936, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "6438:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2939, + "id": 2940, "isConstant": false, "isLValue": false, "isPure": false, @@ -3068,14 +3068,14 @@ "typeString": "tuple()" } }, - "id": 2940, + "id": 2941, "nodeType": "ExpressionStatement", "src": "6438:21:13" }, { "expression": { "argumentTypes": null, - "id": 2945, + "id": 2946, "isConstant": false, "isLValue": false, "isPure": false, @@ -3084,25 +3084,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2941, + "id": 2942, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "6469:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2943, + "id": 2944, "indexExpression": { "argumentTypes": null, - "id": 2942, + "id": 2943, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2927, + "referencedDeclaration": 2928, "src": "6483:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3125,7 +3125,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2944, + "id": 2945, "isConstant": false, "isLValue": false, "isPure": true, @@ -3146,14 +3146,14 @@ "typeString": "bool" } }, - "id": 2946, + "id": 2947, "nodeType": "ExpressionStatement", "src": "6469:29:13" } ] }, "documentation": "@dev call to oraclize to set up our query and record its hash.", - "id": 2948, + "id": 2949, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3161,26 +3161,26 @@ "name": "queryOracle", "nodeType": "FunctionDefinition", "parameters": { - "id": 2924, + "id": 2925, "nodeType": "ParameterList", "parameters": [], "src": "5593:2:13" }, "payable": false, "returnParameters": { - "id": 2925, + "id": 2926, "nodeType": "ParameterList", "parameters": [], "src": "5604:0:13" }, - "scope": 2949, + "scope": 2950, "src": "5573:932:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 2950, + "scope": 2951, "src": "875:5632:13" } ], @@ -3190,14 +3190,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/MarketContractOraclize.sol", "exportedSymbols": { "MarketContractOraclize": [ - 2949 + 2950 ] }, - "id": 2950, + "id": 2951, "nodeType": "SourceUnit", "nodes": [ { - "id": 2758, + "id": 2759, "literals": [ "solidity", "^", @@ -3210,10 +3210,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/oraclizeAPI.sol", "file": "./oraclizeAPI.sol", - "id": 2759, + "id": 2760, "nodeType": "ImportDirective", - "scope": 2950, - "sourceUnit": 3910, + "scope": 2951, + "sourceUnit": 3911, "src": "634:27:13", "symbolAliases": [], "unitAlias": "" @@ -3221,10 +3221,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "file": "../libraries/MathLib.sol", - "id": 2760, + "id": 2761, "nodeType": "ImportDirective", - "scope": 2950, - "sourceUnit": 2233, + "scope": 2951, + "sourceUnit": 2234, "src": "662:34:13", "symbolAliases": [], "unitAlias": "" @@ -3232,10 +3232,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContract.sol", "file": "../MarketContract.sol", - "id": 2761, + "id": 2762, "nodeType": "ImportDirective", - "scope": 2950, - "sourceUnit": 1518, + "scope": 2951, + "sourceUnit": 1519, "src": "697:31:13", "symbolAliases": [], "unitAlias": "" @@ -3246,17 +3246,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2762, + "id": 2763, "name": "MarketContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1517, + "referencedDeclaration": 1518, "src": "910:14:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContract_$1517", + "typeIdentifier": "t_contract$_MarketContract_$1518", "typeString": "contract MarketContract" } }, - "id": 2763, + "id": 2764, "nodeType": "InheritanceSpecifier", "src": "910:14:13" }, @@ -3264,57 +3264,57 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2764, + "id": 2765, "name": "usingOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3909, + "referencedDeclaration": 3910, "src": "926:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_usingOraclize_$3909", + "typeIdentifier": "t_contract$_usingOraclize_$3910", "typeString": "contract usingOraclize" } }, - "id": 2765, + "id": 2766, "nodeType": "InheritanceSpecifier", "src": "926:13:13" } ], "contractDependencies": [ 55, - 1517, - 3909 + 1518, + 3910 ], "contractKind": "contract", "documentation": "@title MarketContract first example of a MarketProtocol contract using Oraclize services\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 2949, + "id": 2950, "linearizedBaseContracts": [ - 2949, - 3909, - 1517, + 2950, + 3910, + 1518, 55 ], "name": "MarketContractOraclize", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2768, + "id": 2769, "libraryName": { "contractScope": null, - "id": 2766, + "id": 2767, "name": "MathLib", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2232, + "referencedDeclaration": 2233, "src": "952:7:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_MathLib_$2232", + "typeIdentifier": "t_contract$_MathLib_$2233", "typeString": "library MathLib" } }, "nodeType": "UsingForDirective", "src": "946:23:13", "typeName": { - "id": 2767, + "id": 2768, "name": "uint", "nodeType": "ElementaryTypeName", "src": "964:4:13", @@ -3326,10 +3326,10 @@ }, { "constant": false, - "id": 2770, + "id": 2771, "name": "ORACLE_DATA_SOURCE", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "992:32:13", "stateVariable": true, "storageLocation": "default", @@ -3338,7 +3338,7 @@ "typeString": "string" }, "typeName": { - "id": 2769, + "id": 2770, "name": "string", "nodeType": "ElementaryTypeName", "src": "992:6:13", @@ -3352,10 +3352,10 @@ }, { "constant": false, - "id": 2772, + "id": 2773, "name": "ORACLE_QUERY", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1030:26:13", "stateVariable": true, "storageLocation": "default", @@ -3364,7 +3364,7 @@ "typeString": "string" }, "typeName": { - "id": 2771, + "id": 2772, "name": "string", "nodeType": "ElementaryTypeName", "src": "1030:6:13", @@ -3378,10 +3378,10 @@ }, { "constant": true, - "id": 2775, + "id": 2776, "name": "QUERY_CALLBACK_GAS", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1062:48:13", "stateVariable": true, "storageLocation": "default", @@ -3390,7 +3390,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2773, + "id": 2774, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1062:4:13", @@ -3402,7 +3402,7 @@ "value": { "argumentTypes": null, "hexValue": "313530303030", - "id": 2774, + "id": 2775, "isConstant": false, "isLValue": false, "isPure": true, @@ -3421,10 +3421,10 @@ }, { "constant": false, - "id": 2777, + "id": 2778, "name": "lastPriceQueryResult", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1251:34:13", "stateVariable": true, "storageLocation": "default", @@ -3433,7 +3433,7 @@ "typeString": "string" }, "typeName": { - "id": 2776, + "id": 2777, "name": "string", "nodeType": "ElementaryTypeName", "src": "1251:6:13", @@ -3447,10 +3447,10 @@ }, { "constant": false, - "id": 2781, + "id": 2782, "name": "validQueryIDs", "nodeType": "VariableDeclaration", - "scope": 2949, + "scope": 2950, "src": "1291:38:13", "stateVariable": true, "storageLocation": "default", @@ -3459,9 +3459,9 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 2780, + "id": 2781, "keyType": { - "id": 2778, + "id": 2779, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1299:7:13", @@ -3477,7 +3477,7 @@ "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 2779, + "id": 2780, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1310:4:13", @@ -3492,7 +3492,7 @@ }, { "body": { - "id": 2835, + "id": 2836, "nodeType": "Block", "src": "3094:567:13", "statements": [ @@ -3506,18 +3506,18 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 2813, + "id": 2814, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2811, + "id": 2812, "name": "proofType_TLSNotary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3329, + "referencedDeclaration": 3330, "src": "3122:19:13", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -3528,11 +3528,11 @@ "operator": "|", "rightExpression": { "argumentTypes": null, - "id": 2812, + "id": 2813, "name": "proofStorage_IPFS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3332, + "referencedDeclaration": 3333, "src": "3144:17:13", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -3553,18 +3553,18 @@ "typeString": "bytes1" } ], - "id": 2810, + "id": 2811, "name": "oraclize_setProof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3767, + "referencedDeclaration": 3768, "src": "3104:17:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes1_$returns$__$", "typeString": "function (bytes1)" } }, - "id": 2814, + "id": 2815, "isConstant": false, "isLValue": false, "isPure": false, @@ -3578,25 +3578,25 @@ "typeString": "tuple()" } }, - "id": 2815, + "id": 2816, "nodeType": "ExpressionStatement", "src": "3104:58:13" }, { "expression": { "argumentTypes": null, - "id": 2818, + "id": 2819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2816, + "id": 2817, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "3282:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -3607,11 +3607,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2817, + "id": 2818, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2797, + "referencedDeclaration": 2798, "src": "3303:16:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3624,25 +3624,25 @@ "typeString": "string storage ref" } }, - "id": 2819, + "id": 2820, "nodeType": "ExpressionStatement", "src": "3282:37:13" }, { "expression": { "argumentTypes": null, - "id": 2822, + "id": 2823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2820, + "id": 2821, "name": "ORACLE_QUERY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2773, "src": "3329:12:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -3653,11 +3653,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2821, + "id": 2822, "name": "oracleQuery", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2799, + "referencedDeclaration": 2800, "src": "3344:11:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3670,7 +3670,7 @@ "typeString": "string storage ref" } }, - "id": 2823, + "id": 2824, "nodeType": "ExpressionStatement", "src": "3329:26:13" }, @@ -3684,7 +3684,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2829, + "id": 2830, "isConstant": false, "isLValue": false, "isPure": false, @@ -3695,18 +3695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2827, + "id": 2828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2825, + "id": 2826, "name": "EXPIRATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, + "referencedDeclaration": 809, "src": "3524:10:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3717,11 +3717,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2826, + "id": 2827, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5194, + "referencedDeclaration": 5195, "src": "3537:3:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3739,7 +3739,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3630", - "id": 2828, + "id": 2829, "isConstant": false, "isLValue": false, "isPure": true, @@ -3768,21 +3768,21 @@ "typeString": "bool" } ], - "id": 2824, + "id": 2825, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3516:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2830, + "id": 2831, "isConstant": false, "isLValue": false, "isPure": false, @@ -3796,7 +3796,7 @@ "typeString": "tuple()" } }, - "id": 2831, + "id": 2832, "nodeType": "ExpressionStatement", "src": "3516:36:13" }, @@ -3806,18 +3806,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2832, + "id": 2833, "name": "queryOracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2949, "src": "3562:11:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2833, + "id": 2834, "isConstant": false, "isLValue": false, "isPure": false, @@ -3831,14 +3831,14 @@ "typeString": "tuple()" } }, - "id": 2834, + "id": 2835, "nodeType": "ExpressionStatement", "src": "3562:13:13" } ] }, "documentation": "@param contractName viewable name of this contract (BTC/ETH, LTC/ETH, etc)\n @param creatorAddress address of the person creating the contract\n @param marketTokenAddress address of our member token\n @param collateralTokenAddress address of the ERC20 token that will be used for collateral and pricing\n @param collateralPoolFactoryAddress address of the factory creating the collateral pools\n @param contractSpecs array of unsigned integers including:\n floorPrice minimum tradeable price of this contract, contract enters settlement if breached\n capPrice maximum tradeable price of this contract, contract enters settlement if breached\n priceDecimalPlaces number of decimal places to convert our queried price from a floating point to\n an integer\n qtyMultiplier multiply traded qty by this value from base units of collateral token.\n expirationTimeStamp - seconds from epoch that this contract expires and enters settlement\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples", - "id": 2836, + "id": 2837, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -3847,11 +3847,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2802, + "id": 2803, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2783, + "referencedDeclaration": 2784, "src": "2918:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3860,11 +3860,11 @@ }, { "argumentTypes": null, - "id": 2803, + "id": 2804, "name": "creatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2785, + "referencedDeclaration": 2786, "src": "2940:14:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3873,11 +3873,11 @@ }, { "argumentTypes": null, - "id": 2804, + "id": 2805, "name": "marketTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2787, + "referencedDeclaration": 2788, "src": "2964:18:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3886,11 +3886,11 @@ }, { "argumentTypes": null, - "id": 2805, + "id": 2806, "name": "collateralTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2789, + "referencedDeclaration": 2790, "src": "2992:22:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3899,11 +3899,11 @@ }, { "argumentTypes": null, - "id": 2806, + "id": 2807, "name": "collateralPoolFactoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2791, + "referencedDeclaration": 2792, "src": "3024:28:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3912,11 +3912,11 @@ }, { "argumentTypes": null, - "id": 2807, + "id": 2808, "name": "contractSpecs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2795, + "referencedDeclaration": 2796, "src": "3062:13:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", @@ -3924,17 +3924,17 @@ } } ], - "id": 2808, + "id": 2809, "modifierName": { "argumentTypes": null, - "id": 2801, + "id": 2802, "name": "MarketContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1517, + "referencedDeclaration": 1518, "src": "2894:14:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MarketContract_$1517_$", + "typeIdentifier": "t_type$_t_contract$_MarketContract_$1518_$", "typeString": "type(contract MarketContract)" } }, @@ -3945,15 +3945,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2800, + "id": 2801, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2783, + "id": 2784, "name": "contractName", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2622:19:13", "stateVariable": false, "storageLocation": "default", @@ -3962,7 +3962,7 @@ "typeString": "string" }, "typeName": { - "id": 2782, + "id": 2783, "name": "string", "nodeType": "ElementaryTypeName", "src": "2622:6:13", @@ -3976,10 +3976,10 @@ }, { "constant": false, - "id": 2785, + "id": 2786, "name": "creatorAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2651:22:13", "stateVariable": false, "storageLocation": "default", @@ -3988,7 +3988,7 @@ "typeString": "address" }, "typeName": { - "id": 2784, + "id": 2785, "name": "address", "nodeType": "ElementaryTypeName", "src": "2651:7:13", @@ -4002,10 +4002,10 @@ }, { "constant": false, - "id": 2787, + "id": 2788, "name": "marketTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2683:26:13", "stateVariable": false, "storageLocation": "default", @@ -4014,7 +4014,7 @@ "typeString": "address" }, "typeName": { - "id": 2786, + "id": 2787, "name": "address", "nodeType": "ElementaryTypeName", "src": "2683:7:13", @@ -4028,10 +4028,10 @@ }, { "constant": false, - "id": 2789, + "id": 2790, "name": "collateralTokenAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2719:30:13", "stateVariable": false, "storageLocation": "default", @@ -4040,7 +4040,7 @@ "typeString": "address" }, "typeName": { - "id": 2788, + "id": 2789, "name": "address", "nodeType": "ElementaryTypeName", "src": "2719:7:13", @@ -4054,10 +4054,10 @@ }, { "constant": false, - "id": 2791, + "id": 2792, "name": "collateralPoolFactoryAddress", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2759:36:13", "stateVariable": false, "storageLocation": "default", @@ -4066,7 +4066,7 @@ "typeString": "address" }, "typeName": { - "id": 2790, + "id": 2791, "name": "address", "nodeType": "ElementaryTypeName", "src": "2759:7:13", @@ -4080,10 +4080,10 @@ }, { "constant": false, - "id": 2795, + "id": 2796, "name": "contractSpecs", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2805:21:13", "stateVariable": false, "storageLocation": "default", @@ -4093,7 +4093,7 @@ }, "typeName": { "baseType": { - "id": 2792, + "id": 2793, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2805:4:13", @@ -4102,11 +4102,11 @@ "typeString": "uint256" } }, - "id": 2794, + "id": 2795, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2793, + "id": 2794, "isConstant": false, "isLValue": false, "isPure": false, @@ -4133,10 +4133,10 @@ }, { "constant": false, - "id": 2797, + "id": 2798, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2836:23:13", "stateVariable": false, "storageLocation": "default", @@ -4145,7 +4145,7 @@ "typeString": "string" }, "typeName": { - "id": 2796, + "id": 2797, "name": "string", "nodeType": "ElementaryTypeName", "src": "2836:6:13", @@ -4159,10 +4159,10 @@ }, { "constant": false, - "id": 2799, + "id": 2800, "name": "oracleQuery", "nodeType": "VariableDeclaration", - "scope": 2836, + "scope": 2837, "src": "2869:18:13", "stateVariable": false, "storageLocation": "default", @@ -4171,7 +4171,7 @@ "typeString": "string" }, "typeName": { - "id": 2798, + "id": 2799, "name": "string", "nodeType": "ElementaryTypeName", "src": "2869:6:13", @@ -4188,12 +4188,12 @@ }, "payable": false, "returnParameters": { - "id": 2809, + "id": 2810, "nodeType": "ParameterList", "parameters": [], "src": "3094:0:13" }, - "scope": 2949, + "scope": 2950, "src": "2601:1060:13", "stateMutability": "nonpayable", "superFunction": null, @@ -4201,21 +4201,21 @@ }, { "body": { - "id": 2873, + "id": 2874, "nodeType": "Block", "src": "4102:548:13", "statements": [ { "assignments": [ - 2840 + 2841 ], "declarations": [ { "constant": false, - "id": 2840, + "id": 2841, "name": "cost", "nodeType": "VariableDeclaration", - "scope": 2874, + "scope": 2875, "src": "4112:9:13", "stateVariable": false, "storageLocation": "default", @@ -4224,7 +4224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2839, + "id": 2840, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4112:4:13", @@ -4237,17 +4237,17 @@ "visibility": "internal" } ], - "id": 2845, + "id": 2846, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2842, + "id": 2843, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "4142:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -4256,11 +4256,11 @@ }, { "argumentTypes": null, - "id": 2843, + "id": 2844, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, + "referencedDeclaration": 2776, "src": "4162:18:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4279,21 +4279,21 @@ "typeString": "uint256" } ], - "id": 2841, + "id": 2842, "name": "oraclize_getPrice", "nodeType": "Identifier", "overloadedDeclarations": [ - 3596, - 3614 + 3597, + 3615 ], - "referencedDeclaration": 3614, + "referencedDeclaration": 3615, "src": "4124:17:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) returns (uint256)" } }, - "id": 2844, + "id": 2845, "isConstant": false, "isLValue": false, "isPure": false, @@ -4320,7 +4320,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2850, + "id": 2851, "isConstant": false, "isLValue": false, "isPure": false, @@ -4329,18 +4329,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2847, + "id": 2848, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4199:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2848, + "id": 2849, "isConstant": false, "isLValue": false, "isPure": false, @@ -4358,11 +4358,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2849, + "id": 2850, "name": "cost", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2840, + "referencedDeclaration": 2841, "src": "4212:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4383,21 +4383,21 @@ "typeString": "bool" } ], - "id": 2846, + "id": 2847, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "4191:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2851, + "id": 2852, "isConstant": false, "isLValue": false, "isPure": false, @@ -4411,21 +4411,21 @@ "typeString": "tuple()" } }, - "id": 2852, + "id": 2853, "nodeType": "ExpressionStatement", "src": "4191:26:13" }, { "assignments": [ - 2854 + 2855 ], "declarations": [ { "constant": false, - "id": 2854, + "id": 2855, "name": "queryId", "nodeType": "VariableDeclaration", - "scope": 2874, + "scope": 2875, "src": "4441:15:13", "stateVariable": false, "storageLocation": "default", @@ -4434,7 +4434,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2853, + "id": 2854, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4441:7:13", @@ -4447,17 +4447,17 @@ "visibility": "internal" } ], - "id": 2860, + "id": 2861, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2856, + "id": 2857, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "4487:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -4466,11 +4466,11 @@ }, { "argumentTypes": null, - "id": 2857, + "id": 2858, "name": "ORACLE_QUERY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2773, "src": "4519:12:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -4479,11 +4479,11 @@ }, { "argumentTypes": null, - "id": 2858, + "id": 2859, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, + "referencedDeclaration": 2776, "src": "4545:18:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4506,23 +4506,23 @@ "typeString": "uint256" } ], - "id": 2855, + "id": 2856, "name": "oraclize_query", "nodeType": "Identifier", "overloadedDeclarations": [ - 3643, - 3674, - 3709, - 3742 + 3644, + 3675, + 3710, + 3743 ], - "referencedDeclaration": 3742, + "referencedDeclaration": 3743, "src": "4459:14:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (string memory,string memory,uint256) returns (bytes32)" } }, - "id": 2859, + "id": 2860, "isConstant": false, "isLValue": false, "isPure": false, @@ -4549,18 +4549,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 2864, + "id": 2865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2862, + "id": 2863, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2854, + "referencedDeclaration": 2855, "src": "4591:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4572,7 +4572,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2863, + "id": 2864, "isConstant": false, "isLValue": false, "isPure": true, @@ -4601,21 +4601,21 @@ "typeString": "bool" } ], - "id": 2861, + "id": 2862, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "4583:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2865, + "id": 2866, "isConstant": false, "isLValue": false, "isPure": false, @@ -4629,14 +4629,14 @@ "typeString": "tuple()" } }, - "id": 2866, + "id": 2867, "nodeType": "ExpressionStatement", "src": "4583:21:13" }, { "expression": { "argumentTypes": null, - "id": 2871, + "id": 2872, "isConstant": false, "isLValue": false, "isPure": false, @@ -4645,25 +4645,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2867, + "id": 2868, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "4614:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2869, + "id": 2870, "indexExpression": { "argumentTypes": null, - "id": 2868, + "id": 2869, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2854, + "referencedDeclaration": 2855, "src": "4628:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4686,7 +4686,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2870, + "id": 2871, "isConstant": false, "isLValue": false, "isPure": true, @@ -4707,14 +4707,14 @@ "typeString": "bool" } }, - "id": 2872, + "id": 2873, "nodeType": "ExpressionStatement", "src": "4614:29:13" } ] }, "documentation": "@notice allows a user to request an extra query to oracle in order to push the contract into\n settlement. A user may call this as many times as they like, since they are the ones paying for\n the call to our oracle and post processing. This is useful for both a failsafe and as a way to\n settle a contract early if a price cap or floor has been breached.", - "id": 2874, + "id": 2875, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4722,27 +4722,27 @@ "name": "requestEarlySettlement", "nodeType": "FunctionDefinition", "parameters": { - "id": 2837, + "id": 2838, "nodeType": "ParameterList", "parameters": [], "src": "4082:2:13" }, "payable": true, "returnParameters": { - "id": 2838, + "id": 2839, "nodeType": "ParameterList", "parameters": [], "src": "4102:0:13" }, - "scope": 2949, + "scope": 2950, "src": "4051:599:13", "stateMutability": "payable", - "superFunction": 1422, + "superFunction": 1423, "visibility": "external" }, { "body": { - "id": 2922, + "id": 2923, "nodeType": "Block", "src": "5002:456:13", "statements": [ @@ -4756,7 +4756,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2888, + "id": 2889, "isConstant": false, "isLValue": false, "isPure": false, @@ -4765,18 +4765,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2884, + "id": 2885, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "5020:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2885, + "id": 2886, "isConstant": false, "isLValue": false, "isPure": false, @@ -4797,18 +4797,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2886, + "id": 2887, "name": "oraclize_cbAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, + "referencedDeclaration": 3755, "src": "5034:18:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", "typeString": "function () returns (address)" } }, - "id": 2887, + "id": 2888, "isConstant": false, "isLValue": false, "isPure": false, @@ -4836,21 +4836,21 @@ "typeString": "bool" } ], - "id": 2883, + "id": 2884, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "5012:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2889, + "id": 2890, "isConstant": false, "isLValue": false, "isPure": false, @@ -4864,7 +4864,7 @@ "typeString": "tuple()" } }, - "id": 2890, + "id": 2891, "nodeType": "ExpressionStatement", "src": "5012:43:13" }, @@ -4876,25 +4876,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2892, + "id": 2893, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "5073:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2894, + "id": 2895, "indexExpression": { "argumentTypes": null, - "id": 2893, + "id": 2894, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2877, "src": "5087:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4920,21 +4920,21 @@ "typeString": "bool" } ], - "id": 2891, + "id": 2892, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "5065:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2895, + "id": 2896, "isConstant": false, "isLValue": false, "isPure": false, @@ -4948,25 +4948,25 @@ "typeString": "tuple()" } }, - "id": 2896, + "id": 2897, "nodeType": "ExpressionStatement", "src": "5065:31:13" }, { "expression": { "argumentTypes": null, - "id": 2899, + "id": 2900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2897, + "id": 2898, "name": "lastPriceQueryResult", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2777, + "referencedDeclaration": 2778, "src": "5145:20:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -4977,11 +4977,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2898, + "id": 2899, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2879, "src": "5168:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -4994,25 +4994,25 @@ "typeString": "string storage ref" } }, - "id": 2900, + "id": 2901, "nodeType": "ExpressionStatement", "src": "5145:29:13" }, { "expression": { "argumentTypes": null, - "id": 2906, + "id": 2907, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2901, + "id": 2902, "name": "lastPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, + "referencedDeclaration": 811, "src": "5184:9:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5026,11 +5026,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2903, + "id": 2904, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2879, "src": "5205:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5039,11 +5039,11 @@ }, { "argumentTypes": null, - "id": 2904, + "id": 2905, "name": "PRICE_DECIMAL_PLACES", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 804, + "referencedDeclaration": 805, "src": "5213:20:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5062,18 +5062,18 @@ "typeString": "uint256" } ], - "id": 2902, + "id": 2903, "name": "parseInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3888, + "referencedDeclaration": 3889, "src": "5196:8:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) pure returns (uint256)" } }, - "id": 2905, + "id": 2906, "isConstant": false, "isLValue": false, "isPure": false, @@ -5093,7 +5093,7 @@ "typeString": "uint256" } }, - "id": 2907, + "id": 2908, "nodeType": "ExpressionStatement", "src": "5184:50:13" }, @@ -5103,11 +5103,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2909, + "id": 2910, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2879, "src": "5266:6:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5122,18 +5122,18 @@ "typeString": "string memory" } ], - "id": 2908, + "id": 2909, "name": "UpdatedLastPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 828, + "referencedDeclaration": 829, "src": "5249:16:13", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, - "id": 2910, + "id": 2911, "isConstant": false, "isLValue": false, "isPure": false, @@ -5147,7 +5147,7 @@ "typeString": "tuple()" } }, - "id": 2911, + "id": 2912, "nodeType": "EmitStatement", "src": "5244:29:13" }, @@ -5157,18 +5157,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2912, + "id": 2913, "name": "checkSettlement", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1491, + "referencedDeclaration": 1492, "src": "5283:15:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2913, + "id": 2914, "isConstant": false, "isLValue": false, "isPure": false, @@ -5182,14 +5182,14 @@ "typeString": "tuple()" } }, - "id": 2914, + "id": 2915, "nodeType": "ExpressionStatement", "src": "5283:17:13" }, { "expression": { "argumentTypes": null, - "id": 2918, + "id": 2919, "isConstant": false, "isLValue": false, "isPure": false, @@ -5202,25 +5202,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2915, + "id": 2916, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "5384:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2917, + "id": 2918, "indexExpression": { "argumentTypes": null, - "id": 2916, + "id": 2917, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2877, "src": "5398:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5243,32 +5243,32 @@ "typeString": "tuple()" } }, - "id": 2919, + "id": 2920, "nodeType": "ExpressionStatement", "src": "5377:29:13" }, { "expression": { "argumentTypes": null, - "id": 2920, + "id": 2921, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2881, "src": "5416:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2921, + "id": 2922, "nodeType": "ExpressionStatement", "src": "5416:5:13" } ] }, "documentation": "@notice only public for callbacks from oraclize, do not call\n @param queryID of the returning query, this should match our own internal mapping\n @param result query to be processed\n @param proof result proof", - "id": 2923, + "id": 2924, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5276,15 +5276,15 @@ "name": "__callback", "nodeType": "FunctionDefinition", "parameters": { - "id": 2881, + "id": 2882, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2876, + "id": 2877, "name": "queryID", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "4950:15:13", "stateVariable": false, "storageLocation": "default", @@ -5293,7 +5293,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2875, + "id": 2876, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4950:7:13", @@ -5307,10 +5307,10 @@ }, { "constant": false, - "id": 2878, + "id": 2879, "name": "result", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "4967:13:13", "stateVariable": false, "storageLocation": "default", @@ -5319,7 +5319,7 @@ "typeString": "string" }, "typeName": { - "id": 2877, + "id": 2878, "name": "string", "nodeType": "ElementaryTypeName", "src": "4967:6:13", @@ -5333,10 +5333,10 @@ }, { "constant": false, - "id": 2880, + "id": 2881, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "4982:11:13", "stateVariable": false, "storageLocation": "default", @@ -5345,7 +5345,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2879, + "id": 2880, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4982:5:13", @@ -5362,34 +5362,34 @@ }, "payable": false, "returnParameters": { - "id": 2882, + "id": 2883, "nodeType": "ParameterList", "parameters": [], "src": "5002:0:13" }, - "scope": 2949, + "scope": 2950, "src": "4930:528:13", "stateMutability": "nonpayable", - "superFunction": 3581, + "superFunction": 3582, "visibility": "public" }, { "body": { - "id": 2947, + "id": 2948, "nodeType": "Block", "src": "5604:901:13", "statements": [ { "assignments": [ - 2927 + 2928 ], "declarations": [ { "constant": false, - "id": 2927, + "id": 2928, "name": "queryId", "nodeType": "VariableDeclaration", - "scope": 2948, + "scope": 2949, "src": "6272:15:13", "stateVariable": false, "storageLocation": "default", @@ -5398,7 +5398,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2926, + "id": 2927, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6272:7:13", @@ -5411,17 +5411,17 @@ "visibility": "internal" } ], - "id": 2934, + "id": 2935, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2929, + "id": 2930, "name": "EXPIRATION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, + "referencedDeclaration": 809, "src": "6318:10:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5430,11 +5430,11 @@ }, { "argumentTypes": null, - "id": 2930, + "id": 2931, "name": "ORACLE_DATA_SOURCE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2771, "src": "6342:18:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -5443,11 +5443,11 @@ }, { "argumentTypes": null, - "id": 2931, + "id": 2932, "name": "ORACLE_QUERY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2773, "src": "6374:12:13", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -5456,11 +5456,11 @@ }, { "argumentTypes": null, - "id": 2932, + "id": 2933, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, + "referencedDeclaration": 2776, "src": "6400:18:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5487,23 +5487,23 @@ "typeString": "uint256" } ], - "id": 2928, + "id": 2929, "name": "oraclize_query", "nodeType": "Identifier", "overloadedDeclarations": [ - 3643, - 3674, - 3709, - 3742 + 3644, + 3675, + 3710, + 3743 ], - "referencedDeclaration": 3709, + "referencedDeclaration": 3710, "src": "6290:14:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (uint256,string memory,string memory,uint256) returns (bytes32)" } }, - "id": 2933, + "id": 2934, "isConstant": false, "isLValue": false, "isPure": false, @@ -5530,18 +5530,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 2938, + "id": 2939, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2936, + "id": 2937, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2927, + "referencedDeclaration": 2928, "src": "6446:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5553,7 +5553,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2937, + "id": 2938, "isConstant": false, "isLValue": false, "isPure": true, @@ -5582,21 +5582,21 @@ "typeString": "bool" } ], - "id": 2935, + "id": 2936, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "6438:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2939, + "id": 2940, "isConstant": false, "isLValue": false, "isPure": false, @@ -5610,14 +5610,14 @@ "typeString": "tuple()" } }, - "id": 2940, + "id": 2941, "nodeType": "ExpressionStatement", "src": "6438:21:13" }, { "expression": { "argumentTypes": null, - "id": 2945, + "id": 2946, "isConstant": false, "isLValue": false, "isPure": false, @@ -5626,25 +5626,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2941, + "id": 2942, "name": "validQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2781, + "referencedDeclaration": 2782, "src": "6469:13:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 2943, + "id": 2944, "indexExpression": { "argumentTypes": null, - "id": 2942, + "id": 2943, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2927, + "referencedDeclaration": 2928, "src": "6483:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5667,7 +5667,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2944, + "id": 2945, "isConstant": false, "isLValue": false, "isPure": true, @@ -5688,14 +5688,14 @@ "typeString": "bool" } }, - "id": 2946, + "id": 2947, "nodeType": "ExpressionStatement", "src": "6469:29:13" } ] }, "documentation": "@dev call to oraclize to set up our query and record its hash.", - "id": 2948, + "id": 2949, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5703,26 +5703,26 @@ "name": "queryOracle", "nodeType": "FunctionDefinition", "parameters": { - "id": 2924, + "id": 2925, "nodeType": "ParameterList", "parameters": [], "src": "5593:2:13" }, "payable": false, "returnParameters": { - "id": 2925, + "id": 2926, "nodeType": "ParameterList", "parameters": [], "src": "5604:0:13" }, - "scope": 2949, + "scope": 2950, "src": "5573:932:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 2950, + "scope": 2951, "src": "875:5632:13" } ], @@ -5741,5 +5741,5 @@ } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.232Z" + "updatedAt": "2018-10-05T14:03:26.628Z" } \ No newline at end of file diff --git a/build/contracts/MarketContractRegistry.json b/build/contracts/MarketContractRegistry.json index 1d34348..1df334f 100644 --- a/build/contracts/MarketContractRegistry.json +++ b/build/contracts/MarketContractRegistry.json @@ -203,14 +203,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistry.sol", "exportedSymbols": { "MarketContractRegistry": [ - 1717 + 1718 ] }, - "id": 1718, + "id": 1719, "nodeType": "SourceUnit", "nodes": [ { - "id": 1519, + "id": 1520, "literals": [ "solidity", "^", @@ -223,10 +223,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", - "id": 1520, + "id": 1521, "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 4628, + "scope": 1719, + "sourceUnit": 4629, "src": "634:63:4", "symbolAliases": [], "unitAlias": "" @@ -234,10 +234,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistryInterface.sol", "file": "./MarketContractRegistryInterface.sol", - "id": 1521, + "id": 1522, "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 1733, + "scope": 1719, + "sourceUnit": 1734, "src": "698:47:4", "symbolAliases": [], "unitAlias": "" @@ -248,17 +248,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1522, + "id": 1523, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4627, + "referencedDeclaration": 4628, "src": "868:7:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$4627", + "typeIdentifier": "t_contract$_Ownable_$4628", "typeString": "contract Ownable" } }, - "id": 1523, + "id": 1524, "nodeType": "InheritanceSpecifier", "src": "868:7:4" }, @@ -266,43 +266,43 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1524, + "id": 1525, "name": "MarketContractRegistryInterface", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1732, + "referencedDeclaration": 1733, "src": "877:31:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1732", + "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1733", "typeString": "contract MarketContractRegistryInterface" } }, - "id": 1525, + "id": 1526, "nodeType": "InheritanceSpecifier", "src": "877:31:4" } ], "contractDependencies": [ - 1732, - 4627 + 1733, + 4628 ], "contractKind": "contract", "documentation": "@title MarketContractRegistry\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 1717, + "id": 1718, "linearizedBaseContracts": [ - 1717, - 1732, - 4627 + 1718, + 1733, + 4628 ], "name": "MarketContractRegistry", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1529, + "id": 1530, "name": "isWhiteListed", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "916:38:4", "stateVariable": true, "storageLocation": "default", @@ -311,9 +311,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1528, + "id": 1529, "keyType": { - "id": 1526, + "id": 1527, "name": "address", "nodeType": "ElementaryTypeName", "src": "924:7:4", @@ -329,7 +329,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1527, + "id": 1528, "name": "bool", "nodeType": "ElementaryTypeName", "src": "935:4:4", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1532, + "id": 1533, "name": "addressWhiteList", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "960:26:4", "stateVariable": true, "storageLocation": "default", @@ -357,7 +357,7 @@ }, "typeName": { "baseType": { - "id": 1530, + "id": 1531, "name": "address", "nodeType": "ElementaryTypeName", "src": "960:7:4", @@ -366,7 +366,7 @@ "typeString": "address" } }, - "id": 1531, + "id": 1532, "length": null, "nodeType": "ArrayTypeName", "src": "960:9:4", @@ -380,10 +380,10 @@ }, { "constant": false, - "id": 1536, + "id": 1537, "name": "factoryAddressWhiteList", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "1063:48:4", "stateVariable": true, "storageLocation": "default", @@ -392,9 +392,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1535, + "id": 1536, "keyType": { - "id": 1533, + "id": 1534, "name": "address", "nodeType": "ElementaryTypeName", "src": "1071:7:4", @@ -410,7 +410,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1534, + "id": 1535, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1082:4:4", @@ -426,20 +426,20 @@ { "anonymous": false, "documentation": null, - "id": 1540, + "id": 1541, "name": "AddressAddedToWhitelist", "nodeType": "EventDefinition", "parameters": { - "id": 1539, + "id": 1540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1538, + "id": 1539, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1540, + "scope": 1541, "src": "1202:31:4", "stateVariable": false, "storageLocation": "default", @@ -448,7 +448,7 @@ "typeString": "address" }, "typeName": { - "id": 1537, + "id": 1538, "name": "address", "nodeType": "ElementaryTypeName", "src": "1202:7:4", @@ -468,20 +468,20 @@ { "anonymous": false, "documentation": null, - "id": 1544, + "id": 1545, "name": "AddressRemovedFromWhitelist", "nodeType": "EventDefinition", "parameters": { - "id": 1543, + "id": 1544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1542, + "id": 1543, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1544, + "scope": 1545, "src": "1274:31:4", "stateVariable": false, "storageLocation": "default", @@ -490,7 +490,7 @@ "typeString": "address" }, "typeName": { - "id": 1541, + "id": 1542, "name": "address", "nodeType": "ElementaryTypeName", "src": "1274:7:4", @@ -510,20 +510,20 @@ { "anonymous": false, "documentation": null, - "id": 1548, + "id": 1549, "name": "FactoryAddressAdded", "nodeType": "EventDefinition", "parameters": { - "id": 1547, + "id": 1548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1546, + "id": 1547, "indexed": true, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1548, + "scope": 1549, "src": "1338:30:4", "stateVariable": false, "storageLocation": "default", @@ -532,7 +532,7 @@ "typeString": "address" }, "typeName": { - "id": 1545, + "id": 1546, "name": "address", "nodeType": "ElementaryTypeName", "src": "1338:7:4", @@ -552,20 +552,20 @@ { "anonymous": false, "documentation": null, - "id": 1552, + "id": 1553, "name": "FactoryAddressRemoved", "nodeType": "EventDefinition", "parameters": { - "id": 1551, + "id": 1552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1550, + "id": 1551, "indexed": true, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1552, + "scope": 1553, "src": "1403:30:4", "stateVariable": false, "storageLocation": "default", @@ -574,7 +574,7 @@ "typeString": "address" }, "typeName": { - "id": 1549, + "id": 1550, "name": "address", "nodeType": "ElementaryTypeName", "src": "1403:7:4", @@ -593,7 +593,7 @@ }, { "body": { - "id": 1563, + "id": 1564, "nodeType": "Block", "src": "1689:54:4", "statements": [ @@ -602,25 +602,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1559, + "id": 1560, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "1706:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1561, + "id": 1562, "indexExpression": { "argumentTypes": null, - "id": 1560, + "id": 1561, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, + "referencedDeclaration": 1555, "src": "1720:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -638,15 +638,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 1558, - "id": 1562, + "functionReturnParameters": 1559, + "id": 1563, "nodeType": "Return", "src": "1699:37:4" } ] }, "documentation": "@notice determines if an address is a valid MarketContract\n @return false if the address is not white listed.", - "id": 1564, + "id": 1565, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -654,15 +654,15 @@ "name": "isAddressWhiteListed", "nodeType": "FunctionDefinition", "parameters": { - "id": 1555, + "id": 1556, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1554, + "id": 1555, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1564, + "scope": 1565, "src": "1635:23:4", "stateVariable": false, "storageLocation": "default", @@ -671,7 +671,7 @@ "typeString": "address" }, "typeName": { - "id": 1553, + "id": 1554, "name": "address", "nodeType": "ElementaryTypeName", "src": "1635:7:4", @@ -688,15 +688,15 @@ }, "payable": false, "returnParameters": { - "id": 1558, + "id": 1559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1557, + "id": 1558, "name": "", "nodeType": "VariableDeclaration", - "scope": 1564, + "scope": 1565, "src": "1683:4:4", "stateVariable": false, "storageLocation": "default", @@ -705,7 +705,7 @@ "typeString": "bool" }, "typeName": { - "id": 1556, + "id": 1557, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1683:4:4", @@ -720,41 +720,41 @@ ], "src": "1682:6:4" }, - "scope": 1717, + "scope": 1718, "src": "1605:138:4", "stateMutability": "view", - "superFunction": 1731, + "superFunction": 1732, "visibility": "external" }, { "body": { - "id": 1572, + "id": 1573, "nodeType": "Block", "src": "1901:40:4", "statements": [ { "expression": { "argumentTypes": null, - "id": 1570, + "id": 1571, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "1918:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 1569, - "id": 1571, + "functionReturnParameters": 1570, + "id": 1572, "nodeType": "Return", "src": "1911:23:4" } ] }, "documentation": "@notice all currently whitelisted addresses\n returns array of addresses", - "id": 1573, + "id": 1574, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -762,22 +762,22 @@ "name": "getAddressWhiteList", "nodeType": "FunctionDefinition", "parameters": { - "id": 1565, + "id": 1566, "nodeType": "ParameterList", "parameters": [], "src": "1864:2:4" }, "payable": false, "returnParameters": { - "id": 1569, + "id": 1570, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1568, + "id": 1569, "name": "", "nodeType": "VariableDeclaration", - "scope": 1573, + "scope": 1574, "src": "1890:9:4", "stateVariable": false, "storageLocation": "default", @@ -787,7 +787,7 @@ }, "typeName": { "baseType": { - "id": 1566, + "id": 1567, "name": "address", "nodeType": "ElementaryTypeName", "src": "1890:7:4", @@ -796,7 +796,7 @@ "typeString": "address" } }, - "id": 1567, + "id": 1568, "length": null, "nodeType": "ArrayTypeName", "src": "1890:9:4", @@ -811,7 +811,7 @@ ], "src": "1889:11:4" }, - "scope": 1717, + "scope": 1718, "src": "1836:105:4", "stateMutability": "view", "superFunction": null, @@ -819,7 +819,7 @@ }, { "body": { - "id": 1625, + "id": 1626, "nodeType": "Block", "src": "2427:465:4", "statements": [ @@ -831,25 +831,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1585, + "id": 1586, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "2445:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1587, + "id": 1588, "indexExpression": { "argumentTypes": null, - "id": 1586, + "id": 1587, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2459:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -875,21 +875,21 @@ "typeString": "bool" } ], - "id": 1584, + "id": 1585, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2437:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1588, + "id": 1589, "isConstant": false, "isLValue": false, "isPure": false, @@ -903,7 +903,7 @@ "typeString": "tuple()" } }, - "id": 1589, + "id": 1590, "nodeType": "ExpressionStatement", "src": "2437:39:4" }, @@ -917,7 +917,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1595, + "id": 1596, "isConstant": false, "isLValue": false, "isPure": false, @@ -926,25 +926,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1591, + "id": 1592, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2494:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1593, + "id": 1594, "indexExpression": { "argumentTypes": null, - "id": 1592, + "id": 1593, "name": "whiteListIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, + "referencedDeclaration": 1578, "src": "2511:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -966,11 +966,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1594, + "id": 1595, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2530:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -991,21 +991,21 @@ "typeString": "bool" } ], - "id": 1590, + "id": 1591, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2486:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1596, + "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, @@ -1019,14 +1019,14 @@ "typeString": "tuple()" } }, - "id": 1597, + "id": 1598, "nodeType": "ExpressionStatement", "src": "2486:60:4" }, { "expression": { "argumentTypes": null, - "id": 1602, + "id": 1603, "isConstant": false, "isLValue": false, "isPure": false, @@ -1035,25 +1035,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1598, + "id": 1599, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "2556:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1600, + "id": 1601, "indexExpression": { "argumentTypes": null, - "id": 1599, + "id": 1600, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2570:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1076,7 +1076,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1601, + "id": 1602, "isConstant": false, "isLValue": false, "isPure": true, @@ -1097,14 +1097,14 @@ "typeString": "bool" } }, - "id": 1603, + "id": 1604, "nodeType": "ExpressionStatement", "src": "2556:38:4" }, { "expression": { "argumentTypes": null, - "id": 1613, + "id": 1614, "isConstant": false, "isLValue": false, "isPure": false, @@ -1113,25 +1113,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1604, + "id": 1605, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2708:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1606, + "id": 1607, "indexExpression": { "argumentTypes": null, - "id": 1605, + "id": 1606, "name": "whiteListIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, + "referencedDeclaration": 1578, "src": "2725:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1155,25 +1155,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1607, + "id": 1608, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2743:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1612, + "id": 1613, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1611, + "id": 1612, "isConstant": false, "isLValue": false, "isPure": false, @@ -1182,18 +1182,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1608, + "id": 1609, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2760:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1609, + "id": 1610, "isConstant": false, "isLValue": true, "isPure": false, @@ -1212,7 +1212,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1610, + "id": 1611, "isConstant": false, "isLValue": false, "isPure": true, @@ -1250,14 +1250,14 @@ "typeString": "address" } }, - "id": 1614, + "id": 1615, "nodeType": "ExpressionStatement", "src": "2708:80:4" }, { "expression": { "argumentTypes": null, - "id": 1619, + "id": 1620, "isConstant": false, "isLValue": false, "isPure": false, @@ -1266,18 +1266,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1615, + "id": 1616, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2798:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1617, + "id": 1618, "isConstant": false, "isLValue": true, "isPure": false, @@ -1296,7 +1296,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 1618, + "id": 1619, "isConstant": false, "isLValue": false, "isPure": true, @@ -1317,7 +1317,7 @@ "typeString": "uint256" } }, - "id": 1620, + "id": 1621, "nodeType": "ExpressionStatement", "src": "2798:28:4" }, @@ -1327,11 +1327,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1622, + "id": 1623, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2869:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1346,18 +1346,18 @@ "typeString": "address" } ], - "id": 1621, + "id": 1622, "name": "AddressRemovedFromWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, + "referencedDeclaration": 1545, "src": "2841:27:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1623, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, @@ -1371,28 +1371,28 @@ "typeString": "tuple()" } }, - "id": 1624, + "id": 1625, "nodeType": "EmitStatement", "src": "2836:49:4" } ] }, "documentation": "@dev allows for the owner to remove a white listed contract, eventually ownership could transition to\n a decentralized smart contract of community members to vote\n @param contractAddress contract to removed from white list\n @param whiteListIndex of the contractAddress in the addressWhiteList to be removed.", - "id": 1626, + "id": 1627, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1580, + "id": 1581, "modifierName": { "argumentTypes": null, - "id": 1579, + "id": 1580, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "2398:9:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1406,15 +1406,15 @@ "name": "removeContractFromWhiteList", "nodeType": "FunctionDefinition", "parameters": { - "id": 1578, + "id": 1579, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1575, + "id": 1576, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1626, + "scope": 1627, "src": "2330:23:4", "stateVariable": false, "storageLocation": "default", @@ -1423,7 +1423,7 @@ "typeString": "address" }, "typeName": { - "id": 1574, + "id": 1575, "name": "address", "nodeType": "ElementaryTypeName", "src": "2330:7:4", @@ -1437,10 +1437,10 @@ }, { "constant": false, - "id": 1577, + "id": 1578, "name": "whiteListIndex", "nodeType": "VariableDeclaration", - "scope": 1626, + "scope": 1627, "src": "2363:19:4", "stateVariable": false, "storageLocation": "default", @@ -1449,7 +1449,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1576, + "id": 1577, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2363:4:4", @@ -1466,15 +1466,15 @@ }, "payable": false, "returnParameters": { - "id": 1583, + "id": 1584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1582, + "id": 1583, "name": "", "nodeType": "VariableDeclaration", - "scope": 1626, + "scope": 1627, "src": "2417:4:4", "stateVariable": false, "storageLocation": "default", @@ -1483,7 +1483,7 @@ "typeString": "bool" }, "typeName": { - "id": 1581, + "id": 1582, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2417:4:4", @@ -1498,7 +1498,7 @@ ], "src": "2416:6:4" }, - "scope": 1717, + "scope": 1718, "src": "2284:608:4", "stateMutability": "nonpayable", "superFunction": null, @@ -1506,7 +1506,7 @@ }, { "body": { - "id": 1666, + "id": 1667, "nodeType": "Block", "src": "3216:284:4", "statements": [ @@ -1520,7 +1520,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1640, + "id": 1641, "isConstant": false, "isLValue": false, "isPure": false, @@ -1531,7 +1531,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1635, + "id": 1636, "isConstant": false, "isLValue": false, "isPure": false, @@ -1540,18 +1540,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1632, + "id": 1633, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3234:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1633, + "id": 1634, "isConstant": false, "isLValue": false, "isPure": false, @@ -1569,11 +1569,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1634, + "id": 1635, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4576, "src": "3248:5:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1592,34 +1592,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1636, + "id": 1637, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3257:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1639, + "id": 1640, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1637, + "id": 1638, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3281:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1638, + "id": 1639, "isConstant": false, "isLValue": false, "isPure": false, @@ -1658,21 +1658,21 @@ "typeString": "bool" } ], - "id": 1631, + "id": 1632, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3226:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1641, + "id": 1642, "isConstant": false, "isLValue": false, "isPure": false, @@ -1686,7 +1686,7 @@ "typeString": "tuple()" } }, - "id": 1642, + "id": 1643, "nodeType": "ExpressionStatement", "src": "3226:67:4" }, @@ -1696,7 +1696,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1647, + "id": 1648, "isConstant": false, "isLValue": false, "isPure": false, @@ -1709,25 +1709,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1644, + "id": 1645, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "3312:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1646, + "id": 1647, "indexExpression": { "argumentTypes": null, - "id": 1645, + "id": 1646, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3326:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1758,21 +1758,21 @@ "typeString": "bool" } ], - "id": 1643, + "id": 1644, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3303:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1648, + "id": 1649, "isConstant": false, "isLValue": false, "isPure": false, @@ -1786,14 +1786,14 @@ "typeString": "tuple()" } }, - "id": 1649, + "id": 1650, "nodeType": "ExpressionStatement", "src": "3303:40:4" }, { "expression": { "argumentTypes": null, - "id": 1654, + "id": 1655, "isConstant": false, "isLValue": false, "isPure": false, @@ -1802,25 +1802,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1650, + "id": 1651, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "3353:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1652, + "id": 1653, "indexExpression": { "argumentTypes": null, - "id": 1651, + "id": 1652, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3367:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1843,7 +1843,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1653, + "id": 1654, "isConstant": false, "isLValue": false, "isPure": true, @@ -1864,7 +1864,7 @@ "typeString": "bool" } }, - "id": 1655, + "id": 1656, "nodeType": "ExpressionStatement", "src": "3353:37:4" }, @@ -1874,11 +1874,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1659, + "id": 1660, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3422:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1895,18 +1895,18 @@ ], "expression": { "argumentTypes": null, - "id": 1656, + "id": 1657, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "3400:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1658, + "id": 1659, "isConstant": false, "isLValue": false, "isPure": false, @@ -1920,7 +1920,7 @@ "typeString": "function (address) returns (uint256)" } }, - "id": 1660, + "id": 1661, "isConstant": false, "isLValue": false, "isPure": false, @@ -1934,7 +1934,7 @@ "typeString": "uint256" } }, - "id": 1661, + "id": 1662, "nodeType": "ExpressionStatement", "src": "3400:38:4" }, @@ -1944,11 +1944,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1663, + "id": 1664, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3477:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1963,18 +1963,18 @@ "typeString": "address" } ], - "id": 1662, + "id": 1663, "name": "AddressAddedToWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1540, + "referencedDeclaration": 1541, "src": "3453:23:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1664, + "id": 1665, "isConstant": false, "isLValue": false, "isPure": false, @@ -1988,14 +1988,14 @@ "typeString": "tuple()" } }, - "id": 1665, + "id": 1666, "nodeType": "EmitStatement", "src": "3448:45:4" } ] }, "documentation": "@dev allows for the owner or factory to add a white listed contract, eventually ownership could transition to\n a decentralized smart contract of community members to vote\n @param contractAddress contract to removed from white list", - "id": 1667, + "id": 1668, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2003,15 +2003,15 @@ "name": "addAddressToWhiteList", "nodeType": "FunctionDefinition", "parameters": { - "id": 1629, + "id": 1630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1628, + "id": 1629, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1667, + "scope": 1668, "src": "3182:23:4", "stateVariable": false, "storageLocation": "default", @@ -2020,7 +2020,7 @@ "typeString": "address" }, "typeName": { - "id": 1627, + "id": 1628, "name": "address", "nodeType": "ElementaryTypeName", "src": "3182:7:4", @@ -2037,20 +2037,20 @@ }, "payable": false, "returnParameters": { - "id": 1630, + "id": 1631, "nodeType": "ParameterList", "parameters": [], "src": "3216:0:4" }, - "scope": 1717, + "scope": 1718, "src": "3151:349:4", "stateMutability": "nonpayable", - "superFunction": 1724, + "superFunction": 1725, "visibility": "external" }, { "body": { - "id": 1691, + "id": 1692, "nodeType": "Block", "src": "3783:172:4", "statements": [ @@ -2060,7 +2060,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1678, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -2073,25 +2073,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1675, + "id": 1676, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3802:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1677, + "id": 1678, "indexExpression": { "argumentTypes": null, - "id": 1676, + "id": 1677, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1669, + "referencedDeclaration": 1670, "src": "3826:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2122,21 +2122,21 @@ "typeString": "bool" } ], - "id": 1674, + "id": 1675, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3793:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1679, + "id": 1680, "isConstant": false, "isLValue": false, "isPure": false, @@ -2150,14 +2150,14 @@ "typeString": "tuple()" } }, - "id": 1680, + "id": 1681, "nodeType": "ExpressionStatement", "src": "3793:49:4" }, { "expression": { "argumentTypes": null, - "id": 1685, + "id": 1686, "isConstant": false, "isLValue": false, "isPure": false, @@ -2166,25 +2166,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1681, + "id": 1682, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3852:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1683, + "id": 1684, "indexExpression": { "argumentTypes": null, - "id": 1682, + "id": 1683, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1669, + "referencedDeclaration": 1670, "src": "3876:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2207,7 +2207,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1684, + "id": 1685, "isConstant": false, "isLValue": false, "isPure": true, @@ -2228,7 +2228,7 @@ "typeString": "bool" } }, - "id": 1686, + "id": 1687, "nodeType": "ExpressionStatement", "src": "3852:46:4" }, @@ -2238,11 +2238,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1688, + "id": 1689, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1669, + "referencedDeclaration": 1670, "src": "3933:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2257,18 +2257,18 @@ "typeString": "address" } ], - "id": 1687, + "id": 1688, "name": "FactoryAddressAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1548, + "referencedDeclaration": 1549, "src": "3913:19:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1689, + "id": 1690, "isConstant": false, "isLValue": false, "isPure": false, @@ -2282,28 +2282,28 @@ "typeString": "tuple()" } }, - "id": 1690, + "id": 1691, "nodeType": "EmitStatement", "src": "3908:40:4" } ] }, "documentation": "@dev allows for the owner to add a new address of a factory responsible for creating new market contracts\n @param factoryAddress address of factory to be allowed to add contracts to whitelist", - "id": 1692, + "id": 1693, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1672, + "id": 1673, "modifierName": { "argumentTypes": null, - "id": 1671, + "id": 1672, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "3773:9:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2317,15 +2317,15 @@ "name": "addFactoryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 1670, + "id": 1671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1669, + "id": 1670, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1692, + "scope": 1693, "src": "3740:22:4", "stateVariable": false, "storageLocation": "default", @@ -2334,7 +2334,7 @@ "typeString": "address" }, "typeName": { - "id": 1668, + "id": 1669, "name": "address", "nodeType": "ElementaryTypeName", "src": "3740:7:4", @@ -2351,12 +2351,12 @@ }, "payable": false, "returnParameters": { - "id": 1673, + "id": 1674, "nodeType": "ParameterList", "parameters": [], "src": "3783:0:4" }, - "scope": 1717, + "scope": 1718, "src": "3713:242:4", "stateMutability": "nonpayable", "superFunction": null, @@ -2364,7 +2364,7 @@ }, { "body": { - "id": 1715, + "id": 1716, "nodeType": "Block", "src": "4165:174:4", "statements": [ @@ -2376,25 +2376,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1700, + "id": 1701, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "4183:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1702, + "id": 1703, "indexExpression": { "argumentTypes": null, - "id": 1701, + "id": 1702, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1695, "src": "4207:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2420,21 +2420,21 @@ "typeString": "bool" } ], - "id": 1699, + "id": 1700, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "4175:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1703, + "id": 1704, "isConstant": false, "isLValue": false, "isPure": false, @@ -2448,14 +2448,14 @@ "typeString": "tuple()" } }, - "id": 1704, + "id": 1705, "nodeType": "ExpressionStatement", "src": "4175:48:4" }, { "expression": { "argumentTypes": null, - "id": 1709, + "id": 1710, "isConstant": false, "isLValue": false, "isPure": false, @@ -2464,25 +2464,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1705, + "id": 1706, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "4233:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1707, + "id": 1708, "indexExpression": { "argumentTypes": null, - "id": 1706, + "id": 1707, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1695, "src": "4257:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2505,7 +2505,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1708, + "id": 1709, "isConstant": false, "isLValue": false, "isPure": true, @@ -2526,7 +2526,7 @@ "typeString": "bool" } }, - "id": 1710, + "id": 1711, "nodeType": "ExpressionStatement", "src": "4233:47:4" }, @@ -2536,11 +2536,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1712, + "id": 1713, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1695, "src": "4317:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2555,18 +2555,18 @@ "typeString": "address" } ], - "id": 1711, + "id": 1712, "name": "FactoryAddressRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, + "referencedDeclaration": 1553, "src": "4295:21:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1713, + "id": 1714, "isConstant": false, "isLValue": false, "isPure": false, @@ -2580,28 +2580,28 @@ "typeString": "tuple()" } }, - "id": 1714, + "id": 1715, "nodeType": "EmitStatement", "src": "4290:42:4" } ] }, "documentation": "@dev allows for the owner to remove an address of a factory\n @param factoryAddress address of factory to be removed", - "id": 1716, + "id": 1717, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1697, + "id": 1698, "modifierName": { "argumentTypes": null, - "id": 1696, + "id": 1697, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "4155:9:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2615,15 +2615,15 @@ "name": "removeFactoryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 1695, + "id": 1696, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1694, + "id": 1695, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1716, + "scope": 1717, "src": "4122:22:4", "stateVariable": false, "storageLocation": "default", @@ -2632,7 +2632,7 @@ "typeString": "address" }, "typeName": { - "id": 1693, + "id": 1694, "name": "address", "nodeType": "ElementaryTypeName", "src": "4122:7:4", @@ -2649,19 +2649,19 @@ }, "payable": false, "returnParameters": { - "id": 1698, + "id": 1699, "nodeType": "ParameterList", "parameters": [], "src": "4165:0:4" }, - "scope": 1717, + "scope": 1718, "src": "4092:247:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1718, + "scope": 1719, "src": "833:3508:4" } ], @@ -2671,14 +2671,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistry.sol", "exportedSymbols": { "MarketContractRegistry": [ - 1717 + 1718 ] }, - "id": 1718, + "id": 1719, "nodeType": "SourceUnit", "nodes": [ { - "id": 1519, + "id": 1520, "literals": [ "solidity", "^", @@ -2691,10 +2691,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", - "id": 1520, + "id": 1521, "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 4628, + "scope": 1719, + "sourceUnit": 4629, "src": "634:63:4", "symbolAliases": [], "unitAlias": "" @@ -2702,10 +2702,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/MarketContractRegistryInterface.sol", "file": "./MarketContractRegistryInterface.sol", - "id": 1521, + "id": 1522, "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 1733, + "scope": 1719, + "sourceUnit": 1734, "src": "698:47:4", "symbolAliases": [], "unitAlias": "" @@ -2716,17 +2716,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1522, + "id": 1523, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4627, + "referencedDeclaration": 4628, "src": "868:7:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$4627", + "typeIdentifier": "t_contract$_Ownable_$4628", "typeString": "contract Ownable" } }, - "id": 1523, + "id": 1524, "nodeType": "InheritanceSpecifier", "src": "868:7:4" }, @@ -2734,43 +2734,43 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1524, + "id": 1525, "name": "MarketContractRegistryInterface", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1732, + "referencedDeclaration": 1733, "src": "877:31:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1732", + "typeIdentifier": "t_contract$_MarketContractRegistryInterface_$1733", "typeString": "contract MarketContractRegistryInterface" } }, - "id": 1525, + "id": 1526, "nodeType": "InheritanceSpecifier", "src": "877:31:4" } ], "contractDependencies": [ - 1732, - 4627 + 1733, + 4628 ], "contractKind": "contract", "documentation": "@title MarketContractRegistry\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 1717, + "id": 1718, "linearizedBaseContracts": [ - 1717, - 1732, - 4627 + 1718, + 1733, + 4628 ], "name": "MarketContractRegistry", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1529, + "id": 1530, "name": "isWhiteListed", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "916:38:4", "stateVariable": true, "storageLocation": "default", @@ -2779,9 +2779,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1528, + "id": 1529, "keyType": { - "id": 1526, + "id": 1527, "name": "address", "nodeType": "ElementaryTypeName", "src": "924:7:4", @@ -2797,7 +2797,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1527, + "id": 1528, "name": "bool", "nodeType": "ElementaryTypeName", "src": "935:4:4", @@ -2812,10 +2812,10 @@ }, { "constant": false, - "id": 1532, + "id": 1533, "name": "addressWhiteList", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "960:26:4", "stateVariable": true, "storageLocation": "default", @@ -2825,7 +2825,7 @@ }, "typeName": { "baseType": { - "id": 1530, + "id": 1531, "name": "address", "nodeType": "ElementaryTypeName", "src": "960:7:4", @@ -2834,7 +2834,7 @@ "typeString": "address" } }, - "id": 1531, + "id": 1532, "length": null, "nodeType": "ArrayTypeName", "src": "960:9:4", @@ -2848,10 +2848,10 @@ }, { "constant": false, - "id": 1536, + "id": 1537, "name": "factoryAddressWhiteList", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "1063:48:4", "stateVariable": true, "storageLocation": "default", @@ -2860,9 +2860,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1535, + "id": 1536, "keyType": { - "id": 1533, + "id": 1534, "name": "address", "nodeType": "ElementaryTypeName", "src": "1071:7:4", @@ -2878,7 +2878,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1534, + "id": 1535, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1082:4:4", @@ -2894,20 +2894,20 @@ { "anonymous": false, "documentation": null, - "id": 1540, + "id": 1541, "name": "AddressAddedToWhitelist", "nodeType": "EventDefinition", "parameters": { - "id": 1539, + "id": 1540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1538, + "id": 1539, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1540, + "scope": 1541, "src": "1202:31:4", "stateVariable": false, "storageLocation": "default", @@ -2916,7 +2916,7 @@ "typeString": "address" }, "typeName": { - "id": 1537, + "id": 1538, "name": "address", "nodeType": "ElementaryTypeName", "src": "1202:7:4", @@ -2936,20 +2936,20 @@ { "anonymous": false, "documentation": null, - "id": 1544, + "id": 1545, "name": "AddressRemovedFromWhitelist", "nodeType": "EventDefinition", "parameters": { - "id": 1543, + "id": 1544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1542, + "id": 1543, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1544, + "scope": 1545, "src": "1274:31:4", "stateVariable": false, "storageLocation": "default", @@ -2958,7 +2958,7 @@ "typeString": "address" }, "typeName": { - "id": 1541, + "id": 1542, "name": "address", "nodeType": "ElementaryTypeName", "src": "1274:7:4", @@ -2978,20 +2978,20 @@ { "anonymous": false, "documentation": null, - "id": 1548, + "id": 1549, "name": "FactoryAddressAdded", "nodeType": "EventDefinition", "parameters": { - "id": 1547, + "id": 1548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1546, + "id": 1547, "indexed": true, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1548, + "scope": 1549, "src": "1338:30:4", "stateVariable": false, "storageLocation": "default", @@ -3000,7 +3000,7 @@ "typeString": "address" }, "typeName": { - "id": 1545, + "id": 1546, "name": "address", "nodeType": "ElementaryTypeName", "src": "1338:7:4", @@ -3020,20 +3020,20 @@ { "anonymous": false, "documentation": null, - "id": 1552, + "id": 1553, "name": "FactoryAddressRemoved", "nodeType": "EventDefinition", "parameters": { - "id": 1551, + "id": 1552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1550, + "id": 1551, "indexed": true, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1552, + "scope": 1553, "src": "1403:30:4", "stateVariable": false, "storageLocation": "default", @@ -3042,7 +3042,7 @@ "typeString": "address" }, "typeName": { - "id": 1549, + "id": 1550, "name": "address", "nodeType": "ElementaryTypeName", "src": "1403:7:4", @@ -3061,7 +3061,7 @@ }, { "body": { - "id": 1563, + "id": 1564, "nodeType": "Block", "src": "1689:54:4", "statements": [ @@ -3070,25 +3070,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1559, + "id": 1560, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "1706:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1561, + "id": 1562, "indexExpression": { "argumentTypes": null, - "id": 1560, + "id": 1561, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1554, + "referencedDeclaration": 1555, "src": "1720:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3106,15 +3106,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 1558, - "id": 1562, + "functionReturnParameters": 1559, + "id": 1563, "nodeType": "Return", "src": "1699:37:4" } ] }, "documentation": "@notice determines if an address is a valid MarketContract\n @return false if the address is not white listed.", - "id": 1564, + "id": 1565, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3122,15 +3122,15 @@ "name": "isAddressWhiteListed", "nodeType": "FunctionDefinition", "parameters": { - "id": 1555, + "id": 1556, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1554, + "id": 1555, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1564, + "scope": 1565, "src": "1635:23:4", "stateVariable": false, "storageLocation": "default", @@ -3139,7 +3139,7 @@ "typeString": "address" }, "typeName": { - "id": 1553, + "id": 1554, "name": "address", "nodeType": "ElementaryTypeName", "src": "1635:7:4", @@ -3156,15 +3156,15 @@ }, "payable": false, "returnParameters": { - "id": 1558, + "id": 1559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1557, + "id": 1558, "name": "", "nodeType": "VariableDeclaration", - "scope": 1564, + "scope": 1565, "src": "1683:4:4", "stateVariable": false, "storageLocation": "default", @@ -3173,7 +3173,7 @@ "typeString": "bool" }, "typeName": { - "id": 1556, + "id": 1557, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1683:4:4", @@ -3188,41 +3188,41 @@ ], "src": "1682:6:4" }, - "scope": 1717, + "scope": 1718, "src": "1605:138:4", "stateMutability": "view", - "superFunction": 1731, + "superFunction": 1732, "visibility": "external" }, { "body": { - "id": 1572, + "id": 1573, "nodeType": "Block", "src": "1901:40:4", "statements": [ { "expression": { "argumentTypes": null, - "id": 1570, + "id": 1571, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "1918:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 1569, - "id": 1571, + "functionReturnParameters": 1570, + "id": 1572, "nodeType": "Return", "src": "1911:23:4" } ] }, "documentation": "@notice all currently whitelisted addresses\n returns array of addresses", - "id": 1573, + "id": 1574, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3230,22 +3230,22 @@ "name": "getAddressWhiteList", "nodeType": "FunctionDefinition", "parameters": { - "id": 1565, + "id": 1566, "nodeType": "ParameterList", "parameters": [], "src": "1864:2:4" }, "payable": false, "returnParameters": { - "id": 1569, + "id": 1570, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1568, + "id": 1569, "name": "", "nodeType": "VariableDeclaration", - "scope": 1573, + "scope": 1574, "src": "1890:9:4", "stateVariable": false, "storageLocation": "default", @@ -3255,7 +3255,7 @@ }, "typeName": { "baseType": { - "id": 1566, + "id": 1567, "name": "address", "nodeType": "ElementaryTypeName", "src": "1890:7:4", @@ -3264,7 +3264,7 @@ "typeString": "address" } }, - "id": 1567, + "id": 1568, "length": null, "nodeType": "ArrayTypeName", "src": "1890:9:4", @@ -3279,7 +3279,7 @@ ], "src": "1889:11:4" }, - "scope": 1717, + "scope": 1718, "src": "1836:105:4", "stateMutability": "view", "superFunction": null, @@ -3287,7 +3287,7 @@ }, { "body": { - "id": 1625, + "id": 1626, "nodeType": "Block", "src": "2427:465:4", "statements": [ @@ -3299,25 +3299,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1585, + "id": 1586, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "2445:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1587, + "id": 1588, "indexExpression": { "argumentTypes": null, - "id": 1586, + "id": 1587, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2459:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3343,21 +3343,21 @@ "typeString": "bool" } ], - "id": 1584, + "id": 1585, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2437:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1588, + "id": 1589, "isConstant": false, "isLValue": false, "isPure": false, @@ -3371,7 +3371,7 @@ "typeString": "tuple()" } }, - "id": 1589, + "id": 1590, "nodeType": "ExpressionStatement", "src": "2437:39:4" }, @@ -3385,7 +3385,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1595, + "id": 1596, "isConstant": false, "isLValue": false, "isPure": false, @@ -3394,25 +3394,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1591, + "id": 1592, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2494:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1593, + "id": 1594, "indexExpression": { "argumentTypes": null, - "id": 1592, + "id": 1593, "name": "whiteListIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, + "referencedDeclaration": 1578, "src": "2511:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3434,11 +3434,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1594, + "id": 1595, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2530:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3459,21 +3459,21 @@ "typeString": "bool" } ], - "id": 1590, + "id": 1591, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2486:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1596, + "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, @@ -3487,14 +3487,14 @@ "typeString": "tuple()" } }, - "id": 1597, + "id": 1598, "nodeType": "ExpressionStatement", "src": "2486:60:4" }, { "expression": { "argumentTypes": null, - "id": 1602, + "id": 1603, "isConstant": false, "isLValue": false, "isPure": false, @@ -3503,25 +3503,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1598, + "id": 1599, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "2556:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1600, + "id": 1601, "indexExpression": { "argumentTypes": null, - "id": 1599, + "id": 1600, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2570:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3544,7 +3544,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1601, + "id": 1602, "isConstant": false, "isLValue": false, "isPure": true, @@ -3565,14 +3565,14 @@ "typeString": "bool" } }, - "id": 1603, + "id": 1604, "nodeType": "ExpressionStatement", "src": "2556:38:4" }, { "expression": { "argumentTypes": null, - "id": 1613, + "id": 1614, "isConstant": false, "isLValue": false, "isPure": false, @@ -3581,25 +3581,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1604, + "id": 1605, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2708:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1606, + "id": 1607, "indexExpression": { "argumentTypes": null, - "id": 1605, + "id": 1606, "name": "whiteListIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1577, + "referencedDeclaration": 1578, "src": "2725:14:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3623,25 +3623,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1607, + "id": 1608, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2743:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1612, + "id": 1613, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1611, + "id": 1612, "isConstant": false, "isLValue": false, "isPure": false, @@ -3650,18 +3650,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1608, + "id": 1609, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2760:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1609, + "id": 1610, "isConstant": false, "isLValue": true, "isPure": false, @@ -3680,7 +3680,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1610, + "id": 1611, "isConstant": false, "isLValue": false, "isPure": true, @@ -3718,14 +3718,14 @@ "typeString": "address" } }, - "id": 1614, + "id": 1615, "nodeType": "ExpressionStatement", "src": "2708:80:4" }, { "expression": { "argumentTypes": null, - "id": 1619, + "id": 1620, "isConstant": false, "isLValue": false, "isPure": false, @@ -3734,18 +3734,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1615, + "id": 1616, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "2798:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1617, + "id": 1618, "isConstant": false, "isLValue": true, "isPure": false, @@ -3764,7 +3764,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 1618, + "id": 1619, "isConstant": false, "isLValue": false, "isPure": true, @@ -3785,7 +3785,7 @@ "typeString": "uint256" } }, - "id": 1620, + "id": 1621, "nodeType": "ExpressionStatement", "src": "2798:28:4" }, @@ -3795,11 +3795,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1622, + "id": 1623, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1575, + "referencedDeclaration": 1576, "src": "2869:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3814,18 +3814,18 @@ "typeString": "address" } ], - "id": 1621, + "id": 1622, "name": "AddressRemovedFromWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, + "referencedDeclaration": 1545, "src": "2841:27:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1623, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, @@ -3839,28 +3839,28 @@ "typeString": "tuple()" } }, - "id": 1624, + "id": 1625, "nodeType": "EmitStatement", "src": "2836:49:4" } ] }, "documentation": "@dev allows for the owner to remove a white listed contract, eventually ownership could transition to\n a decentralized smart contract of community members to vote\n @param contractAddress contract to removed from white list\n @param whiteListIndex of the contractAddress in the addressWhiteList to be removed.", - "id": 1626, + "id": 1627, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1580, + "id": 1581, "modifierName": { "argumentTypes": null, - "id": 1579, + "id": 1580, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "2398:9:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3874,15 +3874,15 @@ "name": "removeContractFromWhiteList", "nodeType": "FunctionDefinition", "parameters": { - "id": 1578, + "id": 1579, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1575, + "id": 1576, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1626, + "scope": 1627, "src": "2330:23:4", "stateVariable": false, "storageLocation": "default", @@ -3891,7 +3891,7 @@ "typeString": "address" }, "typeName": { - "id": 1574, + "id": 1575, "name": "address", "nodeType": "ElementaryTypeName", "src": "2330:7:4", @@ -3905,10 +3905,10 @@ }, { "constant": false, - "id": 1577, + "id": 1578, "name": "whiteListIndex", "nodeType": "VariableDeclaration", - "scope": 1626, + "scope": 1627, "src": "2363:19:4", "stateVariable": false, "storageLocation": "default", @@ -3917,7 +3917,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1576, + "id": 1577, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2363:4:4", @@ -3934,15 +3934,15 @@ }, "payable": false, "returnParameters": { - "id": 1583, + "id": 1584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1582, + "id": 1583, "name": "", "nodeType": "VariableDeclaration", - "scope": 1626, + "scope": 1627, "src": "2417:4:4", "stateVariable": false, "storageLocation": "default", @@ -3951,7 +3951,7 @@ "typeString": "bool" }, "typeName": { - "id": 1581, + "id": 1582, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2417:4:4", @@ -3966,7 +3966,7 @@ ], "src": "2416:6:4" }, - "scope": 1717, + "scope": 1718, "src": "2284:608:4", "stateMutability": "nonpayable", "superFunction": null, @@ -3974,7 +3974,7 @@ }, { "body": { - "id": 1666, + "id": 1667, "nodeType": "Block", "src": "3216:284:4", "statements": [ @@ -3988,7 +3988,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1640, + "id": 1641, "isConstant": false, "isLValue": false, "isPure": false, @@ -3999,7 +3999,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1635, + "id": 1636, "isConstant": false, "isLValue": false, "isPure": false, @@ -4008,18 +4008,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1632, + "id": 1633, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3234:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1633, + "id": 1634, "isConstant": false, "isLValue": false, "isPure": false, @@ -4037,11 +4037,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1634, + "id": 1635, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4576, "src": "3248:5:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4060,34 +4060,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1636, + "id": 1637, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3257:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1639, + "id": 1640, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1637, + "id": 1638, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3281:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1638, + "id": 1639, "isConstant": false, "isLValue": false, "isPure": false, @@ -4126,21 +4126,21 @@ "typeString": "bool" } ], - "id": 1631, + "id": 1632, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3226:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1641, + "id": 1642, "isConstant": false, "isLValue": false, "isPure": false, @@ -4154,7 +4154,7 @@ "typeString": "tuple()" } }, - "id": 1642, + "id": 1643, "nodeType": "ExpressionStatement", "src": "3226:67:4" }, @@ -4164,7 +4164,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1647, + "id": 1648, "isConstant": false, "isLValue": false, "isPure": false, @@ -4177,25 +4177,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1644, + "id": 1645, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "3312:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1646, + "id": 1647, "indexExpression": { "argumentTypes": null, - "id": 1645, + "id": 1646, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3326:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4226,21 +4226,21 @@ "typeString": "bool" } ], - "id": 1643, + "id": 1644, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3303:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1648, + "id": 1649, "isConstant": false, "isLValue": false, "isPure": false, @@ -4254,14 +4254,14 @@ "typeString": "tuple()" } }, - "id": 1649, + "id": 1650, "nodeType": "ExpressionStatement", "src": "3303:40:4" }, { "expression": { "argumentTypes": null, - "id": 1654, + "id": 1655, "isConstant": false, "isLValue": false, "isPure": false, @@ -4270,25 +4270,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1650, + "id": 1651, "name": "isWhiteListed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1530, "src": "3353:13:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1652, + "id": 1653, "indexExpression": { "argumentTypes": null, - "id": 1651, + "id": 1652, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3367:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4311,7 +4311,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1653, + "id": 1654, "isConstant": false, "isLValue": false, "isPure": true, @@ -4332,7 +4332,7 @@ "typeString": "bool" } }, - "id": 1655, + "id": 1656, "nodeType": "ExpressionStatement", "src": "3353:37:4" }, @@ -4342,11 +4342,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1659, + "id": 1660, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3422:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4363,18 +4363,18 @@ ], "expression": { "argumentTypes": null, - "id": 1656, + "id": 1657, "name": "addressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "3400:16:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 1658, + "id": 1659, "isConstant": false, "isLValue": false, "isPure": false, @@ -4388,7 +4388,7 @@ "typeString": "function (address) returns (uint256)" } }, - "id": 1660, + "id": 1661, "isConstant": false, "isLValue": false, "isPure": false, @@ -4402,7 +4402,7 @@ "typeString": "uint256" } }, - "id": 1661, + "id": 1662, "nodeType": "ExpressionStatement", "src": "3400:38:4" }, @@ -4412,11 +4412,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1663, + "id": 1664, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1628, + "referencedDeclaration": 1629, "src": "3477:15:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4431,18 +4431,18 @@ "typeString": "address" } ], - "id": 1662, + "id": 1663, "name": "AddressAddedToWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1540, + "referencedDeclaration": 1541, "src": "3453:23:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1664, + "id": 1665, "isConstant": false, "isLValue": false, "isPure": false, @@ -4456,14 +4456,14 @@ "typeString": "tuple()" } }, - "id": 1665, + "id": 1666, "nodeType": "EmitStatement", "src": "3448:45:4" } ] }, "documentation": "@dev allows for the owner or factory to add a white listed contract, eventually ownership could transition to\n a decentralized smart contract of community members to vote\n @param contractAddress contract to removed from white list", - "id": 1667, + "id": 1668, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4471,15 +4471,15 @@ "name": "addAddressToWhiteList", "nodeType": "FunctionDefinition", "parameters": { - "id": 1629, + "id": 1630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1628, + "id": 1629, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 1667, + "scope": 1668, "src": "3182:23:4", "stateVariable": false, "storageLocation": "default", @@ -4488,7 +4488,7 @@ "typeString": "address" }, "typeName": { - "id": 1627, + "id": 1628, "name": "address", "nodeType": "ElementaryTypeName", "src": "3182:7:4", @@ -4505,20 +4505,20 @@ }, "payable": false, "returnParameters": { - "id": 1630, + "id": 1631, "nodeType": "ParameterList", "parameters": [], "src": "3216:0:4" }, - "scope": 1717, + "scope": 1718, "src": "3151:349:4", "stateMutability": "nonpayable", - "superFunction": 1724, + "superFunction": 1725, "visibility": "external" }, { "body": { - "id": 1691, + "id": 1692, "nodeType": "Block", "src": "3783:172:4", "statements": [ @@ -4528,7 +4528,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1678, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -4541,25 +4541,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1675, + "id": 1676, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3802:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1677, + "id": 1678, "indexExpression": { "argumentTypes": null, - "id": 1676, + "id": 1677, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1669, + "referencedDeclaration": 1670, "src": "3826:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4590,21 +4590,21 @@ "typeString": "bool" } ], - "id": 1674, + "id": 1675, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3793:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1679, + "id": 1680, "isConstant": false, "isLValue": false, "isPure": false, @@ -4618,14 +4618,14 @@ "typeString": "tuple()" } }, - "id": 1680, + "id": 1681, "nodeType": "ExpressionStatement", "src": "3793:49:4" }, { "expression": { "argumentTypes": null, - "id": 1685, + "id": 1686, "isConstant": false, "isLValue": false, "isPure": false, @@ -4634,25 +4634,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1681, + "id": 1682, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3852:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1683, + "id": 1684, "indexExpression": { "argumentTypes": null, - "id": 1682, + "id": 1683, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1669, + "referencedDeclaration": 1670, "src": "3876:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4675,7 +4675,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1684, + "id": 1685, "isConstant": false, "isLValue": false, "isPure": true, @@ -4696,7 +4696,7 @@ "typeString": "bool" } }, - "id": 1686, + "id": 1687, "nodeType": "ExpressionStatement", "src": "3852:46:4" }, @@ -4706,11 +4706,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1688, + "id": 1689, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1669, + "referencedDeclaration": 1670, "src": "3933:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4725,18 +4725,18 @@ "typeString": "address" } ], - "id": 1687, + "id": 1688, "name": "FactoryAddressAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1548, + "referencedDeclaration": 1549, "src": "3913:19:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1689, + "id": 1690, "isConstant": false, "isLValue": false, "isPure": false, @@ -4750,28 +4750,28 @@ "typeString": "tuple()" } }, - "id": 1690, + "id": 1691, "nodeType": "EmitStatement", "src": "3908:40:4" } ] }, "documentation": "@dev allows for the owner to add a new address of a factory responsible for creating new market contracts\n @param factoryAddress address of factory to be allowed to add contracts to whitelist", - "id": 1692, + "id": 1693, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1672, + "id": 1673, "modifierName": { "argumentTypes": null, - "id": 1671, + "id": 1672, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "3773:9:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -4785,15 +4785,15 @@ "name": "addFactoryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 1670, + "id": 1671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1669, + "id": 1670, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1692, + "scope": 1693, "src": "3740:22:4", "stateVariable": false, "storageLocation": "default", @@ -4802,7 +4802,7 @@ "typeString": "address" }, "typeName": { - "id": 1668, + "id": 1669, "name": "address", "nodeType": "ElementaryTypeName", "src": "3740:7:4", @@ -4819,12 +4819,12 @@ }, "payable": false, "returnParameters": { - "id": 1673, + "id": 1674, "nodeType": "ParameterList", "parameters": [], "src": "3783:0:4" }, - "scope": 1717, + "scope": 1718, "src": "3713:242:4", "stateMutability": "nonpayable", "superFunction": null, @@ -4832,7 +4832,7 @@ }, { "body": { - "id": 1715, + "id": 1716, "nodeType": "Block", "src": "4165:174:4", "statements": [ @@ -4844,25 +4844,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1700, + "id": 1701, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "4183:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1702, + "id": 1703, "indexExpression": { "argumentTypes": null, - "id": 1701, + "id": 1702, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1695, "src": "4207:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4888,21 +4888,21 @@ "typeString": "bool" } ], - "id": 1699, + "id": 1700, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "4175:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1703, + "id": 1704, "isConstant": false, "isLValue": false, "isPure": false, @@ -4916,14 +4916,14 @@ "typeString": "tuple()" } }, - "id": 1704, + "id": 1705, "nodeType": "ExpressionStatement", "src": "4175:48:4" }, { "expression": { "argumentTypes": null, - "id": 1709, + "id": 1710, "isConstant": false, "isLValue": false, "isPure": false, @@ -4932,25 +4932,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1705, + "id": 1706, "name": "factoryAddressWhiteList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "4233:23:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1707, + "id": 1708, "indexExpression": { "argumentTypes": null, - "id": 1706, + "id": 1707, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1695, "src": "4257:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4973,7 +4973,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1708, + "id": 1709, "isConstant": false, "isLValue": false, "isPure": true, @@ -4994,7 +4994,7 @@ "typeString": "bool" } }, - "id": 1710, + "id": 1711, "nodeType": "ExpressionStatement", "src": "4233:47:4" }, @@ -5004,11 +5004,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1712, + "id": 1713, "name": "factoryAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1695, "src": "4317:14:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5023,18 +5023,18 @@ "typeString": "address" } ], - "id": 1711, + "id": 1712, "name": "FactoryAddressRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, + "referencedDeclaration": 1553, "src": "4295:21:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1713, + "id": 1714, "isConstant": false, "isLValue": false, "isPure": false, @@ -5048,28 +5048,28 @@ "typeString": "tuple()" } }, - "id": 1714, + "id": 1715, "nodeType": "EmitStatement", "src": "4290:42:4" } ] }, "documentation": "@dev allows for the owner to remove an address of a factory\n @param factoryAddress address of factory to be removed", - "id": 1716, + "id": 1717, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 1697, + "id": 1698, "modifierName": { "argumentTypes": null, - "id": 1696, + "id": 1697, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "4155:9:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -5083,15 +5083,15 @@ "name": "removeFactoryAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 1695, + "id": 1696, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1694, + "id": 1695, "name": "factoryAddress", "nodeType": "VariableDeclaration", - "scope": 1716, + "scope": 1717, "src": "4122:22:4", "stateVariable": false, "storageLocation": "default", @@ -5100,7 +5100,7 @@ "typeString": "address" }, "typeName": { - "id": 1693, + "id": 1694, "name": "address", "nodeType": "ElementaryTypeName", "src": "4122:7:4", @@ -5117,19 +5117,19 @@ }, "payable": false, "returnParameters": { - "id": 1698, + "id": 1699, "nodeType": "ParameterList", "parameters": [], "src": "4165:0:4" }, - "scope": 1717, + "scope": 1718, "src": "4092:247:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1718, + "scope": 1719, "src": "833:3508:4" } ], @@ -5209,10 +5209,10 @@ } }, "links": {}, - "address": "0xb721da9d20b1889bfb1d806aa6af21b8da7c7216", - "transactionHash": "0x9905164e6402f6c08d3426bb672dfe20abe4415becffefd86c08c043539b4a46" + "address": "0xa1649f72ae719b5b4d5ba4829fd1d1aeaadee1f3", + "transactionHash": "0x16aa6d65e7adfce570048183586f9abecf963e30a3846568cf851f6805fba26d" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.249Z" + "updatedAt": "2018-10-05T14:03:26.632Z" } \ No newline at end of file diff --git a/build/contracts/MarketToken.json b/build/contracts/MarketToken.json index 9e6527f..b99b33b 100644 --- a/build/contracts/MarketToken.json +++ b/build/contracts/MarketToken.json @@ -635,14 +635,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/MarketToken.sol", "exportedSymbols": { "MarketToken": [ - 4327 + 4328 ] }, - "id": 4328, + "id": 4329, "nodeType": "SourceUnit", "nodes": [ { - "id": 4070, + "id": 4071, "literals": [ "solidity", "^", @@ -655,10 +655,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/UpgradableToken.sol", "file": "./UpgradableToken.sol", - "id": 4071, + "id": 4072, "nodeType": "ImportDirective", - "scope": 4328, - "sourceUnit": 4406, + "scope": 4329, + "sourceUnit": 4407, "src": "634:31:20", "symbolAliases": [], "unitAlias": "" @@ -669,53 +669,53 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4072, + "id": 4073, "name": "UpgradeableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4405, + "referencedDeclaration": 4406, "src": "951:16:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_UpgradeableToken_$4405", + "typeIdentifier": "t_contract$_UpgradeableToken_$4406", "typeString": "contract UpgradeableToken" } }, - "id": 4073, + "id": 4074, "nodeType": "InheritanceSpecifier", "src": "951:16:20" } ], "contractDependencies": [ - 4405, - 4627, - 4723, - 4794, - 4837, - 4869, - 5177 + 4406, + 4628, + 4724, + 4795, + 4838, + 4870, + 5178 ], "contractKind": "contract", "documentation": "@title Market Token\n @notice Our membership token. Users must lock tokens to enable trading for a given Market Contract\n as well as have a minimum balance of tokens to create new Market Contracts.\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 4327, + "id": 4328, "linearizedBaseContracts": [ - 4327, - 4405, - 5177, - 4794, - 4723, - 4837, - 4869, - 4627 + 4328, + 4406, + 5178, + 4795, + 4724, + 4838, + 4870, + 4628 ], "name": "MarketToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 4076, + "id": 4077, "name": "name", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "975:53:20", "stateVariable": true, "storageLocation": "default", @@ -724,7 +724,7 @@ "typeString": "string" }, "typeName": { - "id": 4074, + "id": 4075, "name": "string", "nodeType": "ElementaryTypeName", "src": "975:6:20", @@ -736,7 +736,7 @@ "value": { "argumentTypes": null, "hexValue": "4d41524b45542050726f746f636f6c20546f6b656e", - "id": 4075, + "id": 4076, "isConstant": false, "isLValue": false, "isPure": true, @@ -755,10 +755,10 @@ }, { "constant": true, - "id": 4079, + "id": 4080, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1034:37:20", "stateVariable": true, "storageLocation": "default", @@ -767,7 +767,7 @@ "typeString": "string" }, "typeName": { - "id": 4077, + "id": 4078, "name": "string", "nodeType": "ElementaryTypeName", "src": "1034:6:20", @@ -779,7 +779,7 @@ "value": { "argumentTypes": null, "hexValue": "4d4b54", - "id": 4078, + "id": 4079, "isConstant": false, "isLValue": false, "isPure": true, @@ -798,10 +798,10 @@ }, { "constant": true, - "id": 4082, + "id": 4083, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1077:35:20", "stateVariable": true, "storageLocation": "default", @@ -810,7 +810,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4080, + "id": 4081, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1077:5:20", @@ -822,7 +822,7 @@ "value": { "argumentTypes": null, "hexValue": "3138", - "id": 4081, + "id": 4082, "isConstant": false, "isLValue": false, "isPure": true, @@ -841,10 +841,10 @@ }, { "constant": true, - "id": 4091, + "id": 4092, "name": "INITIAL_SUPPLY", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1119:68:20", "stateVariable": true, "storageLocation": "default", @@ -853,7 +853,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4083, + "id": 4084, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1119:4:20", @@ -868,7 +868,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4090, + "id": 4091, "isConstant": false, "isLValue": false, "isPure": true, @@ -876,7 +876,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "363030303030303030", - "id": 4084, + "id": 4085, "isConstant": false, "isLValue": false, "isPure": true, @@ -899,7 +899,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4089, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": true, @@ -907,7 +907,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 4085, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": true, @@ -929,11 +929,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4087, + "id": 4088, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4082, + "referencedDeclaration": 4083, "src": "1178:8:20", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -948,7 +948,7 @@ "typeString": "uint8" } ], - "id": 4086, + "id": 4087, "isConstant": false, "isLValue": false, "isPure": true, @@ -961,7 +961,7 @@ }, "typeName": "uint" }, - "id": 4088, + "id": 4089, "isConstant": false, "isLValue": false, "isPure": true, @@ -991,10 +991,10 @@ }, { "constant": false, - "id": 4093, + "id": 4094, "name": "lockQtyToAllowTrading", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1241:33:20", "stateVariable": true, "storageLocation": "default", @@ -1003,7 +1003,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4092, + "id": 4093, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1241:4:20", @@ -1017,10 +1017,10 @@ }, { "constant": false, - "id": 4095, + "id": 4096, "name": "minBalanceToAllowContractCreation", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1280:45:20", "stateVariable": true, "storageLocation": "default", @@ -1029,7 +1029,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4094, + "id": 4095, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1280:4:20", @@ -1043,10 +1043,10 @@ }, { "constant": false, - "id": 4101, + "id": 4102, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1332:84:20", "stateVariable": true, "storageLocation": "default", @@ -1055,9 +1055,9 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 4100, + "id": 4101, "keyType": { - "id": 4096, + "id": 4097, "name": "address", "nodeType": "ElementaryTypeName", "src": "1340:7:20", @@ -1073,9 +1073,9 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 4099, + "id": 4100, "keyType": { - "id": 4097, + "id": 4098, "name": "address", "nodeType": "ElementaryTypeName", "src": "1359:7:20", @@ -1091,7 +1091,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 4098, + "id": 4099, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1370:4:20", @@ -1108,20 +1108,20 @@ { "anonymous": false, "documentation": null, - "id": 4109, + "id": 4110, "name": "UpdatedUserLockedBalance", "nodeType": "EventDefinition", "parameters": { - "id": 4108, + "id": 4109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4103, + "id": 4104, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 4109, + "scope": 4110, "src": "1454:31:20", "stateVariable": false, "storageLocation": "default", @@ -1130,7 +1130,7 @@ "typeString": "address" }, "typeName": { - "id": 4102, + "id": 4103, "name": "address", "nodeType": "ElementaryTypeName", "src": "1454:7:20", @@ -1144,11 +1144,11 @@ }, { "constant": false, - "id": 4105, + "id": 4106, "indexed": true, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4109, + "scope": 4110, "src": "1487:27:20", "stateVariable": false, "storageLocation": "default", @@ -1157,7 +1157,7 @@ "typeString": "address" }, "typeName": { - "id": 4104, + "id": 4105, "name": "address", "nodeType": "ElementaryTypeName", "src": "1487:7:20", @@ -1171,11 +1171,11 @@ }, { "constant": false, - "id": 4107, + "id": 4108, "indexed": false, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 4109, + "scope": 4110, "src": "1516:12:20", "stateVariable": false, "storageLocation": "default", @@ -1184,7 +1184,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4106, + "id": 4107, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1516:4:20", @@ -1203,25 +1203,25 @@ }, { "body": { - "id": 4135, + "id": 4136, "nodeType": "Block", "src": "1609:327:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4118, + "id": 4119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4116, + "id": 4117, "name": "lockQtyToAllowTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4093, + "referencedDeclaration": 4094, "src": "1619:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1232,11 +1232,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4117, + "id": 4118, "name": "qtyToLockForTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4111, + "referencedDeclaration": 4112, "src": "1643:19:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1249,25 +1249,25 @@ "typeString": "uint256" } }, - "id": 4119, + "id": 4120, "nodeType": "ExpressionStatement", "src": "1619:43:20" }, { "expression": { "argumentTypes": null, - "id": 4122, + "id": 4123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4120, + "id": 4121, "name": "minBalanceToAllowContractCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4096, "src": "1672:33:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1278,11 +1278,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4121, + "id": 4122, "name": "minBalanceForCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4113, + "referencedDeclaration": 4114, "src": "1708:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1295,25 +1295,25 @@ "typeString": "uint256" } }, - "id": 4123, + "id": 4124, "nodeType": "ExpressionStatement", "src": "1672:57:20" }, { "expression": { "argumentTypes": null, - "id": 4126, + "id": 4127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4124, + "id": 4125, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, + "referencedDeclaration": 4643, "src": "1739:12:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1324,11 +1324,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4125, + "id": 4126, "name": "INITIAL_SUPPLY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4091, + "referencedDeclaration": 4092, "src": "1754:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1341,14 +1341,14 @@ "typeString": "uint256" } }, - "id": 4127, + "id": 4128, "nodeType": "ExpressionStatement", "src": "1739:29:20" }, { "expression": { "argumentTypes": null, - "id": 4133, + "id": 4134, "isConstant": false, "isLValue": false, "isPure": false, @@ -1357,34 +1357,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4128, + "id": 4129, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "1850:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4131, + "id": 4132, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4129, + "id": 4130, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "1859:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4130, + "id": 4131, "isConstant": false, "isLValue": false, "isPure": false, @@ -1413,11 +1413,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4132, + "id": 4133, "name": "INITIAL_SUPPLY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4091, + "referencedDeclaration": 4092, "src": "1873:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1430,14 +1430,14 @@ "typeString": "uint256" } }, - "id": 4134, + "id": 4135, "nodeType": "ExpressionStatement", "src": "1850:37:20" } ] }, "documentation": null, - "id": 4136, + "id": 4137, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -1445,15 +1445,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 4114, + "id": 4115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4111, + "id": 4112, "name": "qtyToLockForTrading", "nodeType": "VariableDeclaration", - "scope": 4136, + "scope": 4137, "src": "1548:24:20", "stateVariable": false, "storageLocation": "default", @@ -1462,7 +1462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4110, + "id": 4111, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1548:4:20", @@ -1476,10 +1476,10 @@ }, { "constant": false, - "id": 4113, + "id": 4114, "name": "minBalanceForCreation", "nodeType": "VariableDeclaration", - "scope": 4136, + "scope": 4137, "src": "1574:26:20", "stateVariable": false, "storageLocation": "default", @@ -1488,7 +1488,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4112, + "id": 4113, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1574:4:20", @@ -1505,12 +1505,12 @@ }, "payable": false, "returnParameters": { - "id": 4115, + "id": 4116, "nodeType": "ParameterList", "parameters": [], "src": "1609:0:20" }, - "scope": 4327, + "scope": 4328, "src": "1536:400:20", "stateMutability": "nonpayable", "superFunction": null, @@ -1518,7 +1518,7 @@ }, { "body": { - "id": 4153, + "id": 4154, "nodeType": "Block", "src": "2413:124:20", "statements": [ @@ -1529,7 +1529,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4151, + "id": 4152, "isConstant": false, "isLValue": false, "isPure": false, @@ -1540,25 +1540,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4145, + "id": 4146, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "2430:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4147, + "id": 4148, "indexExpression": { "argumentTypes": null, - "id": 4146, + "id": 4147, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4138, + "referencedDeclaration": 4139, "src": "2470:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1576,14 +1576,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4149, + "id": 4150, "indexExpression": { "argumentTypes": null, - "id": 4148, + "id": 4149, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4140, + "referencedDeclaration": 4141, "src": "2493:11:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1605,11 +1605,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4150, + "id": 4151, "name": "lockQtyToAllowTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4093, + "referencedDeclaration": 4094, "src": "2509:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1622,15 +1622,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 4144, - "id": 4152, + "functionReturnParameters": 4145, + "id": 4153, "nodeType": "Return", "src": "2423:107:20" } ] }, "documentation": "@notice checks if a user address has locked the needed qty to allow trading to a given contract address\n @param marketContractAddress address of the MarketContract\n @param userAddress address of the user\n @return true if user has locked tokens to trade the supplied marketContractAddress", - "id": 4154, + "id": 4155, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1638,15 +1638,15 @@ "name": "isUserEnabledForContract", "nodeType": "FunctionDefinition", "parameters": { - "id": 4141, + "id": 4142, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4138, + "id": 4139, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4154, + "scope": 4155, "src": "2332:29:20", "stateVariable": false, "storageLocation": "default", @@ -1655,7 +1655,7 @@ "typeString": "address" }, "typeName": { - "id": 4137, + "id": 4138, "name": "address", "nodeType": "ElementaryTypeName", "src": "2332:7:20", @@ -1669,10 +1669,10 @@ }, { "constant": false, - "id": 4140, + "id": 4141, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4154, + "scope": 4155, "src": "2363:19:20", "stateVariable": false, "storageLocation": "default", @@ -1681,7 +1681,7 @@ "typeString": "address" }, "typeName": { - "id": 4139, + "id": 4140, "name": "address", "nodeType": "ElementaryTypeName", "src": "2363:7:20", @@ -1698,15 +1698,15 @@ }, "payable": false, "returnParameters": { - "id": 4144, + "id": 4145, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4143, + "id": 4144, "name": "", "nodeType": "VariableDeclaration", - "scope": 4154, + "scope": 4155, "src": "2407:4:20", "stateVariable": false, "storageLocation": "default", @@ -1715,7 +1715,7 @@ "typeString": "bool" }, "typeName": { - "id": 4142, + "id": 4143, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2407:4:20", @@ -1730,7 +1730,7 @@ ], "src": "2406:6:20" }, - "scope": 4327, + "scope": 4328, "src": "2298:239:20", "stateMutability": "view", "superFunction": null, @@ -1738,7 +1738,7 @@ }, { "body": { - "id": 4167, + "id": 4168, "nodeType": "Block", "src": "2852:82:20", "statements": [ @@ -1749,7 +1749,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4165, + "id": 4166, "isConstant": false, "isLValue": false, "isPure": false, @@ -1758,25 +1758,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4161, + "id": 4162, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "2869:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4163, + "id": 4164, "indexExpression": { "argumentTypes": null, - "id": 4162, + "id": 4163, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4156, + "referencedDeclaration": 4157, "src": "2878:11:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1798,11 +1798,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4164, + "id": 4165, "name": "minBalanceToAllowContractCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4096, "src": "2894:33:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1815,15 +1815,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 4160, - "id": 4166, + "functionReturnParameters": 4161, + "id": 4167, "nodeType": "Return", "src": "2862:65:20" } ] }, "documentation": "@notice checks if a user address has enough token balance to be eligible to create a contract\n @param userAddress address of the user\n @return true if user has sufficient balance of tokens", - "id": 4168, + "id": 4169, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1831,15 +1831,15 @@ "name": "isBalanceSufficientForContractCreation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4157, + "id": 4158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4156, + "id": 4157, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4168, + "scope": 4169, "src": "2802:19:20", "stateVariable": false, "storageLocation": "default", @@ -1848,7 +1848,7 @@ "typeString": "address" }, "typeName": { - "id": 4155, + "id": 4156, "name": "address", "nodeType": "ElementaryTypeName", "src": "2802:7:20", @@ -1865,15 +1865,15 @@ }, "payable": false, "returnParameters": { - "id": 4160, + "id": 4161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4159, + "id": 4160, "name": "", "nodeType": "VariableDeclaration", - "scope": 4168, + "scope": 4169, "src": "2846:4:20", "stateVariable": false, "storageLocation": "default", @@ -1882,7 +1882,7 @@ "typeString": "bool" }, "typeName": { - "id": 4158, + "id": 4159, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2846:4:20", @@ -1897,7 +1897,7 @@ ], "src": "2845:6:20" }, - "scope": 4327, + "scope": 4328, "src": "2754:180:20", "stateMutability": "view", "superFunction": null, @@ -1905,21 +1905,21 @@ }, { "body": { - "id": 4208, + "id": 4209, "nodeType": "Block", "src": "3251:376:20", "statements": [ { "assignments": [ - 4176 + 4177 ], "declarations": [ { "constant": false, - "id": 4176, + "id": 4177, "name": "lockedBalance", "nodeType": "VariableDeclaration", - "scope": 4209, + "scope": 4210, "src": "3261:21:20", "stateVariable": false, "storageLocation": "default", @@ -1928,7 +1928,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4175, + "id": 4176, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3261:7:20", @@ -1941,17 +1941,17 @@ "visibility": "internal" } ], - "id": 4186, + "id": 4187, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4184, + "id": 4185, "name": "qtyToLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4172, + "referencedDeclaration": 4173, "src": "3377:9:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1972,25 +1972,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4177, + "id": 4178, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "3285:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4179, + "id": 4180, "indexExpression": { "argumentTypes": null, - "id": 4178, + "id": 4179, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4171, "src": "3325:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2008,23 +2008,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4182, + "id": 4183, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4180, + "id": 4181, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3348:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4181, + "id": 4182, "isConstant": false, "isLValue": false, "isPure": false, @@ -2049,21 +2049,21 @@ "typeString": "uint256" } }, - "id": 4183, + "id": 4184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 4570, + "referencedDeclaration": 4571, "src": "3285:78:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4185, + "id": 4186, "isConstant": false, "isLValue": false, "isPure": false, @@ -2086,24 +2086,24 @@ "arguments": [ { "argumentTypes": null, - "id": 4188, + "id": 4189, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "3415:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, { "argumentTypes": null, - "id": 4189, + "id": 4190, "name": "qtyToLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4172, + "referencedDeclaration": 4173, "src": "3421:9:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2114,7 +2114,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" }, { @@ -2122,20 +2122,20 @@ "typeString": "uint256" } ], - "id": 4187, + "id": 4188, "name": "transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 4710 + 4711 ], - "referencedDeclaration": 4710, + "referencedDeclaration": 4711, "src": "3406:8:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 4190, + "id": 4191, "isConstant": false, "isLValue": false, "isPure": false, @@ -2149,14 +2149,14 @@ "typeString": "bool" } }, - "id": 4191, + "id": 4192, "nodeType": "ExpressionStatement", "src": "3406:25:20" }, { "expression": { "argumentTypes": null, - "id": 4199, + "id": 4200, "isConstant": false, "isLValue": false, "isPure": false, @@ -2167,25 +2167,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4192, + "id": 4193, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "3441:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4196, + "id": 4197, "indexExpression": { "argumentTypes": null, - "id": 4193, + "id": 4194, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4171, "src": "3481:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2203,23 +2203,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4197, + "id": 4198, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4194, + "id": 4195, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3504:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4195, + "id": 4196, "isConstant": false, "isLValue": false, "isPure": false, @@ -2248,11 +2248,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4198, + "id": 4199, "name": "lockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4176, + "referencedDeclaration": 4177, "src": "3518:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2265,7 +2265,7 @@ "typeString": "uint256" } }, - "id": 4200, + "id": 4201, "nodeType": "ExpressionStatement", "src": "3441:90:20" }, @@ -2275,11 +2275,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4202, + "id": 4203, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4171, "src": "3571:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2290,18 +2290,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4203, + "id": 4204, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3594:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4204, + "id": 4205, "isConstant": false, "isLValue": false, "isPure": false, @@ -2317,11 +2317,11 @@ }, { "argumentTypes": null, - "id": 4205, + "id": 4206, "name": "lockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4176, + "referencedDeclaration": 4177, "src": "3606:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2344,18 +2344,18 @@ "typeString": "uint256" } ], - "id": 4201, + "id": 4202, "name": "UpdatedUserLockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4109, + "referencedDeclaration": 4110, "src": "3546:24:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4206, + "id": 4207, "isConstant": false, "isLValue": false, "isPure": false, @@ -2369,14 +2369,14 @@ "typeString": "tuple()" } }, - "id": 4207, + "id": 4208, "nodeType": "EmitStatement", "src": "3541:79:20" } ] }, "documentation": "@notice allows user to lock tokens to enable trading for a given market contract\n @param marketContractAddress address of the MarketContract\n @param qtyToLock desired qty of tokens to lock", - "id": 4209, + "id": 4210, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2384,15 +2384,15 @@ "name": "lockTokensForTradingMarketContract", "nodeType": "FunctionDefinition", "parameters": { - "id": 4173, + "id": 4174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4170, + "id": 4171, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4209, + "scope": 4210, "src": "3195:29:20", "stateVariable": false, "storageLocation": "default", @@ -2401,7 +2401,7 @@ "typeString": "address" }, "typeName": { - "id": 4169, + "id": 4170, "name": "address", "nodeType": "ElementaryTypeName", "src": "3195:7:20", @@ -2415,10 +2415,10 @@ }, { "constant": false, - "id": 4172, + "id": 4173, "name": "qtyToLock", "nodeType": "VariableDeclaration", - "scope": 4209, + "scope": 4210, "src": "3226:14:20", "stateVariable": false, "storageLocation": "default", @@ -2427,7 +2427,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4171, + "id": 4172, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3226:4:20", @@ -2444,12 +2444,12 @@ }, "payable": false, "returnParameters": { - "id": 4174, + "id": 4175, "nodeType": "ParameterList", "parameters": [], "src": "3251:0:20" }, - "scope": 4327, + "scope": 4328, "src": "3151:476:20", "stateMutability": "nonpayable", "superFunction": null, @@ -2457,21 +2457,21 @@ }, { "body": { - "id": 4248, + "id": 4249, "nodeType": "Block", "src": "3933:537:20", "statements": [ { "assignments": [ - 4217 + 4218 ], "declarations": [ { "constant": false, - "id": 4217, + "id": 4218, "name": "balanceAfterUnLock", "nodeType": "VariableDeclaration", - "scope": 4249, + "scope": 4250, "src": "3943:26:20", "stateVariable": false, "storageLocation": "default", @@ -2480,7 +2480,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4216, + "id": 4217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3943:7:20", @@ -2493,17 +2493,17 @@ "visibility": "internal" } ], - "id": 4227, + "id": 4228, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4225, + "id": 4226, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4213, + "referencedDeclaration": 4214, "src": "4064:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2524,25 +2524,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4218, + "id": 4219, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "3972:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4220, + "id": 4221, "indexExpression": { "argumentTypes": null, - "id": 4219, + "id": 4220, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4211, + "referencedDeclaration": 4212, "src": "4012:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2560,23 +2560,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4223, + "id": 4224, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4221, + "id": 4222, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4035:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4222, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -2601,21 +2601,21 @@ "typeString": "uint256" } }, - "id": 4224, + "id": 4225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 4546, + "referencedDeclaration": 4547, "src": "3972:78:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4226, + "id": 4227, "isConstant": false, "isLValue": false, "isPure": false, @@ -2635,7 +2635,7 @@ { "expression": { "argumentTypes": null, - "id": 4235, + "id": 4236, "isConstant": false, "isLValue": false, "isPure": false, @@ -2646,25 +2646,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4228, + "id": 4229, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "4221:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4232, + "id": 4233, "indexExpression": { "argumentTypes": null, - "id": 4229, + "id": 4230, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4211, + "referencedDeclaration": 4212, "src": "4261:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2682,23 +2682,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4233, + "id": 4234, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4230, + "id": 4231, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4284:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4231, + "id": 4232, "isConstant": false, "isLValue": false, "isPure": false, @@ -2727,11 +2727,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4234, + "id": 4235, "name": "balanceAfterUnLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4218, "src": "4298:18:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2744,7 +2744,7 @@ "typeString": "uint256" } }, - "id": 4236, + "id": 4237, "nodeType": "ExpressionStatement", "src": "4221:95:20" }, @@ -2754,11 +2754,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4238, + "id": 4239, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4213, + "referencedDeclaration": 4214, "src": "4357:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2773,18 +2773,18 @@ "typeString": "uint256" } ], - "id": 4237, + "id": 4238, "name": "transferLockedTokensBackToUser", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4326, + "referencedDeclaration": 4327, "src": "4326:30:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 4239, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": false, @@ -2798,7 +2798,7 @@ "typeString": "tuple()" } }, - "id": 4240, + "id": 4241, "nodeType": "ExpressionStatement", "src": "4326:43:20" }, @@ -2808,11 +2808,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4242, + "id": 4243, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4211, + "referencedDeclaration": 4212, "src": "4409:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2823,18 +2823,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4243, + "id": 4244, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4432:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4244, + "id": 4245, "isConstant": false, "isLValue": false, "isPure": false, @@ -2850,11 +2850,11 @@ }, { "argumentTypes": null, - "id": 4245, + "id": 4246, "name": "balanceAfterUnLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4218, "src": "4444:18:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2877,18 +2877,18 @@ "typeString": "uint256" } ], - "id": 4241, + "id": 4242, "name": "UpdatedUserLockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4109, + "referencedDeclaration": 4110, "src": "4384:24:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4246, + "id": 4247, "isConstant": false, "isLValue": false, "isPure": false, @@ -2902,14 +2902,14 @@ "typeString": "tuple()" } }, - "id": 4247, + "id": 4248, "nodeType": "EmitStatement", "src": "4379:84:20" } ] }, "documentation": "@notice allows user to unlock tokens previously allocated to trading a MarketContract\n @param marketContractAddress address of the MarketContract\n @param qtyToUnlock desired qty of tokens to unlock", - "id": 4249, + "id": 4250, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2917,15 +2917,15 @@ "name": "unlockTokens", "nodeType": "FunctionDefinition", "parameters": { - "id": 4214, + "id": 4215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4211, + "id": 4212, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4249, + "scope": 4250, "src": "3875:29:20", "stateVariable": false, "storageLocation": "default", @@ -2934,7 +2934,7 @@ "typeString": "address" }, "typeName": { - "id": 4210, + "id": 4211, "name": "address", "nodeType": "ElementaryTypeName", "src": "3875:7:20", @@ -2948,10 +2948,10 @@ }, { "constant": false, - "id": 4213, + "id": 4214, "name": "qtyToUnlock", "nodeType": "VariableDeclaration", - "scope": 4249, + "scope": 4250, "src": "3906:16:20", "stateVariable": false, "storageLocation": "default", @@ -2960,7 +2960,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4212, + "id": 4213, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3906:4:20", @@ -2977,12 +2977,12 @@ }, "payable": false, "returnParameters": { - "id": 4215, + "id": 4216, "nodeType": "ParameterList", "parameters": [], "src": "3933:0:20" }, - "scope": 4327, + "scope": 4328, "src": "3853:617:20", "stateMutability": "nonpayable", "superFunction": null, @@ -2990,7 +2990,7 @@ }, { "body": { - "id": 4264, + "id": 4265, "nodeType": "Block", "src": "4835:99:20", "statements": [ @@ -3001,25 +3001,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4258, + "id": 4259, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "4852:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4260, + "id": 4261, "indexExpression": { "argumentTypes": null, - "id": 4259, + "id": 4260, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4251, + "referencedDeclaration": 4252, "src": "4892:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3037,14 +3037,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4262, + "id": 4263, "indexExpression": { "argumentTypes": null, - "id": 4261, + "id": 4262, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, + "referencedDeclaration": 4254, "src": "4915:11:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3062,15 +3062,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4257, - "id": 4263, + "functionReturnParameters": 4258, + "id": 4264, "nodeType": "Return", "src": "4845:82:20" } ] }, "documentation": "@notice get the currently locked balance for a user given the specific contract address\n @param marketContractAddress address of the MarketContract\n @param userAddress address of the user\n @return the locked balance", - "id": 4265, + "id": 4266, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3078,15 +3078,15 @@ "name": "getLockedBalanceForUser", "nodeType": "FunctionDefinition", "parameters": { - "id": 4254, + "id": 4255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4251, + "id": 4252, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4265, + "scope": 4266, "src": "4754:29:20", "stateVariable": false, "storageLocation": "default", @@ -3095,7 +3095,7 @@ "typeString": "address" }, "typeName": { - "id": 4250, + "id": 4251, "name": "address", "nodeType": "ElementaryTypeName", "src": "4754:7:20", @@ -3109,10 +3109,10 @@ }, { "constant": false, - "id": 4253, + "id": 4254, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4265, + "scope": 4266, "src": "4785:19:20", "stateVariable": false, "storageLocation": "default", @@ -3121,7 +3121,7 @@ "typeString": "address" }, "typeName": { - "id": 4252, + "id": 4253, "name": "address", "nodeType": "ElementaryTypeName", "src": "4785:7:20", @@ -3138,15 +3138,15 @@ }, "payable": false, "returnParameters": { - "id": 4257, + "id": 4258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4256, + "id": 4257, "name": "", "nodeType": "VariableDeclaration", - "scope": 4265, + "scope": 4266, "src": "4829:4:20", "stateVariable": false, "storageLocation": "default", @@ -3155,7 +3155,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4255, + "id": 4256, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4829:4:20", @@ -3170,7 +3170,7 @@ ], "src": "4828:6:20" }, - "scope": 4327, + "scope": 4328, "src": "4721:213:20", "stateMutability": "view", "superFunction": null, @@ -3178,25 +3178,25 @@ }, { "body": { - "id": 4276, + "id": 4277, "nodeType": "Block", "src": "5249:50:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4274, + "id": 4275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4272, + "id": 4273, "name": "lockQtyToAllowTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4093, + "referencedDeclaration": 4094, "src": "5259:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3207,11 +3207,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4273, + "id": 4274, "name": "qtyToLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4267, + "referencedDeclaration": 4268, "src": "5283:9:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3224,28 +3224,28 @@ "typeString": "uint256" } }, - "id": 4275, + "id": 4276, "nodeType": "ExpressionStatement", "src": "5259:33:20" } ] }, "documentation": "@notice allows the creator to set the qty each user address needs to lock in\n order to trade a given MarketContract\n @param qtyToLock qty needed to enable trading", - "id": 4277, + "id": 4278, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 4270, + "id": 4271, "modifierName": { "argumentTypes": null, - "id": 4269, + "id": 4270, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "5239:9:20", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3259,15 +3259,15 @@ "name": "setLockQtyToAllowTrading", "nodeType": "FunctionDefinition", "parameters": { - "id": 4268, + "id": 4269, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4267, + "id": 4268, "name": "qtyToLock", "nodeType": "VariableDeclaration", - "scope": 4277, + "scope": 4278, "src": "5214:14:20", "stateVariable": false, "storageLocation": "default", @@ -3276,7 +3276,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4266, + "id": 4267, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5214:4:20", @@ -3293,12 +3293,12 @@ }, "payable": false, "returnParameters": { - "id": 4271, + "id": 4272, "nodeType": "ParameterList", "parameters": [], "src": "5249:0:20" }, - "scope": 4327, + "scope": 4328, "src": "5180:119:20", "stateMutability": "nonpayable", "superFunction": null, @@ -3306,25 +3306,25 @@ }, { "body": { - "id": 4288, + "id": 4289, "nodeType": "Block", "src": "5555:63:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4286, + "id": 4287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4284, + "id": 4285, "name": "minBalanceToAllowContractCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4096, "src": "5565:33:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3335,11 +3335,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4285, + "id": 4286, "name": "minBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4279, + "referencedDeclaration": 4280, "src": "5601:10:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3352,28 +3352,28 @@ "typeString": "uint256" } }, - "id": 4287, + "id": 4288, "nodeType": "ExpressionStatement", "src": "5565:46:20" } ] }, "documentation": "@notice allows the creator to set minimum balance a user must have in order to create MarketContracts\n @param minBalance balance to enable contract creation", - "id": 4289, + "id": 4290, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 4282, + "id": 4283, "modifierName": { "argumentTypes": null, - "id": 4281, + "id": 4282, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "5545:9:20", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3387,15 +3387,15 @@ "name": "setMinBalanceForContractCreation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4280, + "id": 4281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4279, + "id": 4280, "name": "minBalance", "nodeType": "VariableDeclaration", - "scope": 4289, + "scope": 4290, "src": "5519:15:20", "stateVariable": false, "storageLocation": "default", @@ -3404,7 +3404,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4278, + "id": 4279, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5519:4:20", @@ -3421,12 +3421,12 @@ }, "payable": false, "returnParameters": { - "id": 4283, + "id": 4284, "nodeType": "ParameterList", "parameters": [], "src": "5555:0:20" }, - "scope": 4327, + "scope": 4328, "src": "5477:141:20", "stateMutability": "nonpayable", "superFunction": null, @@ -3434,14 +3434,14 @@ }, { "body": { - "id": 4325, + "id": 4326, "nodeType": "Block", "src": "5864:189:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4303, + "id": 4304, "isConstant": false, "isLValue": false, "isPure": false, @@ -3450,28 +3450,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4294, + "id": 4295, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5874:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4296, + "id": 4297, "indexExpression": { "argumentTypes": null, - "id": 4295, + "id": 4296, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "5883:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, @@ -3493,11 +3493,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4301, + "id": 4302, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4291, + "referencedDeclaration": 4292, "src": "5910:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3516,28 +3516,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4297, + "id": 4298, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5891:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4299, + "id": 4300, "indexExpression": { "argumentTypes": null, - "id": 4298, + "id": 4299, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "5900:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, @@ -3552,21 +3552,21 @@ "typeString": "uint256" } }, - "id": 4300, + "id": 4301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 4546, + "referencedDeclaration": 4547, "src": "5891:18:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4302, + "id": 4303, "isConstant": false, "isLValue": false, "isPure": false, @@ -3586,14 +3586,14 @@ "typeString": "uint256" } }, - "id": 4304, + "id": 4305, "nodeType": "ExpressionStatement", "src": "5874:48:20" }, { "expression": { "argumentTypes": null, - "id": 4316, + "id": 4317, "isConstant": false, "isLValue": false, "isPure": false, @@ -3602,34 +3602,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4305, + "id": 4306, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5932:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4308, + "id": 4309, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4306, + "id": 4307, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "5941:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4307, + "id": 4308, "isConstant": false, "isLValue": false, "isPure": false, @@ -3661,11 +3661,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4314, + "id": 4315, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4291, + "referencedDeclaration": 4292, "src": "5980:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3684,34 +3684,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4309, + "id": 4310, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5955:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4312, + "id": 4313, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4310, + "id": 4311, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "5964:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4311, + "id": 4312, "isConstant": false, "isLValue": false, "isPure": false, @@ -3736,21 +3736,21 @@ "typeString": "uint256" } }, - "id": 4313, + "id": 4314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 4570, + "referencedDeclaration": 4571, "src": "5955:24:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4315, + "id": 4316, "isConstant": false, "isLValue": false, "isPure": false, @@ -3770,7 +3770,7 @@ "typeString": "uint256" } }, - "id": 4317, + "id": 4318, "nodeType": "ExpressionStatement", "src": "5932:60:20" }, @@ -3780,14 +3780,14 @@ "arguments": [ { "argumentTypes": null, - "id": 4319, + "id": 4320, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "6016:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, @@ -3795,18 +3795,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4320, + "id": 4321, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "6022:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4321, + "id": 4322, "isConstant": false, "isLValue": false, "isPure": false, @@ -3822,11 +3822,11 @@ }, { "argumentTypes": null, - "id": 4322, + "id": 4323, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4291, + "referencedDeclaration": 4292, "src": "6034:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3837,7 +3837,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" }, { @@ -3849,18 +3849,18 @@ "typeString": "uint256" } ], - "id": 4318, + "id": 4319, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, + "referencedDeclaration": 4869, "src": "6007:8:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4323, + "id": 4324, "isConstant": false, "isLValue": false, "isPure": false, @@ -3874,14 +3874,14 @@ "typeString": "tuple()" } }, - "id": 4324, + "id": 4325, "nodeType": "EmitStatement", "src": "6002:44:20" } ] }, "documentation": "@dev returns locked balance from this contract to the user's balance\n @param qtyToUnlock qty to return to user's balance", - "id": 4326, + "id": 4327, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3889,15 +3889,15 @@ "name": "transferLockedTokensBackToUser", "nodeType": "FunctionDefinition", "parameters": { - "id": 4292, + "id": 4293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4291, + "id": 4292, "name": "qtyToUnlock", "nodeType": "VariableDeclaration", - "scope": 4326, + "scope": 4327, "src": "5838:16:20", "stateVariable": false, "storageLocation": "default", @@ -3906,7 +3906,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4290, + "id": 4291, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5838:4:20", @@ -3923,19 +3923,19 @@ }, "payable": false, "returnParameters": { - "id": 4293, + "id": 4294, "nodeType": "ParameterList", "parameters": [], "src": "5864:0:20" }, - "scope": 4327, + "scope": 4328, "src": "5798:255:20", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 4328, + "scope": 4329, "src": "927:5128:20" } ], @@ -3945,14 +3945,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/MarketToken.sol", "exportedSymbols": { "MarketToken": [ - 4327 + 4328 ] }, - "id": 4328, + "id": 4329, "nodeType": "SourceUnit", "nodes": [ { - "id": 4070, + "id": 4071, "literals": [ "solidity", "^", @@ -3965,10 +3965,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/tokens/UpgradableToken.sol", "file": "./UpgradableToken.sol", - "id": 4071, + "id": 4072, "nodeType": "ImportDirective", - "scope": 4328, - "sourceUnit": 4406, + "scope": 4329, + "sourceUnit": 4407, "src": "634:31:20", "symbolAliases": [], "unitAlias": "" @@ -3979,53 +3979,53 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4072, + "id": 4073, "name": "UpgradeableToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4405, + "referencedDeclaration": 4406, "src": "951:16:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_UpgradeableToken_$4405", + "typeIdentifier": "t_contract$_UpgradeableToken_$4406", "typeString": "contract UpgradeableToken" } }, - "id": 4073, + "id": 4074, "nodeType": "InheritanceSpecifier", "src": "951:16:20" } ], "contractDependencies": [ - 4405, - 4627, - 4723, - 4794, - 4837, - 4869, - 5177 + 4406, + 4628, + 4724, + 4795, + 4838, + 4870, + 5178 ], "contractKind": "contract", "documentation": "@title Market Token\n @notice Our membership token. Users must lock tokens to enable trading for a given Market Contract\n as well as have a minimum balance of tokens to create new Market Contracts.\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 4327, + "id": 4328, "linearizedBaseContracts": [ - 4327, - 4405, - 5177, - 4794, - 4723, - 4837, - 4869, - 4627 + 4328, + 4406, + 5178, + 4795, + 4724, + 4838, + 4870, + 4628 ], "name": "MarketToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 4076, + "id": 4077, "name": "name", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "975:53:20", "stateVariable": true, "storageLocation": "default", @@ -4034,7 +4034,7 @@ "typeString": "string" }, "typeName": { - "id": 4074, + "id": 4075, "name": "string", "nodeType": "ElementaryTypeName", "src": "975:6:20", @@ -4046,7 +4046,7 @@ "value": { "argumentTypes": null, "hexValue": "4d41524b45542050726f746f636f6c20546f6b656e", - "id": 4075, + "id": 4076, "isConstant": false, "isLValue": false, "isPure": true, @@ -4065,10 +4065,10 @@ }, { "constant": true, - "id": 4079, + "id": 4080, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1034:37:20", "stateVariable": true, "storageLocation": "default", @@ -4077,7 +4077,7 @@ "typeString": "string" }, "typeName": { - "id": 4077, + "id": 4078, "name": "string", "nodeType": "ElementaryTypeName", "src": "1034:6:20", @@ -4089,7 +4089,7 @@ "value": { "argumentTypes": null, "hexValue": "4d4b54", - "id": 4078, + "id": 4079, "isConstant": false, "isLValue": false, "isPure": true, @@ -4108,10 +4108,10 @@ }, { "constant": true, - "id": 4082, + "id": 4083, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1077:35:20", "stateVariable": true, "storageLocation": "default", @@ -4120,7 +4120,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4080, + "id": 4081, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1077:5:20", @@ -4132,7 +4132,7 @@ "value": { "argumentTypes": null, "hexValue": "3138", - "id": 4081, + "id": 4082, "isConstant": false, "isLValue": false, "isPure": true, @@ -4151,10 +4151,10 @@ }, { "constant": true, - "id": 4091, + "id": 4092, "name": "INITIAL_SUPPLY", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1119:68:20", "stateVariable": true, "storageLocation": "default", @@ -4163,7 +4163,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4083, + "id": 4084, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1119:4:20", @@ -4178,7 +4178,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4090, + "id": 4091, "isConstant": false, "isLValue": false, "isPure": true, @@ -4186,7 +4186,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "363030303030303030", - "id": 4084, + "id": 4085, "isConstant": false, "isLValue": false, "isPure": true, @@ -4209,7 +4209,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4089, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": true, @@ -4217,7 +4217,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 4085, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": true, @@ -4239,11 +4239,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4087, + "id": 4088, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4082, + "referencedDeclaration": 4083, "src": "1178:8:20", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -4258,7 +4258,7 @@ "typeString": "uint8" } ], - "id": 4086, + "id": 4087, "isConstant": false, "isLValue": false, "isPure": true, @@ -4271,7 +4271,7 @@ }, "typeName": "uint" }, - "id": 4088, + "id": 4089, "isConstant": false, "isLValue": false, "isPure": true, @@ -4301,10 +4301,10 @@ }, { "constant": false, - "id": 4093, + "id": 4094, "name": "lockQtyToAllowTrading", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1241:33:20", "stateVariable": true, "storageLocation": "default", @@ -4313,7 +4313,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4092, + "id": 4093, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1241:4:20", @@ -4327,10 +4327,10 @@ }, { "constant": false, - "id": 4095, + "id": 4096, "name": "minBalanceToAllowContractCreation", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1280:45:20", "stateVariable": true, "storageLocation": "default", @@ -4339,7 +4339,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4094, + "id": 4095, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1280:4:20", @@ -4353,10 +4353,10 @@ }, { "constant": false, - "id": 4101, + "id": 4102, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "VariableDeclaration", - "scope": 4327, + "scope": 4328, "src": "1332:84:20", "stateVariable": true, "storageLocation": "default", @@ -4365,9 +4365,9 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 4100, + "id": 4101, "keyType": { - "id": 4096, + "id": 4097, "name": "address", "nodeType": "ElementaryTypeName", "src": "1340:7:20", @@ -4383,9 +4383,9 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 4099, + "id": 4100, "keyType": { - "id": 4097, + "id": 4098, "name": "address", "nodeType": "ElementaryTypeName", "src": "1359:7:20", @@ -4401,7 +4401,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 4098, + "id": 4099, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1370:4:20", @@ -4418,20 +4418,20 @@ { "anonymous": false, "documentation": null, - "id": 4109, + "id": 4110, "name": "UpdatedUserLockedBalance", "nodeType": "EventDefinition", "parameters": { - "id": 4108, + "id": 4109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4103, + "id": 4104, "indexed": true, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 4109, + "scope": 4110, "src": "1454:31:20", "stateVariable": false, "storageLocation": "default", @@ -4440,7 +4440,7 @@ "typeString": "address" }, "typeName": { - "id": 4102, + "id": 4103, "name": "address", "nodeType": "ElementaryTypeName", "src": "1454:7:20", @@ -4454,11 +4454,11 @@ }, { "constant": false, - "id": 4105, + "id": 4106, "indexed": true, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4109, + "scope": 4110, "src": "1487:27:20", "stateVariable": false, "storageLocation": "default", @@ -4467,7 +4467,7 @@ "typeString": "address" }, "typeName": { - "id": 4104, + "id": 4105, "name": "address", "nodeType": "ElementaryTypeName", "src": "1487:7:20", @@ -4481,11 +4481,11 @@ }, { "constant": false, - "id": 4107, + "id": 4108, "indexed": false, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 4109, + "scope": 4110, "src": "1516:12:20", "stateVariable": false, "storageLocation": "default", @@ -4494,7 +4494,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4106, + "id": 4107, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1516:4:20", @@ -4513,25 +4513,25 @@ }, { "body": { - "id": 4135, + "id": 4136, "nodeType": "Block", "src": "1609:327:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4118, + "id": 4119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4116, + "id": 4117, "name": "lockQtyToAllowTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4093, + "referencedDeclaration": 4094, "src": "1619:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4542,11 +4542,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4117, + "id": 4118, "name": "qtyToLockForTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4111, + "referencedDeclaration": 4112, "src": "1643:19:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4559,25 +4559,25 @@ "typeString": "uint256" } }, - "id": 4119, + "id": 4120, "nodeType": "ExpressionStatement", "src": "1619:43:20" }, { "expression": { "argumentTypes": null, - "id": 4122, + "id": 4123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4120, + "id": 4121, "name": "minBalanceToAllowContractCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4096, "src": "1672:33:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4588,11 +4588,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4121, + "id": 4122, "name": "minBalanceForCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4113, + "referencedDeclaration": 4114, "src": "1708:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4605,25 +4605,25 @@ "typeString": "uint256" } }, - "id": 4123, + "id": 4124, "nodeType": "ExpressionStatement", "src": "1672:57:20" }, { "expression": { "argumentTypes": null, - "id": 4126, + "id": 4127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4124, + "id": 4125, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, + "referencedDeclaration": 4643, "src": "1739:12:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4634,11 +4634,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4125, + "id": 4126, "name": "INITIAL_SUPPLY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4091, + "referencedDeclaration": 4092, "src": "1754:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4651,14 +4651,14 @@ "typeString": "uint256" } }, - "id": 4127, + "id": 4128, "nodeType": "ExpressionStatement", "src": "1739:29:20" }, { "expression": { "argumentTypes": null, - "id": 4133, + "id": 4134, "isConstant": false, "isLValue": false, "isPure": false, @@ -4667,34 +4667,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4128, + "id": 4129, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "1850:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4131, + "id": 4132, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4129, + "id": 4130, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "1859:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4130, + "id": 4131, "isConstant": false, "isLValue": false, "isPure": false, @@ -4723,11 +4723,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4132, + "id": 4133, "name": "INITIAL_SUPPLY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4091, + "referencedDeclaration": 4092, "src": "1873:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4740,14 +4740,14 @@ "typeString": "uint256" } }, - "id": 4134, + "id": 4135, "nodeType": "ExpressionStatement", "src": "1850:37:20" } ] }, "documentation": null, - "id": 4136, + "id": 4137, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -4755,15 +4755,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 4114, + "id": 4115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4111, + "id": 4112, "name": "qtyToLockForTrading", "nodeType": "VariableDeclaration", - "scope": 4136, + "scope": 4137, "src": "1548:24:20", "stateVariable": false, "storageLocation": "default", @@ -4772,7 +4772,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4110, + "id": 4111, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1548:4:20", @@ -4786,10 +4786,10 @@ }, { "constant": false, - "id": 4113, + "id": 4114, "name": "minBalanceForCreation", "nodeType": "VariableDeclaration", - "scope": 4136, + "scope": 4137, "src": "1574:26:20", "stateVariable": false, "storageLocation": "default", @@ -4798,7 +4798,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4112, + "id": 4113, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1574:4:20", @@ -4815,12 +4815,12 @@ }, "payable": false, "returnParameters": { - "id": 4115, + "id": 4116, "nodeType": "ParameterList", "parameters": [], "src": "1609:0:20" }, - "scope": 4327, + "scope": 4328, "src": "1536:400:20", "stateMutability": "nonpayable", "superFunction": null, @@ -4828,7 +4828,7 @@ }, { "body": { - "id": 4153, + "id": 4154, "nodeType": "Block", "src": "2413:124:20", "statements": [ @@ -4839,7 +4839,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4151, + "id": 4152, "isConstant": false, "isLValue": false, "isPure": false, @@ -4850,25 +4850,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4145, + "id": 4146, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "2430:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4147, + "id": 4148, "indexExpression": { "argumentTypes": null, - "id": 4146, + "id": 4147, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4138, + "referencedDeclaration": 4139, "src": "2470:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4886,14 +4886,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4149, + "id": 4150, "indexExpression": { "argumentTypes": null, - "id": 4148, + "id": 4149, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4140, + "referencedDeclaration": 4141, "src": "2493:11:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4915,11 +4915,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4150, + "id": 4151, "name": "lockQtyToAllowTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4093, + "referencedDeclaration": 4094, "src": "2509:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4932,15 +4932,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 4144, - "id": 4152, + "functionReturnParameters": 4145, + "id": 4153, "nodeType": "Return", "src": "2423:107:20" } ] }, "documentation": "@notice checks if a user address has locked the needed qty to allow trading to a given contract address\n @param marketContractAddress address of the MarketContract\n @param userAddress address of the user\n @return true if user has locked tokens to trade the supplied marketContractAddress", - "id": 4154, + "id": 4155, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4948,15 +4948,15 @@ "name": "isUserEnabledForContract", "nodeType": "FunctionDefinition", "parameters": { - "id": 4141, + "id": 4142, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4138, + "id": 4139, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4154, + "scope": 4155, "src": "2332:29:20", "stateVariable": false, "storageLocation": "default", @@ -4965,7 +4965,7 @@ "typeString": "address" }, "typeName": { - "id": 4137, + "id": 4138, "name": "address", "nodeType": "ElementaryTypeName", "src": "2332:7:20", @@ -4979,10 +4979,10 @@ }, { "constant": false, - "id": 4140, + "id": 4141, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4154, + "scope": 4155, "src": "2363:19:20", "stateVariable": false, "storageLocation": "default", @@ -4991,7 +4991,7 @@ "typeString": "address" }, "typeName": { - "id": 4139, + "id": 4140, "name": "address", "nodeType": "ElementaryTypeName", "src": "2363:7:20", @@ -5008,15 +5008,15 @@ }, "payable": false, "returnParameters": { - "id": 4144, + "id": 4145, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4143, + "id": 4144, "name": "", "nodeType": "VariableDeclaration", - "scope": 4154, + "scope": 4155, "src": "2407:4:20", "stateVariable": false, "storageLocation": "default", @@ -5025,7 +5025,7 @@ "typeString": "bool" }, "typeName": { - "id": 4142, + "id": 4143, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2407:4:20", @@ -5040,7 +5040,7 @@ ], "src": "2406:6:20" }, - "scope": 4327, + "scope": 4328, "src": "2298:239:20", "stateMutability": "view", "superFunction": null, @@ -5048,7 +5048,7 @@ }, { "body": { - "id": 4167, + "id": 4168, "nodeType": "Block", "src": "2852:82:20", "statements": [ @@ -5059,7 +5059,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4165, + "id": 4166, "isConstant": false, "isLValue": false, "isPure": false, @@ -5068,25 +5068,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4161, + "id": 4162, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "2869:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4163, + "id": 4164, "indexExpression": { "argumentTypes": null, - "id": 4162, + "id": 4163, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4156, + "referencedDeclaration": 4157, "src": "2878:11:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5108,11 +5108,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4164, + "id": 4165, "name": "minBalanceToAllowContractCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4096, "src": "2894:33:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5125,15 +5125,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 4160, - "id": 4166, + "functionReturnParameters": 4161, + "id": 4167, "nodeType": "Return", "src": "2862:65:20" } ] }, "documentation": "@notice checks if a user address has enough token balance to be eligible to create a contract\n @param userAddress address of the user\n @return true if user has sufficient balance of tokens", - "id": 4168, + "id": 4169, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5141,15 +5141,15 @@ "name": "isBalanceSufficientForContractCreation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4157, + "id": 4158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4156, + "id": 4157, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4168, + "scope": 4169, "src": "2802:19:20", "stateVariable": false, "storageLocation": "default", @@ -5158,7 +5158,7 @@ "typeString": "address" }, "typeName": { - "id": 4155, + "id": 4156, "name": "address", "nodeType": "ElementaryTypeName", "src": "2802:7:20", @@ -5175,15 +5175,15 @@ }, "payable": false, "returnParameters": { - "id": 4160, + "id": 4161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4159, + "id": 4160, "name": "", "nodeType": "VariableDeclaration", - "scope": 4168, + "scope": 4169, "src": "2846:4:20", "stateVariable": false, "storageLocation": "default", @@ -5192,7 +5192,7 @@ "typeString": "bool" }, "typeName": { - "id": 4158, + "id": 4159, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2846:4:20", @@ -5207,7 +5207,7 @@ ], "src": "2845:6:20" }, - "scope": 4327, + "scope": 4328, "src": "2754:180:20", "stateMutability": "view", "superFunction": null, @@ -5215,21 +5215,21 @@ }, { "body": { - "id": 4208, + "id": 4209, "nodeType": "Block", "src": "3251:376:20", "statements": [ { "assignments": [ - 4176 + 4177 ], "declarations": [ { "constant": false, - "id": 4176, + "id": 4177, "name": "lockedBalance", "nodeType": "VariableDeclaration", - "scope": 4209, + "scope": 4210, "src": "3261:21:20", "stateVariable": false, "storageLocation": "default", @@ -5238,7 +5238,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4175, + "id": 4176, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3261:7:20", @@ -5251,17 +5251,17 @@ "visibility": "internal" } ], - "id": 4186, + "id": 4187, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4184, + "id": 4185, "name": "qtyToLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4172, + "referencedDeclaration": 4173, "src": "3377:9:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5282,25 +5282,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4177, + "id": 4178, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "3285:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4179, + "id": 4180, "indexExpression": { "argumentTypes": null, - "id": 4178, + "id": 4179, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4171, "src": "3325:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5318,23 +5318,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4182, + "id": 4183, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4180, + "id": 4181, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3348:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4181, + "id": 4182, "isConstant": false, "isLValue": false, "isPure": false, @@ -5359,21 +5359,21 @@ "typeString": "uint256" } }, - "id": 4183, + "id": 4184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 4570, + "referencedDeclaration": 4571, "src": "3285:78:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4185, + "id": 4186, "isConstant": false, "isLValue": false, "isPure": false, @@ -5396,24 +5396,24 @@ "arguments": [ { "argumentTypes": null, - "id": 4188, + "id": 4189, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "3415:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, { "argumentTypes": null, - "id": 4189, + "id": 4190, "name": "qtyToLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4172, + "referencedDeclaration": 4173, "src": "3421:9:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5424,7 +5424,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" }, { @@ -5432,20 +5432,20 @@ "typeString": "uint256" } ], - "id": 4187, + "id": 4188, "name": "transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 4710 + 4711 ], - "referencedDeclaration": 4710, + "referencedDeclaration": 4711, "src": "3406:8:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 4190, + "id": 4191, "isConstant": false, "isLValue": false, "isPure": false, @@ -5459,14 +5459,14 @@ "typeString": "bool" } }, - "id": 4191, + "id": 4192, "nodeType": "ExpressionStatement", "src": "3406:25:20" }, { "expression": { "argumentTypes": null, - "id": 4199, + "id": 4200, "isConstant": false, "isLValue": false, "isPure": false, @@ -5477,25 +5477,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4192, + "id": 4193, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "3441:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4196, + "id": 4197, "indexExpression": { "argumentTypes": null, - "id": 4193, + "id": 4194, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4171, "src": "3481:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5513,23 +5513,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4197, + "id": 4198, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4194, + "id": 4195, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3504:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4195, + "id": 4196, "isConstant": false, "isLValue": false, "isPure": false, @@ -5558,11 +5558,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4198, + "id": 4199, "name": "lockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4176, + "referencedDeclaration": 4177, "src": "3518:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5575,7 +5575,7 @@ "typeString": "uint256" } }, - "id": 4200, + "id": 4201, "nodeType": "ExpressionStatement", "src": "3441:90:20" }, @@ -5585,11 +5585,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4202, + "id": 4203, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4171, "src": "3571:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5600,18 +5600,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4203, + "id": 4204, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3594:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4204, + "id": 4205, "isConstant": false, "isLValue": false, "isPure": false, @@ -5627,11 +5627,11 @@ }, { "argumentTypes": null, - "id": 4205, + "id": 4206, "name": "lockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4176, + "referencedDeclaration": 4177, "src": "3606:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5654,18 +5654,18 @@ "typeString": "uint256" } ], - "id": 4201, + "id": 4202, "name": "UpdatedUserLockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4109, + "referencedDeclaration": 4110, "src": "3546:24:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4206, + "id": 4207, "isConstant": false, "isLValue": false, "isPure": false, @@ -5679,14 +5679,14 @@ "typeString": "tuple()" } }, - "id": 4207, + "id": 4208, "nodeType": "EmitStatement", "src": "3541:79:20" } ] }, "documentation": "@notice allows user to lock tokens to enable trading for a given market contract\n @param marketContractAddress address of the MarketContract\n @param qtyToLock desired qty of tokens to lock", - "id": 4209, + "id": 4210, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5694,15 +5694,15 @@ "name": "lockTokensForTradingMarketContract", "nodeType": "FunctionDefinition", "parameters": { - "id": 4173, + "id": 4174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4170, + "id": 4171, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4209, + "scope": 4210, "src": "3195:29:20", "stateVariable": false, "storageLocation": "default", @@ -5711,7 +5711,7 @@ "typeString": "address" }, "typeName": { - "id": 4169, + "id": 4170, "name": "address", "nodeType": "ElementaryTypeName", "src": "3195:7:20", @@ -5725,10 +5725,10 @@ }, { "constant": false, - "id": 4172, + "id": 4173, "name": "qtyToLock", "nodeType": "VariableDeclaration", - "scope": 4209, + "scope": 4210, "src": "3226:14:20", "stateVariable": false, "storageLocation": "default", @@ -5737,7 +5737,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4171, + "id": 4172, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3226:4:20", @@ -5754,12 +5754,12 @@ }, "payable": false, "returnParameters": { - "id": 4174, + "id": 4175, "nodeType": "ParameterList", "parameters": [], "src": "3251:0:20" }, - "scope": 4327, + "scope": 4328, "src": "3151:476:20", "stateMutability": "nonpayable", "superFunction": null, @@ -5767,21 +5767,21 @@ }, { "body": { - "id": 4248, + "id": 4249, "nodeType": "Block", "src": "3933:537:20", "statements": [ { "assignments": [ - 4217 + 4218 ], "declarations": [ { "constant": false, - "id": 4217, + "id": 4218, "name": "balanceAfterUnLock", "nodeType": "VariableDeclaration", - "scope": 4249, + "scope": 4250, "src": "3943:26:20", "stateVariable": false, "storageLocation": "default", @@ -5790,7 +5790,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4216, + "id": 4217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3943:7:20", @@ -5803,17 +5803,17 @@ "visibility": "internal" } ], - "id": 4227, + "id": 4228, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4225, + "id": 4226, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4213, + "referencedDeclaration": 4214, "src": "4064:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5834,25 +5834,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4218, + "id": 4219, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "3972:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4220, + "id": 4221, "indexExpression": { "argumentTypes": null, - "id": 4219, + "id": 4220, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4211, + "referencedDeclaration": 4212, "src": "4012:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5870,23 +5870,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4223, + "id": 4224, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4221, + "id": 4222, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4035:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4222, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -5911,21 +5911,21 @@ "typeString": "uint256" } }, - "id": 4224, + "id": 4225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 4546, + "referencedDeclaration": 4547, "src": "3972:78:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4226, + "id": 4227, "isConstant": false, "isLValue": false, "isPure": false, @@ -5945,7 +5945,7 @@ { "expression": { "argumentTypes": null, - "id": 4235, + "id": 4236, "isConstant": false, "isLValue": false, "isPure": false, @@ -5956,25 +5956,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4228, + "id": 4229, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "4221:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4232, + "id": 4233, "indexExpression": { "argumentTypes": null, - "id": 4229, + "id": 4230, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4211, + "referencedDeclaration": 4212, "src": "4261:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5992,23 +5992,23 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4233, + "id": 4234, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4230, + "id": 4231, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4284:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4231, + "id": 4232, "isConstant": false, "isLValue": false, "isPure": false, @@ -6037,11 +6037,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4234, + "id": 4235, "name": "balanceAfterUnLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4218, "src": "4298:18:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6054,7 +6054,7 @@ "typeString": "uint256" } }, - "id": 4236, + "id": 4237, "nodeType": "ExpressionStatement", "src": "4221:95:20" }, @@ -6064,11 +6064,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4238, + "id": 4239, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4213, + "referencedDeclaration": 4214, "src": "4357:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6083,18 +6083,18 @@ "typeString": "uint256" } ], - "id": 4237, + "id": 4238, "name": "transferLockedTokensBackToUser", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4326, + "referencedDeclaration": 4327, "src": "4326:30:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 4239, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": false, @@ -6108,7 +6108,7 @@ "typeString": "tuple()" } }, - "id": 4240, + "id": 4241, "nodeType": "ExpressionStatement", "src": "4326:43:20" }, @@ -6118,11 +6118,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4242, + "id": 4243, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4211, + "referencedDeclaration": 4212, "src": "4409:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6133,18 +6133,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4243, + "id": 4244, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "4432:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4244, + "id": 4245, "isConstant": false, "isLValue": false, "isPure": false, @@ -6160,11 +6160,11 @@ }, { "argumentTypes": null, - "id": 4245, + "id": 4246, "name": "balanceAfterUnLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4218, "src": "4444:18:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6187,18 +6187,18 @@ "typeString": "uint256" } ], - "id": 4241, + "id": 4242, "name": "UpdatedUserLockedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4109, + "referencedDeclaration": 4110, "src": "4384:24:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4246, + "id": 4247, "isConstant": false, "isLValue": false, "isPure": false, @@ -6212,14 +6212,14 @@ "typeString": "tuple()" } }, - "id": 4247, + "id": 4248, "nodeType": "EmitStatement", "src": "4379:84:20" } ] }, "documentation": "@notice allows user to unlock tokens previously allocated to trading a MarketContract\n @param marketContractAddress address of the MarketContract\n @param qtyToUnlock desired qty of tokens to unlock", - "id": 4249, + "id": 4250, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6227,15 +6227,15 @@ "name": "unlockTokens", "nodeType": "FunctionDefinition", "parameters": { - "id": 4214, + "id": 4215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4211, + "id": 4212, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4249, + "scope": 4250, "src": "3875:29:20", "stateVariable": false, "storageLocation": "default", @@ -6244,7 +6244,7 @@ "typeString": "address" }, "typeName": { - "id": 4210, + "id": 4211, "name": "address", "nodeType": "ElementaryTypeName", "src": "3875:7:20", @@ -6258,10 +6258,10 @@ }, { "constant": false, - "id": 4213, + "id": 4214, "name": "qtyToUnlock", "nodeType": "VariableDeclaration", - "scope": 4249, + "scope": 4250, "src": "3906:16:20", "stateVariable": false, "storageLocation": "default", @@ -6270,7 +6270,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4212, + "id": 4213, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3906:4:20", @@ -6287,12 +6287,12 @@ }, "payable": false, "returnParameters": { - "id": 4215, + "id": 4216, "nodeType": "ParameterList", "parameters": [], "src": "3933:0:20" }, - "scope": 4327, + "scope": 4328, "src": "3853:617:20", "stateMutability": "nonpayable", "superFunction": null, @@ -6300,7 +6300,7 @@ }, { "body": { - "id": 4264, + "id": 4265, "nodeType": "Block", "src": "4835:99:20", "statements": [ @@ -6311,25 +6311,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4258, + "id": 4259, "name": "contractAddressToUserAddressToQtyLocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4101, + "referencedDeclaration": 4102, "src": "4852:39:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 4260, + "id": 4261, "indexExpression": { "argumentTypes": null, - "id": 4259, + "id": 4260, "name": "marketContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4251, + "referencedDeclaration": 4252, "src": "4892:21:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6347,14 +6347,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 4262, + "id": 4263, "indexExpression": { "argumentTypes": null, - "id": 4261, + "id": 4262, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4253, + "referencedDeclaration": 4254, "src": "4915:11:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6372,15 +6372,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4257, - "id": 4263, + "functionReturnParameters": 4258, + "id": 4264, "nodeType": "Return", "src": "4845:82:20" } ] }, "documentation": "@notice get the currently locked balance for a user given the specific contract address\n @param marketContractAddress address of the MarketContract\n @param userAddress address of the user\n @return the locked balance", - "id": 4265, + "id": 4266, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6388,15 +6388,15 @@ "name": "getLockedBalanceForUser", "nodeType": "FunctionDefinition", "parameters": { - "id": 4254, + "id": 4255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4251, + "id": 4252, "name": "marketContractAddress", "nodeType": "VariableDeclaration", - "scope": 4265, + "scope": 4266, "src": "4754:29:20", "stateVariable": false, "storageLocation": "default", @@ -6405,7 +6405,7 @@ "typeString": "address" }, "typeName": { - "id": 4250, + "id": 4251, "name": "address", "nodeType": "ElementaryTypeName", "src": "4754:7:20", @@ -6419,10 +6419,10 @@ }, { "constant": false, - "id": 4253, + "id": 4254, "name": "userAddress", "nodeType": "VariableDeclaration", - "scope": 4265, + "scope": 4266, "src": "4785:19:20", "stateVariable": false, "storageLocation": "default", @@ -6431,7 +6431,7 @@ "typeString": "address" }, "typeName": { - "id": 4252, + "id": 4253, "name": "address", "nodeType": "ElementaryTypeName", "src": "4785:7:20", @@ -6448,15 +6448,15 @@ }, "payable": false, "returnParameters": { - "id": 4257, + "id": 4258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4256, + "id": 4257, "name": "", "nodeType": "VariableDeclaration", - "scope": 4265, + "scope": 4266, "src": "4829:4:20", "stateVariable": false, "storageLocation": "default", @@ -6465,7 +6465,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4255, + "id": 4256, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4829:4:20", @@ -6480,7 +6480,7 @@ ], "src": "4828:6:20" }, - "scope": 4327, + "scope": 4328, "src": "4721:213:20", "stateMutability": "view", "superFunction": null, @@ -6488,25 +6488,25 @@ }, { "body": { - "id": 4276, + "id": 4277, "nodeType": "Block", "src": "5249:50:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4274, + "id": 4275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4272, + "id": 4273, "name": "lockQtyToAllowTrading", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4093, + "referencedDeclaration": 4094, "src": "5259:21:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6517,11 +6517,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4273, + "id": 4274, "name": "qtyToLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4267, + "referencedDeclaration": 4268, "src": "5283:9:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6534,28 +6534,28 @@ "typeString": "uint256" } }, - "id": 4275, + "id": 4276, "nodeType": "ExpressionStatement", "src": "5259:33:20" } ] }, "documentation": "@notice allows the creator to set the qty each user address needs to lock in\n order to trade a given MarketContract\n @param qtyToLock qty needed to enable trading", - "id": 4277, + "id": 4278, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 4270, + "id": 4271, "modifierName": { "argumentTypes": null, - "id": 4269, + "id": 4270, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "5239:9:20", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -6569,15 +6569,15 @@ "name": "setLockQtyToAllowTrading", "nodeType": "FunctionDefinition", "parameters": { - "id": 4268, + "id": 4269, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4267, + "id": 4268, "name": "qtyToLock", "nodeType": "VariableDeclaration", - "scope": 4277, + "scope": 4278, "src": "5214:14:20", "stateVariable": false, "storageLocation": "default", @@ -6586,7 +6586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4266, + "id": 4267, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5214:4:20", @@ -6603,12 +6603,12 @@ }, "payable": false, "returnParameters": { - "id": 4271, + "id": 4272, "nodeType": "ParameterList", "parameters": [], "src": "5249:0:20" }, - "scope": 4327, + "scope": 4328, "src": "5180:119:20", "stateMutability": "nonpayable", "superFunction": null, @@ -6616,25 +6616,25 @@ }, { "body": { - "id": 4288, + "id": 4289, "nodeType": "Block", "src": "5555:63:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4286, + "id": 4287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4284, + "id": 4285, "name": "minBalanceToAllowContractCreation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4096, "src": "5565:33:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6645,11 +6645,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4285, + "id": 4286, "name": "minBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4279, + "referencedDeclaration": 4280, "src": "5601:10:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6662,28 +6662,28 @@ "typeString": "uint256" } }, - "id": 4287, + "id": 4288, "nodeType": "ExpressionStatement", "src": "5565:46:20" } ] }, "documentation": "@notice allows the creator to set minimum balance a user must have in order to create MarketContracts\n @param minBalance balance to enable contract creation", - "id": 4289, + "id": 4290, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 4282, + "id": 4283, "modifierName": { "argumentTypes": null, - "id": 4281, + "id": 4282, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4601, + "referencedDeclaration": 4602, "src": "5545:9:20", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -6697,15 +6697,15 @@ "name": "setMinBalanceForContractCreation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4280, + "id": 4281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4279, + "id": 4280, "name": "minBalance", "nodeType": "VariableDeclaration", - "scope": 4289, + "scope": 4290, "src": "5519:15:20", "stateVariable": false, "storageLocation": "default", @@ -6714,7 +6714,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4278, + "id": 4279, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5519:4:20", @@ -6731,12 +6731,12 @@ }, "payable": false, "returnParameters": { - "id": 4283, + "id": 4284, "nodeType": "ParameterList", "parameters": [], "src": "5555:0:20" }, - "scope": 4327, + "scope": 4328, "src": "5477:141:20", "stateMutability": "nonpayable", "superFunction": null, @@ -6744,14 +6744,14 @@ }, { "body": { - "id": 4325, + "id": 4326, "nodeType": "Block", "src": "5864:189:20", "statements": [ { "expression": { "argumentTypes": null, - "id": 4303, + "id": 4304, "isConstant": false, "isLValue": false, "isPure": false, @@ -6760,28 +6760,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4294, + "id": 4295, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5874:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4296, + "id": 4297, "indexExpression": { "argumentTypes": null, - "id": 4295, + "id": 4296, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "5883:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, @@ -6803,11 +6803,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4301, + "id": 4302, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4291, + "referencedDeclaration": 4292, "src": "5910:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6826,28 +6826,28 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4297, + "id": 4298, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5891:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4299, + "id": 4300, "indexExpression": { "argumentTypes": null, - "id": 4298, + "id": 4299, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "5900:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, @@ -6862,21 +6862,21 @@ "typeString": "uint256" } }, - "id": 4300, + "id": 4301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 4546, + "referencedDeclaration": 4547, "src": "5891:18:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4302, + "id": 4303, "isConstant": false, "isLValue": false, "isPure": false, @@ -6896,14 +6896,14 @@ "typeString": "uint256" } }, - "id": 4304, + "id": 4305, "nodeType": "ExpressionStatement", "src": "5874:48:20" }, { "expression": { "argumentTypes": null, - "id": 4316, + "id": 4317, "isConstant": false, "isLValue": false, "isPure": false, @@ -6912,34 +6912,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4305, + "id": 4306, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5932:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4308, + "id": 4309, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4306, + "id": 4307, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "5941:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4307, + "id": 4308, "isConstant": false, "isLValue": false, "isPure": false, @@ -6971,11 +6971,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4314, + "id": 4315, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4291, + "referencedDeclaration": 4292, "src": "5980:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6994,34 +6994,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4309, + "id": 4310, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4640, + "referencedDeclaration": 4641, "src": "5955:8:20", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 4312, + "id": 4313, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4310, + "id": 4311, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "5964:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4311, + "id": 4312, "isConstant": false, "isLValue": false, "isPure": false, @@ -7046,21 +7046,21 @@ "typeString": "uint256" } }, - "id": 4313, + "id": 4314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 4570, + "referencedDeclaration": 4571, "src": "5955:24:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4315, + "id": 4316, "isConstant": false, "isLValue": false, "isPure": false, @@ -7080,7 +7080,7 @@ "typeString": "uint256" } }, - "id": 4317, + "id": 4318, "nodeType": "ExpressionStatement", "src": "5932:60:20" }, @@ -7090,14 +7090,14 @@ "arguments": [ { "argumentTypes": null, - "id": 4319, + "id": 4320, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5229, + "referencedDeclaration": 5230, "src": "6016:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" } }, @@ -7105,18 +7105,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4320, + "id": 4321, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "6022:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4321, + "id": 4322, "isConstant": false, "isLValue": false, "isPure": false, @@ -7132,11 +7132,11 @@ }, { "argumentTypes": null, - "id": 4322, + "id": 4323, "name": "qtyToUnlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4291, + "referencedDeclaration": 4292, "src": "6034:11:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7147,7 +7147,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MarketToken_$4327", + "typeIdentifier": "t_contract$_MarketToken_$4328", "typeString": "contract MarketToken" }, { @@ -7159,18 +7159,18 @@ "typeString": "uint256" } ], - "id": 4318, + "id": 4319, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4868, + "referencedDeclaration": 4869, "src": "6007:8:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4323, + "id": 4324, "isConstant": false, "isLValue": false, "isPure": false, @@ -7184,14 +7184,14 @@ "typeString": "tuple()" } }, - "id": 4324, + "id": 4325, "nodeType": "EmitStatement", "src": "6002:44:20" } ] }, "documentation": "@dev returns locked balance from this contract to the user's balance\n @param qtyToUnlock qty to return to user's balance", - "id": 4326, + "id": 4327, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7199,15 +7199,15 @@ "name": "transferLockedTokensBackToUser", "nodeType": "FunctionDefinition", "parameters": { - "id": 4292, + "id": 4293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4291, + "id": 4292, "name": "qtyToUnlock", "nodeType": "VariableDeclaration", - "scope": 4326, + "scope": 4327, "src": "5838:16:20", "stateVariable": false, "storageLocation": "default", @@ -7216,7 +7216,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4290, + "id": 4291, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5838:4:20", @@ -7233,19 +7233,19 @@ }, "payable": false, "returnParameters": { - "id": 4293, + "id": 4294, "nodeType": "ParameterList", "parameters": [], "src": "5864:0:20" }, - "scope": 4327, + "scope": 4328, "src": "5798:255:20", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 4328, + "scope": 4329, "src": "927:5128:20" } ], @@ -7259,10 +7259,10 @@ "4": { "events": {}, "links": {}, - "address": "0xd7a45a708ada3a4fe55f64b74f9504f5ea88e3b6", - "transactionHash": "0x4eef93e88899938a6314ba8dd5f635408c9860f6360f0872bc8d3d24e373ba9d" + "address": "0x489715c46bb5567e548d8d3da1b45743b63898a1", + "transactionHash": "0x57420eeacd88738568b42097cdbd6dcc9b1a63ff4cbf1feef66e1af8df628626" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.244Z" + "updatedAt": "2018-10-05T14:03:26.635Z" } \ No newline at end of file diff --git a/build/contracts/MathLib.json b/build/contracts/MathLib.json index 9551595..6c0e36b 100644 --- a/build/contracts/MathLib.json +++ b/build/contracts/MathLib.json @@ -47,14 +47,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "exportedSymbols": { "MathLib": [ - 2232 + 2233 ] }, - "id": 2233, + "id": 2234, "nodeType": "SourceUnit", "nodes": [ { - "id": 1871, + "id": 1872, "literals": [ "solidity", "^", @@ -70,19 +70,19 @@ "contractKind": "library", "documentation": "@title Math function library with overflow protection inspired by Open Zeppelin", "fullyImplemented": true, - "id": 2232, + "id": 2233, "linearizedBaseContracts": [ - 2232 + 2233 ], "name": "MathLib", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 1881, + "id": 1882, "name": "INT256_MIN", "nodeType": "VariableDeclaration", - "scope": 2232, + "scope": 2233, "src": "741:56:9", "stateVariable": true, "storageLocation": "default", @@ -91,7 +91,7 @@ "typeString": "int256" }, "typeName": { - "id": 1872, + "id": 1873, "name": "int256", "nodeType": "ElementaryTypeName", "src": "741:6:9", @@ -112,7 +112,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1878, + "id": 1879, "isConstant": false, "isLValue": false, "isPure": true, @@ -123,7 +123,7 @@ { "argumentTypes": null, "hexValue": "31", - "id": 1875, + "id": 1876, "isConstant": false, "isLValue": false, "isPure": true, @@ -146,7 +146,7 @@ "typeString": "int_const 1" } ], - "id": 1874, + "id": 1875, "isConstant": false, "isLValue": false, "isPure": true, @@ -159,7 +159,7 @@ }, "typeName": "uint256" }, - "id": 1876, + "id": 1877, "isConstant": false, "isLValue": false, "isPure": true, @@ -178,7 +178,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1877, + "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, @@ -200,7 +200,7 @@ } } ], - "id": 1879, + "id": 1880, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -221,7 +221,7 @@ "typeString": "uint256" } ], - "id": 1873, + "id": 1874, "isConstant": false, "isLValue": false, "isPure": true, @@ -234,7 +234,7 @@ }, "typeName": "int256" }, - "id": 1880, + "id": 1881, "isConstant": false, "isLValue": false, "isPure": true, @@ -252,10 +252,10 @@ }, { "constant": true, - "id": 1893, + "id": 1894, "name": "INT256_MAX", "nodeType": "VariableDeclaration", - "scope": 2232, + "scope": 2233, "src": "803:59:9", "stateVariable": true, "storageLocation": "default", @@ -264,7 +264,7 @@ "typeString": "int256" }, "typeName": { - "id": 1882, + "id": 1883, "name": "int256", "nodeType": "ElementaryTypeName", "src": "803:6:9", @@ -278,7 +278,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1891, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": true, @@ -299,7 +299,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1888, + "id": 1889, "isConstant": false, "isLValue": false, "isPure": true, @@ -310,7 +310,7 @@ { "argumentTypes": null, "hexValue": "31", - "id": 1885, + "id": 1886, "isConstant": false, "isLValue": false, "isPure": true, @@ -333,7 +333,7 @@ "typeString": "int_const 1" } ], - "id": 1884, + "id": 1885, "isConstant": false, "isLValue": false, "isPure": true, @@ -346,7 +346,7 @@ }, "typeName": "uint256" }, - "id": 1886, + "id": 1887, "isConstant": false, "isLValue": false, "isPure": true, @@ -365,7 +365,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1887, + "id": 1888, "isConstant": false, "isLValue": false, "isPure": true, @@ -387,7 +387,7 @@ } } ], - "id": 1889, + "id": 1890, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -401,7 +401,7 @@ } } ], - "id": 1890, + "id": 1891, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -427,7 +427,7 @@ "typeString": "uint256" } ], - "id": 1883, + "id": 1884, "isConstant": false, "isLValue": false, "isPure": true, @@ -440,7 +440,7 @@ }, "typeName": "int256" }, - "id": 1892, + "id": 1893, "isConstant": false, "isLValue": false, "isPure": true, @@ -458,21 +458,21 @@ }, { "body": { - "id": 1922, + "id": 1923, "nodeType": "Block", "src": "941:90:9", "statements": [ { "assignments": [ - 1903 + 1904 ], "declarations": [ { "constant": false, - "id": 1903, + "id": 1904, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "951:9:9", "stateVariable": false, "storageLocation": "default", @@ -481,7 +481,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1902, + "id": 1903, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "951:7:9", @@ -494,25 +494,25 @@ "visibility": "internal" } ], - "id": 1907, + "id": 1908, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1906, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1904, + "id": 1905, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1895, + "referencedDeclaration": 1896, "src": "963:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -523,11 +523,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1905, + "id": 1906, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1897, + "referencedDeclaration": 1898, "src": "967:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -553,7 +553,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1917, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, @@ -564,18 +564,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1911, + "id": 1912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1909, + "id": 1910, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1895, + "referencedDeclaration": 1896, "src": "985:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -587,7 +587,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1910, + "id": 1911, "isConstant": false, "isLValue": false, "isPure": true, @@ -616,7 +616,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1916, + "id": 1917, "isConstant": false, "isLValue": false, "isPure": false, @@ -627,18 +627,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1914, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1912, + "id": 1913, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, + "referencedDeclaration": 1904, "src": "995:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -649,11 +649,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1913, + "id": 1914, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1895, + "referencedDeclaration": 1896, "src": "999:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -670,11 +670,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1915, + "id": 1916, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1897, + "referencedDeclaration": 1898, "src": "1004:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -701,18 +701,18 @@ "typeString": "bool" } ], - "id": 1908, + "id": 1909, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "978:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1918, + "id": 1919, "isConstant": false, "isLValue": false, "isPure": false, @@ -726,33 +726,33 @@ "typeString": "tuple()" } }, - "id": 1919, + "id": 1920, "nodeType": "ExpressionStatement", "src": "978:28:9" }, { "expression": { "argumentTypes": null, - "id": 1920, + "id": 1921, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, + "referencedDeclaration": 1904, "src": "1023:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1901, - "id": 1921, + "functionReturnParameters": 1902, + "id": 1922, "nodeType": "Return", "src": "1016:8:9" } ] }, "documentation": null, - "id": 1923, + "id": 1924, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -760,15 +760,15 @@ "name": "multiply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1898, + "id": 1899, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1895, + "id": 1896, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "887:9:9", "stateVariable": false, "storageLocation": "default", @@ -777,7 +777,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1894, + "id": 1895, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "887:7:9", @@ -791,10 +791,10 @@ }, { "constant": false, - "id": 1897, + "id": 1898, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "898:9:9", "stateVariable": false, "storageLocation": "default", @@ -803,7 +803,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1896, + "id": 1897, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "898:7:9", @@ -820,15 +820,15 @@ }, "payable": false, "returnParameters": { - "id": 1901, + "id": 1902, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1900, + "id": 1901, "name": "", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "932:7:9", "stateVariable": false, "storageLocation": "default", @@ -837,7 +837,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1899, + "id": 1900, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "932:7:9", @@ -852,7 +852,7 @@ ], "src": "931:9:9" }, - "scope": 2232, + "scope": 2233, "src": "869:162:9", "stateMutability": "pure", "superFunction": null, @@ -860,7 +860,7 @@ }, { "body": { - "id": 1941, + "id": 1942, "nodeType": "Block", "src": "1180:60:9", "statements": [ @@ -871,7 +871,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1939, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, @@ -881,11 +881,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1935, + "id": 1936, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1926, "src": "1206:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -894,11 +894,11 @@ }, { "argumentTypes": null, - "id": 1936, + "id": 1937, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, + "referencedDeclaration": 1928, "src": "1209:9:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -917,18 +917,18 @@ "typeString": "uint256" } ], - "id": 1934, + "id": 1935, "name": "multiply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, + "referencedDeclaration": 1924, "src": "1197:8:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1937, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": false, @@ -946,11 +946,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1938, + "id": 1939, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1929, + "referencedDeclaration": 1930, "src": "1222:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -963,15 +963,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1933, - "id": 1940, + "functionReturnParameters": 1934, + "id": 1941, "nodeType": "Return", "src": "1190:43:9" } ] }, "documentation": null, - "id": 1942, + "id": 1943, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "divideFractional", "nodeType": "FunctionDefinition", "parameters": { - "id": 1930, + "id": 1931, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1925, + "id": 1926, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1072:9:9", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1924, + "id": 1925, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1072:7:9", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1927, + "id": 1928, "name": "numerator", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1091:17:9", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1926, + "id": 1927, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:9", @@ -1036,10 +1036,10 @@ }, { "constant": false, - "id": 1929, + "id": 1930, "name": "denominator", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1118:19:9", "stateVariable": false, "storageLocation": "default", @@ -1048,7 +1048,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1928, + "id": 1929, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1118:7:9", @@ -1065,15 +1065,15 @@ }, "payable": false, "returnParameters": { - "id": 1933, + "id": 1934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1932, + "id": 1933, "name": "", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1167:7:9", "stateVariable": false, "storageLocation": "default", @@ -1082,7 +1082,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1931, + "id": 1932, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1167:7:9", @@ -1097,7 +1097,7 @@ ], "src": "1166:9:9" }, - "scope": 2232, + "scope": 2233, "src": "1037:203:9", "stateMutability": "pure", "superFunction": null, @@ -1105,7 +1105,7 @@ }, { "body": { - "id": 1961, + "id": 1962, "nodeType": "Block", "src": "1318:53:9", "statements": [ @@ -1119,18 +1119,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1954, + "id": 1955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1952, + "id": 1953, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1946, + "referencedDeclaration": 1947, "src": "1335:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1141,11 +1141,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1953, + "id": 1954, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, + "referencedDeclaration": 1945, "src": "1340:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1166,18 +1166,18 @@ "typeString": "bool" } ], - "id": 1951, + "id": 1952, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "1328:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1955, + "id": 1956, "isConstant": false, "isLValue": false, "isPure": false, @@ -1191,7 +1191,7 @@ "typeString": "tuple()" } }, - "id": 1956, + "id": 1957, "nodeType": "ExpressionStatement", "src": "1328:14:9" }, @@ -1202,18 +1202,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1959, + "id": 1960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1957, + "id": 1958, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, + "referencedDeclaration": 1945, "src": "1359:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1224,11 +1224,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1958, + "id": 1959, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1946, + "referencedDeclaration": 1947, "src": "1363:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1241,15 +1241,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1950, - "id": 1960, + "functionReturnParameters": 1951, + "id": 1961, "nodeType": "Return", "src": "1352:12:9" } ] }, "documentation": null, - "id": 1962, + "id": 1963, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1257,15 +1257,15 @@ "name": "subtract", "nodeType": "FunctionDefinition", "parameters": { - "id": 1947, + "id": 1948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1944, + "id": 1945, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1962, + "scope": 1963, "src": "1264:9:9", "stateVariable": false, "storageLocation": "default", @@ -1274,7 +1274,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1943, + "id": 1944, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1264:7:9", @@ -1288,10 +1288,10 @@ }, { "constant": false, - "id": 1946, + "id": 1947, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1962, + "scope": 1963, "src": "1275:9:9", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1945, + "id": 1946, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1275:7:9", @@ -1317,15 +1317,15 @@ }, "payable": false, "returnParameters": { - "id": 1950, + "id": 1951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1949, + "id": 1950, "name": "", "nodeType": "VariableDeclaration", - "scope": 1962, + "scope": 1963, "src": "1309:7:9", "stateVariable": false, "storageLocation": "default", @@ -1334,7 +1334,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1948, + "id": 1949, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1309:7:9", @@ -1349,7 +1349,7 @@ ], "src": "1308:9:9" }, - "scope": 2232, + "scope": 2233, "src": "1246:125:9", "stateMutability": "pure", "superFunction": null, @@ -1357,21 +1357,21 @@ }, { "body": { - "id": 1985, + "id": 1986, "nodeType": "Block", "src": "1444:76:9", "statements": [ { "assignments": [ - 1972 + 1973 ], "declarations": [ { "constant": false, - "id": 1972, + "id": 1973, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1454:9:9", "stateVariable": false, "storageLocation": "default", @@ -1380,7 +1380,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1971, + "id": 1972, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1454:7:9", @@ -1393,25 +1393,25 @@ "visibility": "internal" } ], - "id": 1976, + "id": 1977, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1975, + "id": 1976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1973, + "id": 1974, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1964, + "referencedDeclaration": 1965, "src": "1466:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1422,11 +1422,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1974, + "id": 1975, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1966, + "referencedDeclaration": 1967, "src": "1470:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1452,18 +1452,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1980, + "id": 1981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1978, + "id": 1979, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1972, + "referencedDeclaration": 1973, "src": "1488:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1474,11 +1474,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1979, + "id": 1980, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1964, + "referencedDeclaration": 1965, "src": "1493:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1499,18 +1499,18 @@ "typeString": "bool" } ], - "id": 1977, + "id": 1978, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "1481:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1981, + "id": 1982, "isConstant": false, "isLValue": false, "isPure": false, @@ -1524,33 +1524,33 @@ "typeString": "tuple()" } }, - "id": 1982, + "id": 1983, "nodeType": "ExpressionStatement", "src": "1481:14:9" }, { "expression": { "argumentTypes": null, - "id": 1983, + "id": 1984, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1972, + "referencedDeclaration": 1973, "src": "1512:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1970, - "id": 1984, + "functionReturnParameters": 1971, + "id": 1985, "nodeType": "Return", "src": "1505:8:9" } ] }, "documentation": null, - "id": 1986, + "id": 1987, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1558,15 +1558,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1967, + "id": 1968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1964, + "id": 1965, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1390:9:9", "stateVariable": false, "storageLocation": "default", @@ -1575,7 +1575,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1963, + "id": 1964, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1390:7:9", @@ -1589,10 +1589,10 @@ }, { "constant": false, - "id": 1966, + "id": 1967, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1401:9:9", "stateVariable": false, "storageLocation": "default", @@ -1601,7 +1601,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1965, + "id": 1966, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1401:7:9", @@ -1618,15 +1618,15 @@ }, "payable": false, "returnParameters": { - "id": 1970, + "id": 1971, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1969, + "id": 1970, "name": "", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1435:7:9", "stateVariable": false, "storageLocation": "default", @@ -1635,7 +1635,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1968, + "id": 1969, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1435:7:9", @@ -1650,7 +1650,7 @@ ], "src": "1434:9:9" }, - "scope": 2232, + "scope": 2233, "src": "1377:143:9", "stateMutability": "pure", "superFunction": null, @@ -1658,21 +1658,21 @@ }, { "body": { - "id": 2034, + "id": 2035, "nodeType": "Block", "src": "1737:445:9", "statements": [ { "assignments": [ - 1996 + 1997 ], "declarations": [ { "constant": false, - "id": 1996, + "id": 1997, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1747:8:9", "stateVariable": false, "storageLocation": "default", @@ -1681,7 +1681,7 @@ "typeString": "int256" }, "typeName": { - "id": 1995, + "id": 1996, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1747:6:9", @@ -1694,25 +1694,25 @@ "visibility": "internal" } ], - "id": 2000, + "id": 2001, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 1999, + "id": 2000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1997, + "id": 1998, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "1758:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1723,11 +1723,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1998, + "id": 1999, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "1762:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1746,7 +1746,7 @@ { "condition": { "argumentTypes": null, - "id": 2005, + "id": 2006, "isConstant": false, "isLValue": false, "isPure": false, @@ -1760,11 +1760,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2002, + "id": 2003, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "1789:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1773,11 +1773,11 @@ }, { "argumentTypes": null, - "id": 2003, + "id": 2004, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "1792:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1796,18 +1796,18 @@ "typeString": "int256" } ], - "id": 2001, + "id": 2002, "name": "isSameSign", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2097, + "referencedDeclaration": 2098, "src": "1778:10:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_bool_$", "typeString": "function (int256,int256) pure returns (bool)" } }, - "id": 2004, + "id": 2005, "isConstant": false, "isLValue": false, "isPure": false, @@ -1827,30 +1827,30 @@ } }, "falseBody": null, - "id": 2009, + "id": 2010, "nodeType": "IfStatement", "src": "1773:126:9", "trueBody": { - "id": 2008, + "id": 2009, "nodeType": "Block", "src": "1796:103:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2006, + "id": 2007, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1996, + "referencedDeclaration": 1997, "src": "1887:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "functionReturnParameters": 1994, - "id": 2007, + "functionReturnParameters": 1995, + "id": 2008, "nodeType": "Return", "src": "1880:8:9" } @@ -1864,18 +1864,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2012, + "id": 2013, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2010, + "id": 2011, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "1913:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1887,7 +1887,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2011, + "id": 2012, "isConstant": false, "isLValue": false, "isPure": true, @@ -1909,7 +1909,7 @@ } }, "falseBody": { - "id": 2030, + "id": 2031, "nodeType": "Block", "src": "2041:117:9", "statements": [ @@ -1923,18 +1923,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2027, + "id": 2028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2023, + "id": 2024, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "2127:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1949,18 +1949,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2026, + "id": 2027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2024, + "id": 2025, "name": "INT256_MIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1881, + "referencedDeclaration": 1882, "src": "2132:10:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1971,11 +1971,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2025, + "id": 2026, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "2145:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2002,18 +2002,18 @@ "typeString": "bool" } ], - "id": 2022, + "id": 2023, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "2120:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2028, + "id": 2029, "isConstant": false, "isLValue": false, "isPure": false, @@ -2027,17 +2027,17 @@ "typeString": "tuple()" } }, - "id": 2029, + "id": 2030, "nodeType": "ExpressionStatement", "src": "2120:27:9" } ] }, - "id": 2031, + "id": 2032, "nodeType": "IfStatement", "src": "1909:249:9", "trueBody": { - "id": 2021, + "id": 2022, "nodeType": "Block", "src": "1921:114:9", "statements": [ @@ -2051,18 +2051,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2018, + "id": 2019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2014, + "id": 2015, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "2004:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2077,18 +2077,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2017, + "id": 2018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2015, + "id": 2016, "name": "INT256_MAX", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1893, + "referencedDeclaration": 1894, "src": "2009:10:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2099,11 +2099,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2016, + "id": 2017, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "2022:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2130,18 +2130,18 @@ "typeString": "bool" } ], - "id": 2013, + "id": 2014, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "1997:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2019, + "id": 2020, "isConstant": false, "isLValue": false, "isPure": false, @@ -2155,7 +2155,7 @@ "typeString": "tuple()" } }, - "id": 2020, + "id": 2021, "nodeType": "ExpressionStatement", "src": "1997:27:9" } @@ -2165,26 +2165,26 @@ { "expression": { "argumentTypes": null, - "id": 2032, + "id": 2033, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1996, + "referencedDeclaration": 1997, "src": "2174:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "functionReturnParameters": 1994, - "id": 2033, + "functionReturnParameters": 1995, + "id": 2034, "nodeType": "Return", "src": "2167:8:9" } ] }, "documentation": "@notice safely adds two signed integers ensuring that no wrap occurs\n @param a value to add b to\n @param b value to add to a", - "id": 2035, + "id": 2036, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2192,15 +2192,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1991, + "id": 1992, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1988, + "id": 1989, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1686:8:9", "stateVariable": false, "storageLocation": "default", @@ -2209,7 +2209,7 @@ "typeString": "int256" }, "typeName": { - "id": 1987, + "id": 1988, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1686:6:9", @@ -2223,10 +2223,10 @@ }, { "constant": false, - "id": 1990, + "id": 1991, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1696:8:9", "stateVariable": false, "storageLocation": "default", @@ -2235,7 +2235,7 @@ "typeString": "int256" }, "typeName": { - "id": 1989, + "id": 1990, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1696:6:9", @@ -2252,15 +2252,15 @@ }, "payable": false, "returnParameters": { - "id": 1994, + "id": 1995, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1993, + "id": 1994, "name": "", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1729:6:9", "stateVariable": false, "storageLocation": "default", @@ -2269,7 +2269,7 @@ "typeString": "int256" }, "typeName": { - "id": 1992, + "id": 1993, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1729:6:9", @@ -2284,7 +2284,7 @@ ], "src": "1728:8:9" }, - "scope": 2232, + "scope": 2233, "src": "1673:509:9", "stateMutability": "pure", "superFunction": null, @@ -2292,7 +2292,7 @@ }, { "body": { - "id": 2050, + "id": 2051, "nodeType": "Block", "src": "2423:53:9", "statements": [ @@ -2302,11 +2302,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2045, + "id": 2046, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2037, + "referencedDeclaration": 2038, "src": "2444:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2315,7 +2315,7 @@ }, { "argumentTypes": null, - "id": 2047, + "id": 2048, "isConstant": false, "isLValue": false, "isPure": false, @@ -2326,11 +2326,11 @@ "src": "2447:2:9", "subExpression": { "argumentTypes": null, - "id": 2046, + "id": 2047, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2039, + "referencedDeclaration": 2040, "src": "2448:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2354,21 +2354,21 @@ "typeString": "int256" } ], - "id": 2044, + "id": 2045, "name": "add", "nodeType": "Identifier", "overloadedDeclarations": [ - 1986, - 2035 + 1987, + 2036 ], - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "2440:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2048, + "id": 2049, "isConstant": false, "isLValue": false, "isPure": false, @@ -2382,15 +2382,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2043, - "id": 2049, + "functionReturnParameters": 2044, + "id": 2050, "nodeType": "Return", "src": "2433:17:9" } ] }, "documentation": "@notice safely subtracts two signed integers ensuring that no wrap occurs\n @param a value to subtract b from\n @param b value to subtract from a", - "id": 2051, + "id": 2052, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2398,15 +2398,15 @@ "name": "subtract", "nodeType": "FunctionDefinition", "parameters": { - "id": 2040, + "id": 2041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2037, + "id": 2038, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2051, + "scope": 2052, "src": "2372:8:9", "stateVariable": false, "storageLocation": "default", @@ -2415,7 +2415,7 @@ "typeString": "int256" }, "typeName": { - "id": 2036, + "id": 2037, "name": "int256", "nodeType": "ElementaryTypeName", "src": "2372:6:9", @@ -2429,10 +2429,10 @@ }, { "constant": false, - "id": 2039, + "id": 2040, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2051, + "scope": 2052, "src": "2382:8:9", "stateVariable": false, "storageLocation": "default", @@ -2441,7 +2441,7 @@ "typeString": "int256" }, "typeName": { - "id": 2038, + "id": 2039, "name": "int256", "nodeType": "ElementaryTypeName", "src": "2382:6:9", @@ -2458,15 +2458,15 @@ }, "payable": false, "returnParameters": { - "id": 2043, + "id": 2044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2042, + "id": 2043, "name": "", "nodeType": "VariableDeclaration", - "scope": 2051, + "scope": 2052, "src": "2415:6:9", "stateVariable": false, "storageLocation": "default", @@ -2475,7 +2475,7 @@ "typeString": "int256" }, "typeName": { - "id": 2041, + "id": 2042, "name": "int256", "nodeType": "ElementaryTypeName", "src": "2415:6:9", @@ -2490,7 +2490,7 @@ ], "src": "2414:8:9" }, - "scope": 2232, + "scope": 2233, "src": "2354:122:9", "stateMutability": "pure", "superFunction": null, @@ -2498,7 +2498,7 @@ }, { "body": { - "id": 2075, + "id": 2076, "nodeType": "Block", "src": "2638:129:9", "statements": [ @@ -2509,18 +2509,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2060, + "id": 2061, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2058, + "id": 2059, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2053, + "referencedDeclaration": 2054, "src": "2652:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2532,7 +2532,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2059, + "id": 2060, "isConstant": false, "isLValue": false, "isPure": true, @@ -2560,18 +2560,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2066, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2064, + "id": 2065, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2053, + "referencedDeclaration": 2054, "src": "2702:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2583,7 +2583,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2065, + "id": 2066, "isConstant": false, "isLValue": false, "isPure": true, @@ -2605,18 +2605,18 @@ } }, "falseBody": null, - "id": 2071, + "id": 2072, "nodeType": "IfStatement", "src": "2698:45:9", "trueBody": { - "id": 2070, + "id": 2071, "nodeType": "Block", "src": "2709:34:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2068, + "id": 2069, "isConstant": false, "isLValue": false, "isPure": true, @@ -2628,7 +2628,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2067, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": true, @@ -2648,19 +2648,19 @@ "typeString": "int_const -1" } }, - "functionReturnParameters": 2057, - "id": 2069, + "functionReturnParameters": 2058, + "id": 2070, "nodeType": "Return", "src": "2723:9:9" } ] } }, - "id": 2072, + "id": 2073, "nodeType": "IfStatement", "src": "2648:95:9", "trueBody": { - "id": 2063, + "id": 2064, "nodeType": "Block", "src": "2659:33:9", "statements": [ @@ -2668,7 +2668,7 @@ "expression": { "argumentTypes": null, "hexValue": "31", - "id": 2061, + "id": 2062, "isConstant": false, "isLValue": false, "isPure": true, @@ -2683,8 +2683,8 @@ }, "value": "1" }, - "functionReturnParameters": 2057, - "id": 2062, + "functionReturnParameters": 2058, + "id": 2063, "nodeType": "Return", "src": "2673:8:9" } @@ -2695,7 +2695,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 2073, + "id": 2074, "isConstant": false, "isLValue": false, "isPure": true, @@ -2710,15 +2710,15 @@ }, "value": "0" }, - "functionReturnParameters": 2057, - "id": 2074, + "functionReturnParameters": 2058, + "id": 2075, "nodeType": "Return", "src": "2752:8:9" } ] }, "documentation": "@param a integer to determine sign of\n @return int8 sign of original value, either +1,0,-1", - "id": 2076, + "id": 2077, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2726,15 +2726,15 @@ "name": "sign", "nodeType": "FunctionDefinition", "parameters": { - "id": 2054, + "id": 2055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2053, + "id": 2054, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2076, + "scope": 2077, "src": "2602:5:9", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "int256" }, "typeName": { - "id": 2052, + "id": 2053, "name": "int", "nodeType": "ElementaryTypeName", "src": "2602:3:9", @@ -2760,15 +2760,15 @@ }, "payable": false, "returnParameters": { - "id": 2057, + "id": 2058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2056, + "id": 2057, "name": "", "nodeType": "VariableDeclaration", - "scope": 2076, + "scope": 2077, "src": "2632:4:9", "stateVariable": false, "storageLocation": "default", @@ -2777,7 +2777,7 @@ "typeString": "int8" }, "typeName": { - "id": 2055, + "id": 2056, "name": "int8", "nodeType": "ElementaryTypeName", "src": "2632:4:9", @@ -2792,7 +2792,7 @@ ], "src": "2631:6:9" }, - "scope": 2232, + "scope": 2233, "src": "2588:179:9", "stateMutability": "pure", "superFunction": null, @@ -2800,7 +2800,7 @@ }, { "body": { - "id": 2096, + "id": 2097, "nodeType": "Block", "src": "2979:46:9", "statements": [ @@ -2814,7 +2814,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2093, + "id": 2094, "isConstant": false, "isLValue": false, "isPure": false, @@ -2825,18 +2825,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2087, + "id": 2088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2085, + "id": 2086, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2079, "src": "2998:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2847,11 +2847,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 2086, + "id": 2087, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2080, + "referencedDeclaration": 2081, "src": "3003:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2872,7 +2872,7 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2092, + "id": 2093, "isConstant": false, "isLValue": false, "isPure": false, @@ -2883,18 +2883,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2090, + "id": 2091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2088, + "id": 2089, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2079, "src": "3008:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2905,11 +2905,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 2089, + "id": 2090, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2080, + "referencedDeclaration": 2081, "src": "3012:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2927,7 +2927,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2091, + "id": 2092, "isConstant": false, "isLValue": false, "isPure": true, @@ -2955,7 +2955,7 @@ } } ], - "id": 2094, + "id": 2095, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2968,15 +2968,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 2084, - "id": 2095, + "functionReturnParameters": 2085, + "id": 2096, "nodeType": "Return", "src": "2989:29:9" } ] }, "documentation": "@param a integer to compare to b\n @param b integer to compare to a\n @return bool true if a and b are the same sign (+/-)", - "id": 2097, + "id": 2098, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2984,15 +2984,15 @@ "name": "isSameSign", "nodeType": "FunctionDefinition", "parameters": { - "id": 2081, + "id": 2082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2078, + "id": 2079, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2097, + "scope": 2098, "src": "2936:5:9", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "int256" }, "typeName": { - "id": 2077, + "id": 2078, "name": "int", "nodeType": "ElementaryTypeName", "src": "2936:3:9", @@ -3015,10 +3015,10 @@ }, { "constant": false, - "id": 2080, + "id": 2081, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2097, + "scope": 2098, "src": "2943:5:9", "stateVariable": false, "storageLocation": "default", @@ -3027,7 +3027,7 @@ "typeString": "int256" }, "typeName": { - "id": 2079, + "id": 2080, "name": "int", "nodeType": "ElementaryTypeName", "src": "2943:3:9", @@ -3044,15 +3044,15 @@ }, "payable": false, "returnParameters": { - "id": 2084, + "id": 2085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2083, + "id": 2084, "name": "", "nodeType": "VariableDeclaration", - "scope": 2097, + "scope": 2098, "src": "2973:4:9", "stateVariable": false, "storageLocation": "default", @@ -3061,7 +3061,7 @@ "typeString": "bool" }, "typeName": { - "id": 2082, + "id": 2083, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2973:4:9", @@ -3076,7 +3076,7 @@ ], "src": "2972:6:9" }, - "scope": 2232, + "scope": 2233, "src": "2916:109:9", "stateMutability": "pure", "superFunction": null, @@ -3084,7 +3084,7 @@ }, { "body": { - "id": 2119, + "id": 2120, "nodeType": "Block", "src": "3194:112:9", "statements": [ @@ -3095,18 +3095,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2106, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2104, + "id": 2105, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2100, "src": "3208:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3118,7 +3118,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2105, + "id": 2106, "isConstant": false, "isLValue": false, "isPure": true, @@ -3140,7 +3140,7 @@ } }, "falseBody": { - "id": 2117, + "id": 2118, "nodeType": "Block", "src": "3261:39:9", "statements": [ @@ -3150,11 +3150,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2114, + "id": 2115, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2100, "src": "3287:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3169,7 +3169,7 @@ "typeString": "int256" } ], - "id": 2113, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": true, @@ -3182,7 +3182,7 @@ }, "typeName": "uint" }, - "id": 2115, + "id": 2116, "isConstant": false, "isLValue": false, "isPure": false, @@ -3196,18 +3196,18 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2103, - "id": 2116, + "functionReturnParameters": 2104, + "id": 2117, "nodeType": "Return", "src": "3275:14:9" } ] }, - "id": 2118, + "id": 2119, "nodeType": "IfStatement", "src": "3204:96:9", "trueBody": { - "id": 2112, + "id": 2113, "nodeType": "Block", "src": "3215:40:9", "statements": [ @@ -3217,7 +3217,7 @@ "arguments": [ { "argumentTypes": null, - "id": 2109, + "id": 2110, "isConstant": false, "isLValue": false, "isPure": false, @@ -3228,11 +3228,11 @@ "src": "3241:2:9", "subExpression": { "argumentTypes": null, - "id": 2108, + "id": 2109, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2100, "src": "3242:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3252,7 +3252,7 @@ "typeString": "int256" } ], - "id": 2107, + "id": 2108, "isConstant": false, "isLValue": false, "isPure": true, @@ -3265,7 +3265,7 @@ }, "typeName": "uint" }, - "id": 2110, + "id": 2111, "isConstant": false, "isLValue": false, "isPure": false, @@ -3279,8 +3279,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2103, - "id": 2111, + "functionReturnParameters": 2104, + "id": 2112, "nodeType": "Return", "src": "3229:15:9" } @@ -3290,7 +3290,7 @@ ] }, "documentation": "@param a integer to determine absolute value of\n @return uint non signed representation of a", - "id": 2120, + "id": 2121, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3298,15 +3298,15 @@ "name": "abs", "nodeType": "FunctionDefinition", "parameters": { - "id": 2100, + "id": 2101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2099, + "id": 2100, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2120, + "scope": 2121, "src": "3152:8:9", "stateVariable": false, "storageLocation": "default", @@ -3315,7 +3315,7 @@ "typeString": "int256" }, "typeName": { - "id": 2098, + "id": 2099, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3152:6:9", @@ -3332,15 +3332,15 @@ }, "payable": false, "returnParameters": { - "id": 2103, + "id": 2104, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2102, + "id": 2103, "name": "", "nodeType": "VariableDeclaration", - "scope": 2120, + "scope": 2121, "src": "3185:7:9", "stateVariable": false, "storageLocation": "default", @@ -3349,7 +3349,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2101, + "id": 2102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3185:7:9", @@ -3364,7 +3364,7 @@ ], "src": "3184:9:9" }, - "scope": 2232, + "scope": 2233, "src": "3139:167:9", "stateMutability": "pure", "superFunction": null, @@ -3372,7 +3372,7 @@ }, { "body": { - "id": 2140, + "id": 2141, "nodeType": "Block", "src": "3604:48:9", "statements": [ @@ -3385,7 +3385,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2135, + "id": 2136, "isConstant": false, "isLValue": false, "isPure": false, @@ -3395,11 +3395,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2130, + "id": 2131, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2122, + "referencedDeclaration": 2123, "src": "3625:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3414,18 +3414,18 @@ "typeString": "int256" } ], - "id": 2129, + "id": 2130, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3621:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2131, + "id": 2132, "isConstant": false, "isLValue": false, "isPure": false, @@ -3446,11 +3446,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2133, + "id": 2134, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2124, + "referencedDeclaration": 2125, "src": "3634:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3465,18 +3465,18 @@ "typeString": "int256" } ], - "id": 2132, + "id": 2133, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3630:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2134, + "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, @@ -3498,18 +3498,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 2137, + "id": 2138, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2124, + "referencedDeclaration": 2125, "src": "3644:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "id": 2138, + "id": 2139, "isConstant": false, "isLValue": false, "isPure": false, @@ -3518,11 +3518,11 @@ "src": "3621:24:9", "trueExpression": { "argumentTypes": null, - "id": 2136, + "id": 2137, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2122, + "referencedDeclaration": 2123, "src": "3640:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3534,15 +3534,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2128, - "id": 2139, + "functionReturnParameters": 2129, + "id": 2140, "nodeType": "Return", "src": "3614:31:9" } ] }, "documentation": "@notice finds the value closer to zero regardless of sign\n @param a integer to compare to b\n @param b integer to compare to a\n @return a if a is closer to zero than b - does not return abs value!", - "id": 2141, + "id": 2142, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3550,15 +3550,15 @@ "name": "absMin", "nodeType": "FunctionDefinition", "parameters": { - "id": 2125, + "id": 2126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2122, + "id": 2123, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2141, + "scope": 2142, "src": "3553:8:9", "stateVariable": false, "storageLocation": "default", @@ -3567,7 +3567,7 @@ "typeString": "int256" }, "typeName": { - "id": 2121, + "id": 2122, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3553:6:9", @@ -3581,10 +3581,10 @@ }, { "constant": false, - "id": 2124, + "id": 2125, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2141, + "scope": 2142, "src": "3563:8:9", "stateVariable": false, "storageLocation": "default", @@ -3593,7 +3593,7 @@ "typeString": "int256" }, "typeName": { - "id": 2123, + "id": 2124, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3563:6:9", @@ -3610,15 +3610,15 @@ }, "payable": false, "returnParameters": { - "id": 2128, + "id": 2129, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2127, + "id": 2128, "name": "", "nodeType": "VariableDeclaration", - "scope": 2141, + "scope": 2142, "src": "3596:6:9", "stateVariable": false, "storageLocation": "default", @@ -3627,7 +3627,7 @@ "typeString": "int256" }, "typeName": { - "id": 2126, + "id": 2127, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3596:6:9", @@ -3642,7 +3642,7 @@ ], "src": "3595:8:9" }, - "scope": 2232, + "scope": 2233, "src": "3537:115:9", "stateMutability": "pure", "superFunction": null, @@ -3650,7 +3650,7 @@ }, { "body": { - "id": 2161, + "id": 2162, "nodeType": "Block", "src": "3954:49:9", "statements": [ @@ -3663,7 +3663,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2156, + "id": 2157, "isConstant": false, "isLValue": false, "isPure": false, @@ -3673,11 +3673,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2151, + "id": 2152, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2143, + "referencedDeclaration": 2144, "src": "3975:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3692,18 +3692,18 @@ "typeString": "int256" } ], - "id": 2150, + "id": 2151, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3971:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2152, + "id": 2153, "isConstant": false, "isLValue": false, "isPure": false, @@ -3724,11 +3724,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2154, + "id": 2155, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2145, + "referencedDeclaration": 2146, "src": "3985:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3743,18 +3743,18 @@ "typeString": "int256" } ], - "id": 2153, + "id": 2154, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3981:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2155, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": false, @@ -3776,18 +3776,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 2158, + "id": 2159, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2145, + "referencedDeclaration": 2146, "src": "3995:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "id": 2159, + "id": 2160, "isConstant": false, "isLValue": false, "isPure": false, @@ -3796,11 +3796,11 @@ "src": "3971:25:9", "trueExpression": { "argumentTypes": null, - "id": 2157, + "id": 2158, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2143, + "referencedDeclaration": 2144, "src": "3991:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3812,15 +3812,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2149, - "id": 2160, + "functionReturnParameters": 2150, + "id": 2161, "nodeType": "Return", "src": "3964:32:9" } ] }, "documentation": "@notice finds the value further from zero regardless of sign\n @param a integer to compare to b\n @param b integer to compare to a\n @return a if a is further to zero than b - does not return abs value!", - "id": 2162, + "id": 2163, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3828,15 +3828,15 @@ "name": "absMax", "nodeType": "FunctionDefinition", "parameters": { - "id": 2146, + "id": 2147, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2143, + "id": 2144, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2162, + "scope": 2163, "src": "3903:8:9", "stateVariable": false, "storageLocation": "default", @@ -3845,7 +3845,7 @@ "typeString": "int256" }, "typeName": { - "id": 2142, + "id": 2143, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3903:6:9", @@ -3859,10 +3859,10 @@ }, { "constant": false, - "id": 2145, + "id": 2146, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2162, + "scope": 2163, "src": "3913:8:9", "stateVariable": false, "storageLocation": "default", @@ -3871,7 +3871,7 @@ "typeString": "int256" }, "typeName": { - "id": 2144, + "id": 2145, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3913:6:9", @@ -3888,15 +3888,15 @@ }, "payable": false, "returnParameters": { - "id": 2149, + "id": 2150, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2148, + "id": 2149, "name": "", "nodeType": "VariableDeclaration", - "scope": 2162, + "scope": 2163, "src": "3946:6:9", "stateVariable": false, "storageLocation": "default", @@ -3905,7 +3905,7 @@ "typeString": "int256" }, "typeName": { - "id": 2147, + "id": 2148, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3946:6:9", @@ -3920,7 +3920,7 @@ ], "src": "3945:8:9" }, - "scope": 2232, + "scope": 2233, "src": "3887:116:9", "stateMutability": "pure", "superFunction": null, @@ -3928,7 +3928,7 @@ }, { "body": { - "id": 2230, + "id": 2231, "nodeType": "Block", "src": "4655:592:9", "statements": [ @@ -3937,10 +3937,10 @@ "declarations": [ { "constant": false, - "id": 2178, + "id": 2179, "name": "maxLoss", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4665:12:9", "stateVariable": false, "storageLocation": "default", @@ -3949,7 +3949,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2177, + "id": 2178, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4665:4:9", @@ -3962,7 +3962,7 @@ "visibility": "internal" } ], - "id": 2179, + "id": 2180, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4665:12:9" @@ -3974,18 +3974,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2182, + "id": 2183, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2180, + "id": 2181, "name": "qty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2170, + "referencedDeclaration": 2171, "src": "4691:3:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3997,7 +3997,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2181, + "id": 2182, "isConstant": false, "isLValue": false, "isPure": true, @@ -4019,7 +4019,7 @@ } }, "falseBody": { - "id": 2218, + "id": 2219, "nodeType": "Block", "src": "4943:235:9", "statements": [ @@ -4030,18 +4030,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2203, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2201, + "id": 2202, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "5031:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4052,11 +4052,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2202, + "id": 2203, "name": "priceCap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2166, + "referencedDeclaration": 2167, "src": "5040:8:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4070,25 +4070,25 @@ } }, "falseBody": { - "id": 2216, + "id": 2217, "nodeType": "Block", "src": "5100:68:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2214, + "id": 2215, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2209, + "id": 2210, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "5118:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4102,11 +4102,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2211, + "id": 2212, "name": "priceCap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2166, + "referencedDeclaration": 2167, "src": "5137:8:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4115,11 +4115,11 @@ }, { "argumentTypes": null, - "id": 2212, + "id": 2213, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "5147:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4138,21 +4138,21 @@ "typeString": "uint256" } ], - "id": 2210, + "id": 2211, "name": "subtract", "nodeType": "Identifier", "overloadedDeclarations": [ - 1962, - 2051 + 1963, + 2052 ], - "referencedDeclaration": 1962, + "referencedDeclaration": 1963, "src": "5128:8:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2213, + "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, @@ -4172,35 +4172,35 @@ "typeString": "uint256" } }, - "id": 2215, + "id": 2216, "nodeType": "ExpressionStatement", "src": "5118:35:9" } ] }, - "id": 2217, + "id": 2218, "nodeType": "IfStatement", "src": "5027:141:9", "trueBody": { - "id": 2208, + "id": 2209, "nodeType": "Block", "src": "5050:44:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2206, + "id": 2207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2204, + "id": 2205, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "5068:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4212,7 +4212,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 2205, + "id": 2206, "isConstant": false, "isLValue": false, "isPure": true, @@ -4233,7 +4233,7 @@ "typeString": "uint256" } }, - "id": 2207, + "id": 2208, "nodeType": "ExpressionStatement", "src": "5068:11:9" } @@ -4242,11 +4242,11 @@ } ] }, - "id": 2219, + "id": 2220, "nodeType": "IfStatement", "src": "4687:491:9", "trueBody": { - "id": 2200, + "id": 2201, "nodeType": "Block", "src": "4700:237:9", "statements": [ @@ -4257,18 +4257,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2185, + "id": 2186, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2183, + "id": 2184, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "4786:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4279,11 +4279,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 2184, + "id": 2185, "name": "priceFloor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2164, + "referencedDeclaration": 2165, "src": "4795:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4297,25 +4297,25 @@ } }, "falseBody": { - "id": 2198, + "id": 2199, "nodeType": "Block", "src": "4857:70:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2196, + "id": 2197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2191, + "id": 2192, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "4875:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4329,11 +4329,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2193, + "id": 2194, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "4894:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4342,11 +4342,11 @@ }, { "argumentTypes": null, - "id": 2194, + "id": 2195, "name": "priceFloor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2164, + "referencedDeclaration": 2165, "src": "4901:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4365,21 +4365,21 @@ "typeString": "uint256" } ], - "id": 2192, + "id": 2193, "name": "subtract", "nodeType": "Identifier", "overloadedDeclarations": [ - 1962, - 2051 + 1963, + 2052 ], - "referencedDeclaration": 1962, + "referencedDeclaration": 1963, "src": "4885:8:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2195, + "id": 2196, "isConstant": false, "isLValue": false, "isPure": false, @@ -4399,35 +4399,35 @@ "typeString": "uint256" } }, - "id": 2197, + "id": 2198, "nodeType": "ExpressionStatement", "src": "4875:37:9" } ] }, - "id": 2199, + "id": 2200, "nodeType": "IfStatement", "src": "4782:145:9", "trueBody": { - "id": 2190, + "id": 2191, "nodeType": "Block", "src": "4807:44:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2188, + "id": 2189, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2186, + "id": 2187, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "4825:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4439,7 +4439,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 2187, + "id": 2188, "isConstant": false, "isLValue": false, "isPure": true, @@ -4460,7 +4460,7 @@ "typeString": "uint256" } }, - "id": 2189, + "id": 2190, "nodeType": "ExpressionStatement", "src": "4825:11:9" } @@ -4473,18 +4473,18 @@ { "expression": { "argumentTypes": null, - "id": 2228, + "id": 2229, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2220, + "id": 2221, "name": "neededCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2175, + "referencedDeclaration": 2176, "src": "5187:16:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4499,7 +4499,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2227, + "id": 2228, "isConstant": false, "isLValue": false, "isPure": false, @@ -4510,18 +4510,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2225, + "id": 2226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2221, + "id": 2222, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "5206:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4535,11 +4535,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2223, + "id": 2224, "name": "qty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2170, + "referencedDeclaration": 2171, "src": "5220:3:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -4554,18 +4554,18 @@ "typeString": "int256" } ], - "id": 2222, + "id": 2223, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "5216:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2224, + "id": 2225, "isConstant": false, "isLValue": false, "isPure": false, @@ -4589,11 +4589,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 2226, + "id": 2227, "name": "qtyMultiplier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2168, + "referencedDeclaration": 2169, "src": "5227:13:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4612,14 +4612,14 @@ "typeString": "uint256" } }, - "id": 2229, + "id": 2230, "nodeType": "ExpressionStatement", "src": "5187:53:9" } ] }, "documentation": "@notice determines the amount of needed collateral for a given position (qty and price)\n @param priceFloor lowest price the contract is allowed to trade before expiration\n @param priceCap highest price the contract is allowed to trade before expiration\n @param qtyMultiplier multiplier for qty from base units\n @param qty signed integer corresponding to the traded quantity\n @param price of the trade", - "id": 2231, + "id": 2232, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4627,15 +4627,15 @@ "name": "calculateNeededCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 2173, + "id": 2174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2164, + "id": 2165, "name": "priceFloor", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4497:15:9", "stateVariable": false, "storageLocation": "default", @@ -4644,7 +4644,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2163, + "id": 2164, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4497:4:9", @@ -4658,10 +4658,10 @@ }, { "constant": false, - "id": 2166, + "id": 2167, "name": "priceCap", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4522:13:9", "stateVariable": false, "storageLocation": "default", @@ -4670,7 +4670,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2165, + "id": 2166, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4522:4:9", @@ -4684,10 +4684,10 @@ }, { "constant": false, - "id": 2168, + "id": 2169, "name": "qtyMultiplier", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4545:18:9", "stateVariable": false, "storageLocation": "default", @@ -4696,7 +4696,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2167, + "id": 2168, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4545:4:9", @@ -4710,10 +4710,10 @@ }, { "constant": false, - "id": 2170, + "id": 2171, "name": "qty", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4573:7:9", "stateVariable": false, "storageLocation": "default", @@ -4722,7 +4722,7 @@ "typeString": "int256" }, "typeName": { - "id": 2169, + "id": 2170, "name": "int", "nodeType": "ElementaryTypeName", "src": "4573:3:9", @@ -4736,10 +4736,10 @@ }, { "constant": false, - "id": 2172, + "id": 2173, "name": "price", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4590:10:9", "stateVariable": false, "storageLocation": "default", @@ -4748,7 +4748,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2171, + "id": 2172, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4590:4:9", @@ -4765,15 +4765,15 @@ }, "payable": false, "returnParameters": { - "id": 2176, + "id": 2177, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2175, + "id": 2176, "name": "neededCollateral", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4628:21:9", "stateVariable": false, "storageLocation": "default", @@ -4782,7 +4782,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2174, + "id": 2175, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4628:4:9", @@ -4797,14 +4797,14 @@ ], "src": "4627:23:9" }, - "scope": 2232, + "scope": 2233, "src": "4453:794:9", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 2233, + "scope": 2234, "src": "718:4531:9" } ], @@ -4814,14 +4814,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "exportedSymbols": { "MathLib": [ - 2232 + 2233 ] }, - "id": 2233, + "id": 2234, "nodeType": "SourceUnit", "nodes": [ { - "id": 1871, + "id": 1872, "literals": [ "solidity", "^", @@ -4837,19 +4837,19 @@ "contractKind": "library", "documentation": "@title Math function library with overflow protection inspired by Open Zeppelin", "fullyImplemented": true, - "id": 2232, + "id": 2233, "linearizedBaseContracts": [ - 2232 + 2233 ], "name": "MathLib", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 1881, + "id": 1882, "name": "INT256_MIN", "nodeType": "VariableDeclaration", - "scope": 2232, + "scope": 2233, "src": "741:56:9", "stateVariable": true, "storageLocation": "default", @@ -4858,7 +4858,7 @@ "typeString": "int256" }, "typeName": { - "id": 1872, + "id": 1873, "name": "int256", "nodeType": "ElementaryTypeName", "src": "741:6:9", @@ -4879,7 +4879,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1878, + "id": 1879, "isConstant": false, "isLValue": false, "isPure": true, @@ -4890,7 +4890,7 @@ { "argumentTypes": null, "hexValue": "31", - "id": 1875, + "id": 1876, "isConstant": false, "isLValue": false, "isPure": true, @@ -4913,7 +4913,7 @@ "typeString": "int_const 1" } ], - "id": 1874, + "id": 1875, "isConstant": false, "isLValue": false, "isPure": true, @@ -4926,7 +4926,7 @@ }, "typeName": "uint256" }, - "id": 1876, + "id": 1877, "isConstant": false, "isLValue": false, "isPure": true, @@ -4945,7 +4945,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1877, + "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, @@ -4967,7 +4967,7 @@ } } ], - "id": 1879, + "id": 1880, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4988,7 +4988,7 @@ "typeString": "uint256" } ], - "id": 1873, + "id": 1874, "isConstant": false, "isLValue": false, "isPure": true, @@ -5001,7 +5001,7 @@ }, "typeName": "int256" }, - "id": 1880, + "id": 1881, "isConstant": false, "isLValue": false, "isPure": true, @@ -5019,10 +5019,10 @@ }, { "constant": true, - "id": 1893, + "id": 1894, "name": "INT256_MAX", "nodeType": "VariableDeclaration", - "scope": 2232, + "scope": 2233, "src": "803:59:9", "stateVariable": true, "storageLocation": "default", @@ -5031,7 +5031,7 @@ "typeString": "int256" }, "typeName": { - "id": 1882, + "id": 1883, "name": "int256", "nodeType": "ElementaryTypeName", "src": "803:6:9", @@ -5045,7 +5045,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1891, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": true, @@ -5066,7 +5066,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1888, + "id": 1889, "isConstant": false, "isLValue": false, "isPure": true, @@ -5077,7 +5077,7 @@ { "argumentTypes": null, "hexValue": "31", - "id": 1885, + "id": 1886, "isConstant": false, "isLValue": false, "isPure": true, @@ -5100,7 +5100,7 @@ "typeString": "int_const 1" } ], - "id": 1884, + "id": 1885, "isConstant": false, "isLValue": false, "isPure": true, @@ -5113,7 +5113,7 @@ }, "typeName": "uint256" }, - "id": 1886, + "id": 1887, "isConstant": false, "isLValue": false, "isPure": true, @@ -5132,7 +5132,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323535", - "id": 1887, + "id": 1888, "isConstant": false, "isLValue": false, "isPure": true, @@ -5154,7 +5154,7 @@ } } ], - "id": 1889, + "id": 1890, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5168,7 +5168,7 @@ } } ], - "id": 1890, + "id": 1891, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5194,7 +5194,7 @@ "typeString": "uint256" } ], - "id": 1883, + "id": 1884, "isConstant": false, "isLValue": false, "isPure": true, @@ -5207,7 +5207,7 @@ }, "typeName": "int256" }, - "id": 1892, + "id": 1893, "isConstant": false, "isLValue": false, "isPure": true, @@ -5225,21 +5225,21 @@ }, { "body": { - "id": 1922, + "id": 1923, "nodeType": "Block", "src": "941:90:9", "statements": [ { "assignments": [ - 1903 + 1904 ], "declarations": [ { "constant": false, - "id": 1903, + "id": 1904, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "951:9:9", "stateVariable": false, "storageLocation": "default", @@ -5248,7 +5248,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1902, + "id": 1903, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "951:7:9", @@ -5261,25 +5261,25 @@ "visibility": "internal" } ], - "id": 1907, + "id": 1908, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1906, + "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1904, + "id": 1905, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1895, + "referencedDeclaration": 1896, "src": "963:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5290,11 +5290,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1905, + "id": 1906, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1897, + "referencedDeclaration": 1898, "src": "967:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5320,7 +5320,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1917, + "id": 1918, "isConstant": false, "isLValue": false, "isPure": false, @@ -5331,18 +5331,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1911, + "id": 1912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1909, + "id": 1910, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1895, + "referencedDeclaration": 1896, "src": "985:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5354,7 +5354,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1910, + "id": 1911, "isConstant": false, "isLValue": false, "isPure": true, @@ -5383,7 +5383,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1916, + "id": 1917, "isConstant": false, "isLValue": false, "isPure": false, @@ -5394,18 +5394,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1914, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1912, + "id": 1913, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, + "referencedDeclaration": 1904, "src": "995:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5416,11 +5416,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1913, + "id": 1914, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1895, + "referencedDeclaration": 1896, "src": "999:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5437,11 +5437,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1915, + "id": 1916, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1897, + "referencedDeclaration": 1898, "src": "1004:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5468,18 +5468,18 @@ "typeString": "bool" } ], - "id": 1908, + "id": 1909, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "978:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1918, + "id": 1919, "isConstant": false, "isLValue": false, "isPure": false, @@ -5493,33 +5493,33 @@ "typeString": "tuple()" } }, - "id": 1919, + "id": 1920, "nodeType": "ExpressionStatement", "src": "978:28:9" }, { "expression": { "argumentTypes": null, - "id": 1920, + "id": 1921, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, + "referencedDeclaration": 1904, "src": "1023:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1901, - "id": 1921, + "functionReturnParameters": 1902, + "id": 1922, "nodeType": "Return", "src": "1016:8:9" } ] }, "documentation": null, - "id": 1923, + "id": 1924, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5527,15 +5527,15 @@ "name": "multiply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1898, + "id": 1899, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1895, + "id": 1896, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "887:9:9", "stateVariable": false, "storageLocation": "default", @@ -5544,7 +5544,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1894, + "id": 1895, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "887:7:9", @@ -5558,10 +5558,10 @@ }, { "constant": false, - "id": 1897, + "id": 1898, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "898:9:9", "stateVariable": false, "storageLocation": "default", @@ -5570,7 +5570,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1896, + "id": 1897, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "898:7:9", @@ -5587,15 +5587,15 @@ }, "payable": false, "returnParameters": { - "id": 1901, + "id": 1902, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1900, + "id": 1901, "name": "", "nodeType": "VariableDeclaration", - "scope": 1923, + "scope": 1924, "src": "932:7:9", "stateVariable": false, "storageLocation": "default", @@ -5604,7 +5604,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1899, + "id": 1900, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "932:7:9", @@ -5619,7 +5619,7 @@ ], "src": "931:9:9" }, - "scope": 2232, + "scope": 2233, "src": "869:162:9", "stateMutability": "pure", "superFunction": null, @@ -5627,7 +5627,7 @@ }, { "body": { - "id": 1941, + "id": 1942, "nodeType": "Block", "src": "1180:60:9", "statements": [ @@ -5638,7 +5638,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1939, + "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, @@ -5648,11 +5648,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1935, + "id": 1936, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1926, "src": "1206:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5661,11 +5661,11 @@ }, { "argumentTypes": null, - "id": 1936, + "id": 1937, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, + "referencedDeclaration": 1928, "src": "1209:9:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5684,18 +5684,18 @@ "typeString": "uint256" } ], - "id": 1934, + "id": 1935, "name": "multiply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, + "referencedDeclaration": 1924, "src": "1197:8:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1937, + "id": 1938, "isConstant": false, "isLValue": false, "isPure": false, @@ -5713,11 +5713,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1938, + "id": 1939, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1929, + "referencedDeclaration": 1930, "src": "1222:11:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5730,15 +5730,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1933, - "id": 1940, + "functionReturnParameters": 1934, + "id": 1941, "nodeType": "Return", "src": "1190:43:9" } ] }, "documentation": null, - "id": 1942, + "id": 1943, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5746,15 +5746,15 @@ "name": "divideFractional", "nodeType": "FunctionDefinition", "parameters": { - "id": 1930, + "id": 1931, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1925, + "id": 1926, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1072:9:9", "stateVariable": false, "storageLocation": "default", @@ -5763,7 +5763,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1924, + "id": 1925, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1072:7:9", @@ -5777,10 +5777,10 @@ }, { "constant": false, - "id": 1927, + "id": 1928, "name": "numerator", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1091:17:9", "stateVariable": false, "storageLocation": "default", @@ -5789,7 +5789,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1926, + "id": 1927, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:9", @@ -5803,10 +5803,10 @@ }, { "constant": false, - "id": 1929, + "id": 1930, "name": "denominator", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1118:19:9", "stateVariable": false, "storageLocation": "default", @@ -5815,7 +5815,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1928, + "id": 1929, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1118:7:9", @@ -5832,15 +5832,15 @@ }, "payable": false, "returnParameters": { - "id": 1933, + "id": 1934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1932, + "id": 1933, "name": "", "nodeType": "VariableDeclaration", - "scope": 1942, + "scope": 1943, "src": "1167:7:9", "stateVariable": false, "storageLocation": "default", @@ -5849,7 +5849,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1931, + "id": 1932, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1167:7:9", @@ -5864,7 +5864,7 @@ ], "src": "1166:9:9" }, - "scope": 2232, + "scope": 2233, "src": "1037:203:9", "stateMutability": "pure", "superFunction": null, @@ -5872,7 +5872,7 @@ }, { "body": { - "id": 1961, + "id": 1962, "nodeType": "Block", "src": "1318:53:9", "statements": [ @@ -5886,18 +5886,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1954, + "id": 1955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1952, + "id": 1953, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1946, + "referencedDeclaration": 1947, "src": "1335:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5908,11 +5908,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1953, + "id": 1954, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, + "referencedDeclaration": 1945, "src": "1340:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5933,18 +5933,18 @@ "typeString": "bool" } ], - "id": 1951, + "id": 1952, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "1328:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1955, + "id": 1956, "isConstant": false, "isLValue": false, "isPure": false, @@ -5958,7 +5958,7 @@ "typeString": "tuple()" } }, - "id": 1956, + "id": 1957, "nodeType": "ExpressionStatement", "src": "1328:14:9" }, @@ -5969,18 +5969,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1959, + "id": 1960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1957, + "id": 1958, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1944, + "referencedDeclaration": 1945, "src": "1359:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5991,11 +5991,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1958, + "id": 1959, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1946, + "referencedDeclaration": 1947, "src": "1363:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6008,15 +6008,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1950, - "id": 1960, + "functionReturnParameters": 1951, + "id": 1961, "nodeType": "Return", "src": "1352:12:9" } ] }, "documentation": null, - "id": 1962, + "id": 1963, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6024,15 +6024,15 @@ "name": "subtract", "nodeType": "FunctionDefinition", "parameters": { - "id": 1947, + "id": 1948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1944, + "id": 1945, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1962, + "scope": 1963, "src": "1264:9:9", "stateVariable": false, "storageLocation": "default", @@ -6041,7 +6041,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1943, + "id": 1944, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1264:7:9", @@ -6055,10 +6055,10 @@ }, { "constant": false, - "id": 1946, + "id": 1947, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1962, + "scope": 1963, "src": "1275:9:9", "stateVariable": false, "storageLocation": "default", @@ -6067,7 +6067,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1945, + "id": 1946, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1275:7:9", @@ -6084,15 +6084,15 @@ }, "payable": false, "returnParameters": { - "id": 1950, + "id": 1951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1949, + "id": 1950, "name": "", "nodeType": "VariableDeclaration", - "scope": 1962, + "scope": 1963, "src": "1309:7:9", "stateVariable": false, "storageLocation": "default", @@ -6101,7 +6101,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1948, + "id": 1949, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1309:7:9", @@ -6116,7 +6116,7 @@ ], "src": "1308:9:9" }, - "scope": 2232, + "scope": 2233, "src": "1246:125:9", "stateMutability": "pure", "superFunction": null, @@ -6124,21 +6124,21 @@ }, { "body": { - "id": 1985, + "id": 1986, "nodeType": "Block", "src": "1444:76:9", "statements": [ { "assignments": [ - 1972 + 1973 ], "declarations": [ { "constant": false, - "id": 1972, + "id": 1973, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1454:9:9", "stateVariable": false, "storageLocation": "default", @@ -6147,7 +6147,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1971, + "id": 1972, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1454:7:9", @@ -6160,25 +6160,25 @@ "visibility": "internal" } ], - "id": 1976, + "id": 1977, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1975, + "id": 1976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1973, + "id": 1974, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1964, + "referencedDeclaration": 1965, "src": "1466:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6189,11 +6189,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1974, + "id": 1975, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1966, + "referencedDeclaration": 1967, "src": "1470:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6219,18 +6219,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1980, + "id": 1981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1978, + "id": 1979, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1972, + "referencedDeclaration": 1973, "src": "1488:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6241,11 +6241,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1979, + "id": 1980, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1964, + "referencedDeclaration": 1965, "src": "1493:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6266,18 +6266,18 @@ "typeString": "bool" } ], - "id": 1977, + "id": 1978, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "1481:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1981, + "id": 1982, "isConstant": false, "isLValue": false, "isPure": false, @@ -6291,33 +6291,33 @@ "typeString": "tuple()" } }, - "id": 1982, + "id": 1983, "nodeType": "ExpressionStatement", "src": "1481:14:9" }, { "expression": { "argumentTypes": null, - "id": 1983, + "id": 1984, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1972, + "referencedDeclaration": 1973, "src": "1512:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1970, - "id": 1984, + "functionReturnParameters": 1971, + "id": 1985, "nodeType": "Return", "src": "1505:8:9" } ] }, "documentation": null, - "id": 1986, + "id": 1987, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6325,15 +6325,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1967, + "id": 1968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1964, + "id": 1965, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1390:9:9", "stateVariable": false, "storageLocation": "default", @@ -6342,7 +6342,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1963, + "id": 1964, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1390:7:9", @@ -6356,10 +6356,10 @@ }, { "constant": false, - "id": 1966, + "id": 1967, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1401:9:9", "stateVariable": false, "storageLocation": "default", @@ -6368,7 +6368,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1965, + "id": 1966, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1401:7:9", @@ -6385,15 +6385,15 @@ }, "payable": false, "returnParameters": { - "id": 1970, + "id": 1971, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1969, + "id": 1970, "name": "", "nodeType": "VariableDeclaration", - "scope": 1986, + "scope": 1987, "src": "1435:7:9", "stateVariable": false, "storageLocation": "default", @@ -6402,7 +6402,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1968, + "id": 1969, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1435:7:9", @@ -6417,7 +6417,7 @@ ], "src": "1434:9:9" }, - "scope": 2232, + "scope": 2233, "src": "1377:143:9", "stateMutability": "pure", "superFunction": null, @@ -6425,21 +6425,21 @@ }, { "body": { - "id": 2034, + "id": 2035, "nodeType": "Block", "src": "1737:445:9", "statements": [ { "assignments": [ - 1996 + 1997 ], "declarations": [ { "constant": false, - "id": 1996, + "id": 1997, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1747:8:9", "stateVariable": false, "storageLocation": "default", @@ -6448,7 +6448,7 @@ "typeString": "int256" }, "typeName": { - "id": 1995, + "id": 1996, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1747:6:9", @@ -6461,25 +6461,25 @@ "visibility": "internal" } ], - "id": 2000, + "id": 2001, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 1999, + "id": 2000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1997, + "id": 1998, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "1758:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6490,11 +6490,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1998, + "id": 1999, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "1762:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6513,7 +6513,7 @@ { "condition": { "argumentTypes": null, - "id": 2005, + "id": 2006, "isConstant": false, "isLValue": false, "isPure": false, @@ -6527,11 +6527,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2002, + "id": 2003, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "1789:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6540,11 +6540,11 @@ }, { "argumentTypes": null, - "id": 2003, + "id": 2004, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "1792:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6563,18 +6563,18 @@ "typeString": "int256" } ], - "id": 2001, + "id": 2002, "name": "isSameSign", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2097, + "referencedDeclaration": 2098, "src": "1778:10:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_bool_$", "typeString": "function (int256,int256) pure returns (bool)" } }, - "id": 2004, + "id": 2005, "isConstant": false, "isLValue": false, "isPure": false, @@ -6594,30 +6594,30 @@ } }, "falseBody": null, - "id": 2009, + "id": 2010, "nodeType": "IfStatement", "src": "1773:126:9", "trueBody": { - "id": 2008, + "id": 2009, "nodeType": "Block", "src": "1796:103:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2006, + "id": 2007, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1996, + "referencedDeclaration": 1997, "src": "1887:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "functionReturnParameters": 1994, - "id": 2007, + "functionReturnParameters": 1995, + "id": 2008, "nodeType": "Return", "src": "1880:8:9" } @@ -6631,18 +6631,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2012, + "id": 2013, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2010, + "id": 2011, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "1913:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6654,7 +6654,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2011, + "id": 2012, "isConstant": false, "isLValue": false, "isPure": true, @@ -6676,7 +6676,7 @@ } }, "falseBody": { - "id": 2030, + "id": 2031, "nodeType": "Block", "src": "2041:117:9", "statements": [ @@ -6690,18 +6690,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2027, + "id": 2028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2023, + "id": 2024, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "2127:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6716,18 +6716,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2026, + "id": 2027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2024, + "id": 2025, "name": "INT256_MIN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1881, + "referencedDeclaration": 1882, "src": "2132:10:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6738,11 +6738,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2025, + "id": 2026, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "2145:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6769,18 +6769,18 @@ "typeString": "bool" } ], - "id": 2022, + "id": 2023, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "2120:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2028, + "id": 2029, "isConstant": false, "isLValue": false, "isPure": false, @@ -6794,17 +6794,17 @@ "typeString": "tuple()" } }, - "id": 2029, + "id": 2030, "nodeType": "ExpressionStatement", "src": "2120:27:9" } ] }, - "id": 2031, + "id": 2032, "nodeType": "IfStatement", "src": "1909:249:9", "trueBody": { - "id": 2021, + "id": 2022, "nodeType": "Block", "src": "1921:114:9", "statements": [ @@ -6818,18 +6818,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2018, + "id": 2019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2014, + "id": 2015, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1990, + "referencedDeclaration": 1991, "src": "2004:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6844,18 +6844,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2017, + "id": 2018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2015, + "id": 2016, "name": "INT256_MAX", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1893, + "referencedDeclaration": 1894, "src": "2009:10:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6866,11 +6866,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2016, + "id": 2017, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1988, + "referencedDeclaration": 1989, "src": "2022:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6897,18 +6897,18 @@ "typeString": "bool" } ], - "id": 2013, + "id": 2014, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5182, "src": "1997:6:9", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 2019, + "id": 2020, "isConstant": false, "isLValue": false, "isPure": false, @@ -6922,7 +6922,7 @@ "typeString": "tuple()" } }, - "id": 2020, + "id": 2021, "nodeType": "ExpressionStatement", "src": "1997:27:9" } @@ -6932,26 +6932,26 @@ { "expression": { "argumentTypes": null, - "id": 2032, + "id": 2033, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1996, + "referencedDeclaration": 1997, "src": "2174:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "functionReturnParameters": 1994, - "id": 2033, + "functionReturnParameters": 1995, + "id": 2034, "nodeType": "Return", "src": "2167:8:9" } ] }, "documentation": "@notice safely adds two signed integers ensuring that no wrap occurs\n @param a value to add b to\n @param b value to add to a", - "id": 2035, + "id": 2036, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6959,15 +6959,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1991, + "id": 1992, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1988, + "id": 1989, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1686:8:9", "stateVariable": false, "storageLocation": "default", @@ -6976,7 +6976,7 @@ "typeString": "int256" }, "typeName": { - "id": 1987, + "id": 1988, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1686:6:9", @@ -6990,10 +6990,10 @@ }, { "constant": false, - "id": 1990, + "id": 1991, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1696:8:9", "stateVariable": false, "storageLocation": "default", @@ -7002,7 +7002,7 @@ "typeString": "int256" }, "typeName": { - "id": 1989, + "id": 1990, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1696:6:9", @@ -7019,15 +7019,15 @@ }, "payable": false, "returnParameters": { - "id": 1994, + "id": 1995, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1993, + "id": 1994, "name": "", "nodeType": "VariableDeclaration", - "scope": 2035, + "scope": 2036, "src": "1729:6:9", "stateVariable": false, "storageLocation": "default", @@ -7036,7 +7036,7 @@ "typeString": "int256" }, "typeName": { - "id": 1992, + "id": 1993, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1729:6:9", @@ -7051,7 +7051,7 @@ ], "src": "1728:8:9" }, - "scope": 2232, + "scope": 2233, "src": "1673:509:9", "stateMutability": "pure", "superFunction": null, @@ -7059,7 +7059,7 @@ }, { "body": { - "id": 2050, + "id": 2051, "nodeType": "Block", "src": "2423:53:9", "statements": [ @@ -7069,11 +7069,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2045, + "id": 2046, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2037, + "referencedDeclaration": 2038, "src": "2444:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7082,7 +7082,7 @@ }, { "argumentTypes": null, - "id": 2047, + "id": 2048, "isConstant": false, "isLValue": false, "isPure": false, @@ -7093,11 +7093,11 @@ "src": "2447:2:9", "subExpression": { "argumentTypes": null, - "id": 2046, + "id": 2047, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2039, + "referencedDeclaration": 2040, "src": "2448:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7121,21 +7121,21 @@ "typeString": "int256" } ], - "id": 2044, + "id": 2045, "name": "add", "nodeType": "Identifier", "overloadedDeclarations": [ - 1986, - 2035 + 1987, + 2036 ], - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "2440:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2048, + "id": 2049, "isConstant": false, "isLValue": false, "isPure": false, @@ -7149,15 +7149,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2043, - "id": 2049, + "functionReturnParameters": 2044, + "id": 2050, "nodeType": "Return", "src": "2433:17:9" } ] }, "documentation": "@notice safely subtracts two signed integers ensuring that no wrap occurs\n @param a value to subtract b from\n @param b value to subtract from a", - "id": 2051, + "id": 2052, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7165,15 +7165,15 @@ "name": "subtract", "nodeType": "FunctionDefinition", "parameters": { - "id": 2040, + "id": 2041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2037, + "id": 2038, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2051, + "scope": 2052, "src": "2372:8:9", "stateVariable": false, "storageLocation": "default", @@ -7182,7 +7182,7 @@ "typeString": "int256" }, "typeName": { - "id": 2036, + "id": 2037, "name": "int256", "nodeType": "ElementaryTypeName", "src": "2372:6:9", @@ -7196,10 +7196,10 @@ }, { "constant": false, - "id": 2039, + "id": 2040, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2051, + "scope": 2052, "src": "2382:8:9", "stateVariable": false, "storageLocation": "default", @@ -7208,7 +7208,7 @@ "typeString": "int256" }, "typeName": { - "id": 2038, + "id": 2039, "name": "int256", "nodeType": "ElementaryTypeName", "src": "2382:6:9", @@ -7225,15 +7225,15 @@ }, "payable": false, "returnParameters": { - "id": 2043, + "id": 2044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2042, + "id": 2043, "name": "", "nodeType": "VariableDeclaration", - "scope": 2051, + "scope": 2052, "src": "2415:6:9", "stateVariable": false, "storageLocation": "default", @@ -7242,7 +7242,7 @@ "typeString": "int256" }, "typeName": { - "id": 2041, + "id": 2042, "name": "int256", "nodeType": "ElementaryTypeName", "src": "2415:6:9", @@ -7257,7 +7257,7 @@ ], "src": "2414:8:9" }, - "scope": 2232, + "scope": 2233, "src": "2354:122:9", "stateMutability": "pure", "superFunction": null, @@ -7265,7 +7265,7 @@ }, { "body": { - "id": 2075, + "id": 2076, "nodeType": "Block", "src": "2638:129:9", "statements": [ @@ -7276,18 +7276,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2060, + "id": 2061, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2058, + "id": 2059, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2053, + "referencedDeclaration": 2054, "src": "2652:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7299,7 +7299,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2059, + "id": 2060, "isConstant": false, "isLValue": false, "isPure": true, @@ -7327,18 +7327,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2066, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2064, + "id": 2065, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2053, + "referencedDeclaration": 2054, "src": "2702:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7350,7 +7350,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2065, + "id": 2066, "isConstant": false, "isLValue": false, "isPure": true, @@ -7372,18 +7372,18 @@ } }, "falseBody": null, - "id": 2071, + "id": 2072, "nodeType": "IfStatement", "src": "2698:45:9", "trueBody": { - "id": 2070, + "id": 2071, "nodeType": "Block", "src": "2709:34:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2068, + "id": 2069, "isConstant": false, "isLValue": false, "isPure": true, @@ -7395,7 +7395,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2067, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": true, @@ -7415,19 +7415,19 @@ "typeString": "int_const -1" } }, - "functionReturnParameters": 2057, - "id": 2069, + "functionReturnParameters": 2058, + "id": 2070, "nodeType": "Return", "src": "2723:9:9" } ] } }, - "id": 2072, + "id": 2073, "nodeType": "IfStatement", "src": "2648:95:9", "trueBody": { - "id": 2063, + "id": 2064, "nodeType": "Block", "src": "2659:33:9", "statements": [ @@ -7435,7 +7435,7 @@ "expression": { "argumentTypes": null, "hexValue": "31", - "id": 2061, + "id": 2062, "isConstant": false, "isLValue": false, "isPure": true, @@ -7450,8 +7450,8 @@ }, "value": "1" }, - "functionReturnParameters": 2057, - "id": 2062, + "functionReturnParameters": 2058, + "id": 2063, "nodeType": "Return", "src": "2673:8:9" } @@ -7462,7 +7462,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 2073, + "id": 2074, "isConstant": false, "isLValue": false, "isPure": true, @@ -7477,15 +7477,15 @@ }, "value": "0" }, - "functionReturnParameters": 2057, - "id": 2074, + "functionReturnParameters": 2058, + "id": 2075, "nodeType": "Return", "src": "2752:8:9" } ] }, "documentation": "@param a integer to determine sign of\n @return int8 sign of original value, either +1,0,-1", - "id": 2076, + "id": 2077, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7493,15 +7493,15 @@ "name": "sign", "nodeType": "FunctionDefinition", "parameters": { - "id": 2054, + "id": 2055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2053, + "id": 2054, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2076, + "scope": 2077, "src": "2602:5:9", "stateVariable": false, "storageLocation": "default", @@ -7510,7 +7510,7 @@ "typeString": "int256" }, "typeName": { - "id": 2052, + "id": 2053, "name": "int", "nodeType": "ElementaryTypeName", "src": "2602:3:9", @@ -7527,15 +7527,15 @@ }, "payable": false, "returnParameters": { - "id": 2057, + "id": 2058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2056, + "id": 2057, "name": "", "nodeType": "VariableDeclaration", - "scope": 2076, + "scope": 2077, "src": "2632:4:9", "stateVariable": false, "storageLocation": "default", @@ -7544,7 +7544,7 @@ "typeString": "int8" }, "typeName": { - "id": 2055, + "id": 2056, "name": "int8", "nodeType": "ElementaryTypeName", "src": "2632:4:9", @@ -7559,7 +7559,7 @@ ], "src": "2631:6:9" }, - "scope": 2232, + "scope": 2233, "src": "2588:179:9", "stateMutability": "pure", "superFunction": null, @@ -7567,7 +7567,7 @@ }, { "body": { - "id": 2096, + "id": 2097, "nodeType": "Block", "src": "2979:46:9", "statements": [ @@ -7581,7 +7581,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2093, + "id": 2094, "isConstant": false, "isLValue": false, "isPure": false, @@ -7592,18 +7592,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2087, + "id": 2088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2085, + "id": 2086, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2079, "src": "2998:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7614,11 +7614,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 2086, + "id": 2087, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2080, + "referencedDeclaration": 2081, "src": "3003:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7639,7 +7639,7 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2092, + "id": 2093, "isConstant": false, "isLValue": false, "isPure": false, @@ -7650,18 +7650,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2090, + "id": 2091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2088, + "id": 2089, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2079, "src": "3008:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7672,11 +7672,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 2089, + "id": 2090, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2080, + "referencedDeclaration": 2081, "src": "3012:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7694,7 +7694,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2091, + "id": 2092, "isConstant": false, "isLValue": false, "isPure": true, @@ -7722,7 +7722,7 @@ } } ], - "id": 2094, + "id": 2095, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7735,15 +7735,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 2084, - "id": 2095, + "functionReturnParameters": 2085, + "id": 2096, "nodeType": "Return", "src": "2989:29:9" } ] }, "documentation": "@param a integer to compare to b\n @param b integer to compare to a\n @return bool true if a and b are the same sign (+/-)", - "id": 2097, + "id": 2098, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7751,15 +7751,15 @@ "name": "isSameSign", "nodeType": "FunctionDefinition", "parameters": { - "id": 2081, + "id": 2082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2078, + "id": 2079, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2097, + "scope": 2098, "src": "2936:5:9", "stateVariable": false, "storageLocation": "default", @@ -7768,7 +7768,7 @@ "typeString": "int256" }, "typeName": { - "id": 2077, + "id": 2078, "name": "int", "nodeType": "ElementaryTypeName", "src": "2936:3:9", @@ -7782,10 +7782,10 @@ }, { "constant": false, - "id": 2080, + "id": 2081, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2097, + "scope": 2098, "src": "2943:5:9", "stateVariable": false, "storageLocation": "default", @@ -7794,7 +7794,7 @@ "typeString": "int256" }, "typeName": { - "id": 2079, + "id": 2080, "name": "int", "nodeType": "ElementaryTypeName", "src": "2943:3:9", @@ -7811,15 +7811,15 @@ }, "payable": false, "returnParameters": { - "id": 2084, + "id": 2085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2083, + "id": 2084, "name": "", "nodeType": "VariableDeclaration", - "scope": 2097, + "scope": 2098, "src": "2973:4:9", "stateVariable": false, "storageLocation": "default", @@ -7828,7 +7828,7 @@ "typeString": "bool" }, "typeName": { - "id": 2082, + "id": 2083, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2973:4:9", @@ -7843,7 +7843,7 @@ ], "src": "2972:6:9" }, - "scope": 2232, + "scope": 2233, "src": "2916:109:9", "stateMutability": "pure", "superFunction": null, @@ -7851,7 +7851,7 @@ }, { "body": { - "id": 2119, + "id": 2120, "nodeType": "Block", "src": "3194:112:9", "statements": [ @@ -7862,18 +7862,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2106, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2104, + "id": 2105, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2100, "src": "3208:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7885,7 +7885,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2105, + "id": 2106, "isConstant": false, "isLValue": false, "isPure": true, @@ -7907,7 +7907,7 @@ } }, "falseBody": { - "id": 2117, + "id": 2118, "nodeType": "Block", "src": "3261:39:9", "statements": [ @@ -7917,11 +7917,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2114, + "id": 2115, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2100, "src": "3287:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7936,7 +7936,7 @@ "typeString": "int256" } ], - "id": 2113, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": true, @@ -7949,7 +7949,7 @@ }, "typeName": "uint" }, - "id": 2115, + "id": 2116, "isConstant": false, "isLValue": false, "isPure": false, @@ -7963,18 +7963,18 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2103, - "id": 2116, + "functionReturnParameters": 2104, + "id": 2117, "nodeType": "Return", "src": "3275:14:9" } ] }, - "id": 2118, + "id": 2119, "nodeType": "IfStatement", "src": "3204:96:9", "trueBody": { - "id": 2112, + "id": 2113, "nodeType": "Block", "src": "3215:40:9", "statements": [ @@ -7984,7 +7984,7 @@ "arguments": [ { "argumentTypes": null, - "id": 2109, + "id": 2110, "isConstant": false, "isLValue": false, "isPure": false, @@ -7995,11 +7995,11 @@ "src": "3241:2:9", "subExpression": { "argumentTypes": null, - "id": 2108, + "id": 2109, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2100, "src": "3242:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8019,7 +8019,7 @@ "typeString": "int256" } ], - "id": 2107, + "id": 2108, "isConstant": false, "isLValue": false, "isPure": true, @@ -8032,7 +8032,7 @@ }, "typeName": "uint" }, - "id": 2110, + "id": 2111, "isConstant": false, "isLValue": false, "isPure": false, @@ -8046,8 +8046,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2103, - "id": 2111, + "functionReturnParameters": 2104, + "id": 2112, "nodeType": "Return", "src": "3229:15:9" } @@ -8057,7 +8057,7 @@ ] }, "documentation": "@param a integer to determine absolute value of\n @return uint non signed representation of a", - "id": 2120, + "id": 2121, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8065,15 +8065,15 @@ "name": "abs", "nodeType": "FunctionDefinition", "parameters": { - "id": 2100, + "id": 2101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2099, + "id": 2100, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2120, + "scope": 2121, "src": "3152:8:9", "stateVariable": false, "storageLocation": "default", @@ -8082,7 +8082,7 @@ "typeString": "int256" }, "typeName": { - "id": 2098, + "id": 2099, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3152:6:9", @@ -8099,15 +8099,15 @@ }, "payable": false, "returnParameters": { - "id": 2103, + "id": 2104, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2102, + "id": 2103, "name": "", "nodeType": "VariableDeclaration", - "scope": 2120, + "scope": 2121, "src": "3185:7:9", "stateVariable": false, "storageLocation": "default", @@ -8116,7 +8116,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2101, + "id": 2102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3185:7:9", @@ -8131,7 +8131,7 @@ ], "src": "3184:9:9" }, - "scope": 2232, + "scope": 2233, "src": "3139:167:9", "stateMutability": "pure", "superFunction": null, @@ -8139,7 +8139,7 @@ }, { "body": { - "id": 2140, + "id": 2141, "nodeType": "Block", "src": "3604:48:9", "statements": [ @@ -8152,7 +8152,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2135, + "id": 2136, "isConstant": false, "isLValue": false, "isPure": false, @@ -8162,11 +8162,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2130, + "id": 2131, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2122, + "referencedDeclaration": 2123, "src": "3625:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8181,18 +8181,18 @@ "typeString": "int256" } ], - "id": 2129, + "id": 2130, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3621:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2131, + "id": 2132, "isConstant": false, "isLValue": false, "isPure": false, @@ -8213,11 +8213,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2133, + "id": 2134, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2124, + "referencedDeclaration": 2125, "src": "3634:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8232,18 +8232,18 @@ "typeString": "int256" } ], - "id": 2132, + "id": 2133, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3630:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2134, + "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, @@ -8265,18 +8265,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 2137, + "id": 2138, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2124, + "referencedDeclaration": 2125, "src": "3644:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "id": 2138, + "id": 2139, "isConstant": false, "isLValue": false, "isPure": false, @@ -8285,11 +8285,11 @@ "src": "3621:24:9", "trueExpression": { "argumentTypes": null, - "id": 2136, + "id": 2137, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2122, + "referencedDeclaration": 2123, "src": "3640:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8301,15 +8301,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2128, - "id": 2139, + "functionReturnParameters": 2129, + "id": 2140, "nodeType": "Return", "src": "3614:31:9" } ] }, "documentation": "@notice finds the value closer to zero regardless of sign\n @param a integer to compare to b\n @param b integer to compare to a\n @return a if a is closer to zero than b - does not return abs value!", - "id": 2141, + "id": 2142, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8317,15 +8317,15 @@ "name": "absMin", "nodeType": "FunctionDefinition", "parameters": { - "id": 2125, + "id": 2126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2122, + "id": 2123, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2141, + "scope": 2142, "src": "3553:8:9", "stateVariable": false, "storageLocation": "default", @@ -8334,7 +8334,7 @@ "typeString": "int256" }, "typeName": { - "id": 2121, + "id": 2122, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3553:6:9", @@ -8348,10 +8348,10 @@ }, { "constant": false, - "id": 2124, + "id": 2125, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2141, + "scope": 2142, "src": "3563:8:9", "stateVariable": false, "storageLocation": "default", @@ -8360,7 +8360,7 @@ "typeString": "int256" }, "typeName": { - "id": 2123, + "id": 2124, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3563:6:9", @@ -8377,15 +8377,15 @@ }, "payable": false, "returnParameters": { - "id": 2128, + "id": 2129, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2127, + "id": 2128, "name": "", "nodeType": "VariableDeclaration", - "scope": 2141, + "scope": 2142, "src": "3596:6:9", "stateVariable": false, "storageLocation": "default", @@ -8394,7 +8394,7 @@ "typeString": "int256" }, "typeName": { - "id": 2126, + "id": 2127, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3596:6:9", @@ -8409,7 +8409,7 @@ ], "src": "3595:8:9" }, - "scope": 2232, + "scope": 2233, "src": "3537:115:9", "stateMutability": "pure", "superFunction": null, @@ -8417,7 +8417,7 @@ }, { "body": { - "id": 2161, + "id": 2162, "nodeType": "Block", "src": "3954:49:9", "statements": [ @@ -8430,7 +8430,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2156, + "id": 2157, "isConstant": false, "isLValue": false, "isPure": false, @@ -8440,11 +8440,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2151, + "id": 2152, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2143, + "referencedDeclaration": 2144, "src": "3975:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8459,18 +8459,18 @@ "typeString": "int256" } ], - "id": 2150, + "id": 2151, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3971:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2152, + "id": 2153, "isConstant": false, "isLValue": false, "isPure": false, @@ -8491,11 +8491,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2154, + "id": 2155, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2145, + "referencedDeclaration": 2146, "src": "3985:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8510,18 +8510,18 @@ "typeString": "int256" } ], - "id": 2153, + "id": 2154, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "3981:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2155, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": false, @@ -8543,18 +8543,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 2158, + "id": 2159, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2145, + "referencedDeclaration": 2146, "src": "3995:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "id": 2159, + "id": 2160, "isConstant": false, "isLValue": false, "isPure": false, @@ -8563,11 +8563,11 @@ "src": "3971:25:9", "trueExpression": { "argumentTypes": null, - "id": 2157, + "id": 2158, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2143, + "referencedDeclaration": 2144, "src": "3991:1:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8579,15 +8579,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2149, - "id": 2160, + "functionReturnParameters": 2150, + "id": 2161, "nodeType": "Return", "src": "3964:32:9" } ] }, "documentation": "@notice finds the value further from zero regardless of sign\n @param a integer to compare to b\n @param b integer to compare to a\n @return a if a is further to zero than b - does not return abs value!", - "id": 2162, + "id": 2163, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8595,15 +8595,15 @@ "name": "absMax", "nodeType": "FunctionDefinition", "parameters": { - "id": 2146, + "id": 2147, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2143, + "id": 2144, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2162, + "scope": 2163, "src": "3903:8:9", "stateVariable": false, "storageLocation": "default", @@ -8612,7 +8612,7 @@ "typeString": "int256" }, "typeName": { - "id": 2142, + "id": 2143, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3903:6:9", @@ -8626,10 +8626,10 @@ }, { "constant": false, - "id": 2145, + "id": 2146, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2162, + "scope": 2163, "src": "3913:8:9", "stateVariable": false, "storageLocation": "default", @@ -8638,7 +8638,7 @@ "typeString": "int256" }, "typeName": { - "id": 2144, + "id": 2145, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3913:6:9", @@ -8655,15 +8655,15 @@ }, "payable": false, "returnParameters": { - "id": 2149, + "id": 2150, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2148, + "id": 2149, "name": "", "nodeType": "VariableDeclaration", - "scope": 2162, + "scope": 2163, "src": "3946:6:9", "stateVariable": false, "storageLocation": "default", @@ -8672,7 +8672,7 @@ "typeString": "int256" }, "typeName": { - "id": 2147, + "id": 2148, "name": "int256", "nodeType": "ElementaryTypeName", "src": "3946:6:9", @@ -8687,7 +8687,7 @@ ], "src": "3945:8:9" }, - "scope": 2232, + "scope": 2233, "src": "3887:116:9", "stateMutability": "pure", "superFunction": null, @@ -8695,7 +8695,7 @@ }, { "body": { - "id": 2230, + "id": 2231, "nodeType": "Block", "src": "4655:592:9", "statements": [ @@ -8704,10 +8704,10 @@ "declarations": [ { "constant": false, - "id": 2178, + "id": 2179, "name": "maxLoss", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4665:12:9", "stateVariable": false, "storageLocation": "default", @@ -8716,7 +8716,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2177, + "id": 2178, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4665:4:9", @@ -8729,7 +8729,7 @@ "visibility": "internal" } ], - "id": 2179, + "id": 2180, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "4665:12:9" @@ -8741,18 +8741,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 2182, + "id": 2183, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2180, + "id": 2181, "name": "qty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2170, + "referencedDeclaration": 2171, "src": "4691:3:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -8764,7 +8764,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2181, + "id": 2182, "isConstant": false, "isLValue": false, "isPure": true, @@ -8786,7 +8786,7 @@ } }, "falseBody": { - "id": 2218, + "id": 2219, "nodeType": "Block", "src": "4943:235:9", "statements": [ @@ -8797,18 +8797,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2203, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2201, + "id": 2202, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "5031:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8819,11 +8819,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2202, + "id": 2203, "name": "priceCap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2166, + "referencedDeclaration": 2167, "src": "5040:8:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8837,25 +8837,25 @@ } }, "falseBody": { - "id": 2216, + "id": 2217, "nodeType": "Block", "src": "5100:68:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2214, + "id": 2215, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2209, + "id": 2210, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "5118:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8869,11 +8869,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2211, + "id": 2212, "name": "priceCap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2166, + "referencedDeclaration": 2167, "src": "5137:8:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8882,11 +8882,11 @@ }, { "argumentTypes": null, - "id": 2212, + "id": 2213, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "5147:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8905,21 +8905,21 @@ "typeString": "uint256" } ], - "id": 2210, + "id": 2211, "name": "subtract", "nodeType": "Identifier", "overloadedDeclarations": [ - 1962, - 2051 + 1963, + 2052 ], - "referencedDeclaration": 1962, + "referencedDeclaration": 1963, "src": "5128:8:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2213, + "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, @@ -8939,35 +8939,35 @@ "typeString": "uint256" } }, - "id": 2215, + "id": 2216, "nodeType": "ExpressionStatement", "src": "5118:35:9" } ] }, - "id": 2217, + "id": 2218, "nodeType": "IfStatement", "src": "5027:141:9", "trueBody": { - "id": 2208, + "id": 2209, "nodeType": "Block", "src": "5050:44:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2206, + "id": 2207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2204, + "id": 2205, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "5068:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8979,7 +8979,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 2205, + "id": 2206, "isConstant": false, "isLValue": false, "isPure": true, @@ -9000,7 +9000,7 @@ "typeString": "uint256" } }, - "id": 2207, + "id": 2208, "nodeType": "ExpressionStatement", "src": "5068:11:9" } @@ -9009,11 +9009,11 @@ } ] }, - "id": 2219, + "id": 2220, "nodeType": "IfStatement", "src": "4687:491:9", "trueBody": { - "id": 2200, + "id": 2201, "nodeType": "Block", "src": "4700:237:9", "statements": [ @@ -9024,18 +9024,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2185, + "id": 2186, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2183, + "id": 2184, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "4786:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9046,11 +9046,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 2184, + "id": 2185, "name": "priceFloor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2164, + "referencedDeclaration": 2165, "src": "4795:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9064,25 +9064,25 @@ } }, "falseBody": { - "id": 2198, + "id": 2199, "nodeType": "Block", "src": "4857:70:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2196, + "id": 2197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2191, + "id": 2192, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "4875:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9096,11 +9096,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2193, + "id": 2194, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2172, + "referencedDeclaration": 2173, "src": "4894:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9109,11 +9109,11 @@ }, { "argumentTypes": null, - "id": 2194, + "id": 2195, "name": "priceFloor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2164, + "referencedDeclaration": 2165, "src": "4901:10:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9132,21 +9132,21 @@ "typeString": "uint256" } ], - "id": 2192, + "id": 2193, "name": "subtract", "nodeType": "Identifier", "overloadedDeclarations": [ - 1962, - 2051 + 1963, + 2052 ], - "referencedDeclaration": 1962, + "referencedDeclaration": 1963, "src": "4885:8:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2195, + "id": 2196, "isConstant": false, "isLValue": false, "isPure": false, @@ -9166,35 +9166,35 @@ "typeString": "uint256" } }, - "id": 2197, + "id": 2198, "nodeType": "ExpressionStatement", "src": "4875:37:9" } ] }, - "id": 2199, + "id": 2200, "nodeType": "IfStatement", "src": "4782:145:9", "trueBody": { - "id": 2190, + "id": 2191, "nodeType": "Block", "src": "4807:44:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2188, + "id": 2189, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2186, + "id": 2187, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "4825:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9206,7 +9206,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 2187, + "id": 2188, "isConstant": false, "isLValue": false, "isPure": true, @@ -9227,7 +9227,7 @@ "typeString": "uint256" } }, - "id": 2189, + "id": 2190, "nodeType": "ExpressionStatement", "src": "4825:11:9" } @@ -9240,18 +9240,18 @@ { "expression": { "argumentTypes": null, - "id": 2228, + "id": 2229, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2220, + "id": 2221, "name": "neededCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2175, + "referencedDeclaration": 2176, "src": "5187:16:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9266,7 +9266,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2227, + "id": 2228, "isConstant": false, "isLValue": false, "isPure": false, @@ -9277,18 +9277,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2225, + "id": 2226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2221, + "id": 2222, "name": "maxLoss", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2178, + "referencedDeclaration": 2179, "src": "5206:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9302,11 +9302,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2223, + "id": 2224, "name": "qty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2170, + "referencedDeclaration": 2171, "src": "5220:3:9", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -9321,18 +9321,18 @@ "typeString": "int256" } ], - "id": 2222, + "id": 2223, "name": "abs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, + "referencedDeclaration": 2121, "src": "5216:3:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", "typeString": "function (int256) pure returns (uint256)" } }, - "id": 2224, + "id": 2225, "isConstant": false, "isLValue": false, "isPure": false, @@ -9356,11 +9356,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 2226, + "id": 2227, "name": "qtyMultiplier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2168, + "referencedDeclaration": 2169, "src": "5227:13:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9379,14 +9379,14 @@ "typeString": "uint256" } }, - "id": 2229, + "id": 2230, "nodeType": "ExpressionStatement", "src": "5187:53:9" } ] }, "documentation": "@notice determines the amount of needed collateral for a given position (qty and price)\n @param priceFloor lowest price the contract is allowed to trade before expiration\n @param priceCap highest price the contract is allowed to trade before expiration\n @param qtyMultiplier multiplier for qty from base units\n @param qty signed integer corresponding to the traded quantity\n @param price of the trade", - "id": 2231, + "id": 2232, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -9394,15 +9394,15 @@ "name": "calculateNeededCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 2173, + "id": 2174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2164, + "id": 2165, "name": "priceFloor", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4497:15:9", "stateVariable": false, "storageLocation": "default", @@ -9411,7 +9411,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2163, + "id": 2164, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4497:4:9", @@ -9425,10 +9425,10 @@ }, { "constant": false, - "id": 2166, + "id": 2167, "name": "priceCap", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4522:13:9", "stateVariable": false, "storageLocation": "default", @@ -9437,7 +9437,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2165, + "id": 2166, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4522:4:9", @@ -9451,10 +9451,10 @@ }, { "constant": false, - "id": 2168, + "id": 2169, "name": "qtyMultiplier", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4545:18:9", "stateVariable": false, "storageLocation": "default", @@ -9463,7 +9463,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2167, + "id": 2168, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4545:4:9", @@ -9477,10 +9477,10 @@ }, { "constant": false, - "id": 2170, + "id": 2171, "name": "qty", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4573:7:9", "stateVariable": false, "storageLocation": "default", @@ -9489,7 +9489,7 @@ "typeString": "int256" }, "typeName": { - "id": 2169, + "id": 2170, "name": "int", "nodeType": "ElementaryTypeName", "src": "4573:3:9", @@ -9503,10 +9503,10 @@ }, { "constant": false, - "id": 2172, + "id": 2173, "name": "price", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4590:10:9", "stateVariable": false, "storageLocation": "default", @@ -9515,7 +9515,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2171, + "id": 2172, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4590:4:9", @@ -9532,15 +9532,15 @@ }, "payable": false, "returnParameters": { - "id": 2176, + "id": 2177, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2175, + "id": 2176, "name": "neededCollateral", "nodeType": "VariableDeclaration", - "scope": 2231, + "scope": 2232, "src": "4628:21:9", "stateVariable": false, "storageLocation": "default", @@ -9549,7 +9549,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2174, + "id": 2175, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4628:4:9", @@ -9564,14 +9564,14 @@ ], "src": "4627:23:9" }, - "scope": 2232, + "scope": 2233, "src": "4453:794:9", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 2233, + "scope": 2234, "src": "718:4531:9" } ], @@ -9585,10 +9585,10 @@ "4": { "events": {}, "links": {}, - "address": "0x254962dd15db2c9b57e612f1aaefb2ae5e33f107", - "transactionHash": "0x77067e49a26c459b80b1cfddd051086a7d398241366aade59ff282a6027df69c" + "address": "0x584d7639dc6cb3a9ada67e8d7c7bbb8efa87909a", + "transactionHash": "0xff007982e17c807e3d479fe196ab2495c6f93cb06604a1ded686c81742db4aa3" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.217Z" + "updatedAt": "2018-10-05T14:03:26.607Z" } \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 8d23903..467ca77 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -64,14 +64,14 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102f8806100606000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820cd3fa760d93a06308643d9054e3597f0011e0e43c3ef7ae43e427b5ceb3e97310029", - "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820cd3fa760d93a06308643d9054e3597f0011e0e43c3ef7ae43e427b5ceb3e97310029", + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102f8806100606000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820b627ed729674d7149fe8b0202da46d8d7f90468d90e9f27bb874eb20e9d74dd70029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820b627ed729674d7149fe8b0202da46d8d7f90468d90e9f27bb874eb20e9d74dd70029", "sourceMap": "26:480:0:-;;;115:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;115:50:0;150:10;142:5;;:18;;;;;;;;;;;;;;;;;;26:480;;;;;;", "deployedSourceMap": "26:480:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;339:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;74:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;74:36:0;;;;;;;;;;;;;;;;;;;;;;;50:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;232:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;232:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;339:165;401:19;215:5;;;;;;;;;;;201:19;;:10;:19;;;197:26;;;434:11;401:45;;452:8;:21;;;474:24;;452:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;452:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;452:47:0;;;;197:26;339:165;;:::o;74:36::-;;;;:::o;50:20::-;;;;;;;;;;;;;:::o;232:103::-;215:5;;;;;;;;;;;201:19;;:10;:19;;;197:26;;;321:9;294:24;:36;;;;197:26;232:103;:::o", "source": "pragma solidity ^0.4.23;\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", - "sourcePath": "/home/parallels/abis/contracts/Migrations.sol", + "sourcePath": "/home/pelsasser/abis/contracts/Migrations.sol", "ast": { - "absolutePath": "/home/parallels/abis/contracts/Migrations.sol", + "absolutePath": "/home/pelsasser/abis/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 56 @@ -721,7 +721,7 @@ "src": "0:507:0" }, "legacyAST": { - "absolutePath": "/home/parallels/abis/contracts/Migrations.sol", + "absolutePath": "/home/pelsasser/abis/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 56 @@ -1378,10 +1378,10 @@ "4": { "events": {}, "links": {}, - "address": "0x5b04afb217cd8b49d63c93c5718ec0ba949f36b1", - "transactionHash": "0x016a5a953642e86f3410f905ea3a09880b1dd8afcbc94710d00e03f48e175a59" + "address": "0x1e1485f7327183fccfc3138afd965c23c78f9050", + "transactionHash": "0xd3f5fa596159a60bbc043c7a3e02c22bfbd28067def6c92818585e9e905e099d" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.241Z" + "updatedAt": "2018-10-05T14:03:26.626Z" } \ No newline at end of file diff --git a/build/contracts/OraclizeQueryTest.json b/build/contracts/OraclizeQueryTest.json index 7213493..2645408 100644 --- a/build/contracts/OraclizeQueryTest.json +++ b/build/contracts/OraclizeQueryTest.json @@ -169,14 +169,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/OraclizeQueryTest.sol", "exportedSymbols": { "OraclizeQueryTest": [ - 3108 + 3109 ] }, - "id": 3109, + "id": 3110, "nodeType": "SourceUnit", "nodes": [ { - "id": 2951, + "id": 2952, "literals": [ "solidity", "^", @@ -189,10 +189,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/oraclizeAPI.sol", "file": "./oraclizeAPI.sol", - "id": 2952, + "id": 2953, "nodeType": "ImportDirective", - "scope": 3109, - "sourceUnit": 3910, + "scope": 3110, + "sourceUnit": 3911, "src": "634:27:14", "symbolAliases": [], "unitAlias": "" @@ -200,10 +200,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "file": "../libraries/MathLib.sol", - "id": 2953, + "id": 2954, "nodeType": "ImportDirective", - "scope": 3109, - "sourceUnit": 2233, + "scope": 3110, + "sourceUnit": 2234, "src": "662:34:14", "symbolAliases": [], "unitAlias": "" @@ -214,53 +214,53 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2954, + "id": 2955, "name": "usingOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3909, + "referencedDeclaration": 3910, "src": "884:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_usingOraclize_$3909", + "typeIdentifier": "t_contract$_usingOraclize_$3910", "typeString": "contract usingOraclize" } }, - "id": 2955, + "id": 2956, "nodeType": "InheritanceSpecifier", "src": "884:13:14" } ], "contractDependencies": [ - 3909 + 3910 ], "contractKind": "contract", "documentation": "@title QueryTest small contract to allow users to test query structure prior to contract deployment\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 3108, + "id": 3109, "linearizedBaseContracts": [ - 3108, - 3909 + 3109, + 3910 ], "name": "OraclizeQueryTest", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2958, + "id": 2959, "libraryName": { "contractScope": null, - "id": 2956, + "id": 2957, "name": "MathLib", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2232, + "referencedDeclaration": 2233, "src": "910:7:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_MathLib_$2232", + "typeIdentifier": "t_contract$_MathLib_$2233", "typeString": "library MathLib" } }, "nodeType": "UsingForDirective", "src": "904:23:14", "typeName": { - "id": 2957, + "id": 2958, "name": "uint", "nodeType": "ElementaryTypeName", "src": "922:4:14", @@ -272,10 +272,10 @@ }, { "constant": true, - "id": 2961, + "id": 2962, "name": "QUERY_CALLBACK_GAS", "nodeType": "VariableDeclaration", - "scope": 3108, + "scope": 3109, "src": "950:48:14", "stateVariable": true, "storageLocation": "default", @@ -284,7 +284,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2959, + "id": 2960, "name": "uint", "nodeType": "ElementaryTypeName", "src": "950:4:14", @@ -296,7 +296,7 @@ "value": { "argumentTypes": null, "hexValue": "313530303030", - "id": 2960, + "id": 2961, "isConstant": false, "isLValue": false, "isPure": true, @@ -315,10 +315,10 @@ }, { "constant": false, - "id": 2965, + "id": 2966, "name": "validScheduledQueryIDs", "nodeType": "VariableDeclaration", - "scope": 3108, + "scope": 3109, "src": "1028:47:14", "stateVariable": true, "storageLocation": "default", @@ -327,9 +327,9 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 2964, + "id": 2965, "keyType": { - "id": 2962, + "id": 2963, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1036:7:14", @@ -345,7 +345,7 @@ "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 2963, + "id": 2964, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1047:4:14", @@ -360,10 +360,10 @@ }, { "constant": false, - "id": 2969, + "id": 2970, "name": "queryResults", "nodeType": "VariableDeclaration", - "scope": 3108, + "scope": 3109, "src": "1081:39:14", "stateVariable": true, "storageLocation": "default", @@ -372,9 +372,9 @@ "typeString": "mapping(bytes32 => string)" }, "typeName": { - "id": 2968, + "id": 2969, "keyType": { - "id": 2966, + "id": 2967, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1089:7:14", @@ -390,7 +390,7 @@ "typeString": "mapping(bytes32 => string)" }, "valueType": { - "id": 2967, + "id": 2968, "name": "string", "nodeType": "ElementaryTypeName", "src": "1100:6:14", @@ -406,20 +406,20 @@ { "anonymous": false, "documentation": null, - "id": 2973, + "id": 2974, "name": "QueryCompleted", "nodeType": "EventDefinition", "parameters": { - "id": 2972, + "id": 2973, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2971, + "id": 2972, "indexed": true, "name": "queryIDCompleted", "nodeType": "VariableDeclaration", - "scope": 2973, + "scope": 2974, "src": "1162:32:14", "stateVariable": false, "storageLocation": "default", @@ -428,7 +428,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2970, + "id": 2971, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1162:7:14", @@ -448,20 +448,20 @@ { "anonymous": false, "documentation": null, - "id": 2977, + "id": 2978, "name": "QueryScheduled", "nodeType": "EventDefinition", "parameters": { - "id": 2976, + "id": 2977, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2975, + "id": 2976, "indexed": true, "name": "queryIDScheduled", "nodeType": "VariableDeclaration", - "scope": 2977, + "scope": 2978, "src": "1222:32:14", "stateVariable": false, "storageLocation": "default", @@ -470,7 +470,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2974, + "id": 2975, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1222:7:14", @@ -490,20 +490,20 @@ { "anonymous": false, "documentation": null, - "id": 2981, + "id": 2982, "name": "QueryPrice", "nodeType": "EventDefinition", "parameters": { - "id": 2980, + "id": 2981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2979, + "id": 2980, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2981, + "scope": 2982, "src": "1278:10:14", "stateVariable": false, "storageLocation": "default", @@ -512,7 +512,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2978, + "id": 2979, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1278:4:14", @@ -531,7 +531,7 @@ }, { "body": { - "id": 2990, + "id": 2991, "nodeType": "Block", "src": "1317:111:14", "statements": [ @@ -545,18 +545,18 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 2987, + "id": 2988, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2985, + "id": 2986, "name": "proofType_TLSNotary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3329, + "referencedDeclaration": 3330, "src": "1345:19:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -567,11 +567,11 @@ "operator": "|", "rightExpression": { "argumentTypes": null, - "id": 2986, + "id": 2987, "name": "proofStorage_IPFS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3332, + "referencedDeclaration": 3333, "src": "1367:17:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -592,18 +592,18 @@ "typeString": "bytes1" } ], - "id": 2984, + "id": 2985, "name": "oraclize_setProof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3767, + "referencedDeclaration": 3768, "src": "1327:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes1_$returns$__$", "typeString": "function (bytes1)" } }, - "id": 2988, + "id": 2989, "isConstant": false, "isLValue": false, "isPure": false, @@ -617,14 +617,14 @@ "typeString": "tuple()" } }, - "id": 2989, + "id": 2990, "nodeType": "ExpressionStatement", "src": "1327:58:14" } ] }, "documentation": null, - "id": 2991, + "id": 2992, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -632,19 +632,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2982, + "id": 2983, "nodeType": "ParameterList", "parameters": [], "src": "1307:2:14" }, "payable": false, "returnParameters": { - "id": 2983, + "id": 2984, "nodeType": "ParameterList", "parameters": [], "src": "1317:0:14" }, - "scope": 3108, + "scope": 3109, "src": "1296:132:14", "stateMutability": "nonpayable", "superFunction": null, @@ -652,21 +652,21 @@ }, { "body": { - "id": 3040, + "id": 3041, "nodeType": "Block", "src": "2073:452:14", "statements": [ { "assignments": [ - 3001 + 3002 ], "declarations": [ { "constant": false, - "id": 3001, + "id": 3002, "name": "cost", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2083:9:14", "stateVariable": false, "storageLocation": "default", @@ -675,7 +675,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3000, + "id": 3001, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2083:4:14", @@ -688,17 +688,17 @@ "visibility": "internal" } ], - "id": 3006, + "id": 3007, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3003, + "id": 3004, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2993, + "referencedDeclaration": 2994, "src": "2113:16:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -707,11 +707,11 @@ }, { "argumentTypes": null, - "id": 3004, + "id": 3005, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, + "referencedDeclaration": 2962, "src": "2131:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -730,21 +730,21 @@ "typeString": "uint256" } ], - "id": 3002, + "id": 3003, "name": "oraclize_getPrice", "nodeType": "Identifier", "overloadedDeclarations": [ - 3596, - 3614 + 3597, + 3615 ], - "referencedDeclaration": 3614, + "referencedDeclaration": 3615, "src": "2095:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) returns (uint256)" } }, - "id": 3005, + "id": 3006, "isConstant": false, "isLValue": false, "isPure": false, @@ -771,7 +771,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3011, + "id": 3012, "isConstant": false, "isLValue": false, "isPure": false, @@ -780,18 +780,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3008, + "id": 3009, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "2168:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3009, + "id": 3010, "isConstant": false, "isLValue": false, "isPure": false, @@ -809,11 +809,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 3010, + "id": 3011, "name": "cost", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3001, + "referencedDeclaration": 3002, "src": "2181:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -834,21 +834,21 @@ "typeString": "bool" } ], - "id": 3007, + "id": 3008, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2160:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3012, + "id": 3013, "isConstant": false, "isLValue": false, "isPure": false, @@ -862,21 +862,21 @@ "typeString": "tuple()" } }, - "id": 3013, + "id": 3014, "nodeType": "ExpressionStatement", "src": "2160:26:14" }, { "assignments": [ - 3015 + 3016 ], "declarations": [ { "constant": false, - "id": 3015, + "id": 3016, "name": "queryId", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2248:15:14", "stateVariable": false, "storageLocation": "default", @@ -885,7 +885,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3014, + "id": 3015, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2248:7:14", @@ -898,17 +898,17 @@ "visibility": "internal" } ], - "id": 3021, + "id": 3022, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3017, + "id": 3018, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2993, + "referencedDeclaration": 2994, "src": "2294:16:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -917,11 +917,11 @@ }, { "argumentTypes": null, - "id": 3018, + "id": 3019, "name": "oracleQuery", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2995, + "referencedDeclaration": 2996, "src": "2324:11:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -930,11 +930,11 @@ }, { "argumentTypes": null, - "id": 3019, + "id": 3020, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, + "referencedDeclaration": 2962, "src": "2349:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -957,23 +957,23 @@ "typeString": "uint256" } ], - "id": 3016, + "id": 3017, "name": "oraclize_query", "nodeType": "Identifier", "overloadedDeclarations": [ - 3643, - 3674, - 3709, - 3742 + 3644, + 3675, + 3710, + 3743 ], - "referencedDeclaration": 3742, + "referencedDeclaration": 3743, "src": "2266:14:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (string memory,string memory,uint256) returns (bytes32)" } }, - "id": 3020, + "id": 3021, "isConstant": false, "isLValue": false, "isPure": false, @@ -1000,18 +1000,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 3025, + "id": 3026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3023, + "id": 3024, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2395:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1023,7 +1023,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3024, + "id": 3025, "isConstant": false, "isLValue": false, "isPure": true, @@ -1052,21 +1052,21 @@ "typeString": "bool" } ], - "id": 3022, + "id": 3023, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2387:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3026, + "id": 3027, "isConstant": false, "isLValue": false, "isPure": false, @@ -1080,14 +1080,14 @@ "typeString": "tuple()" } }, - "id": 3027, + "id": 3028, "nodeType": "ExpressionStatement", "src": "2387:21:14" }, { "expression": { "argumentTypes": null, - "id": 3032, + "id": 3033, "isConstant": false, "isLValue": false, "isPure": false, @@ -1096,25 +1096,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3028, + "id": 3029, "name": "validScheduledQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2965, + "referencedDeclaration": 2966, "src": "2418:22:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 3030, + "id": 3031, "indexExpression": { "argumentTypes": null, - "id": 3029, + "id": 3030, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2441:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1137,7 +1137,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3031, + "id": 3032, "isConstant": false, "isLValue": false, "isPure": true, @@ -1158,7 +1158,7 @@ "typeString": "bool" } }, - "id": 3033, + "id": 3034, "nodeType": "ExpressionStatement", "src": "2418:38:14" }, @@ -1168,11 +1168,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3035, + "id": 3036, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2486:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1187,18 +1187,18 @@ "typeString": "bytes32" } ], - "id": 3034, + "id": 3035, "name": "QueryScheduled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2977, + "referencedDeclaration": 2978, "src": "2471:14:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", "typeString": "function (bytes32)" } }, - "id": 3036, + "id": 3037, "isConstant": false, "isLValue": false, "isPure": false, @@ -1212,33 +1212,33 @@ "typeString": "tuple()" } }, - "id": 3037, + "id": 3038, "nodeType": "EmitStatement", "src": "2466:28:14" }, { "expression": { "argumentTypes": null, - "id": 3038, + "id": 3039, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2511:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 2999, - "id": 3039, + "functionReturnParameters": 3000, + "id": 3040, "nodeType": "Return", "src": "2504:14:14" } ] }, "documentation": "@notice allows a user to create a query and get a callback asap as to the result to ensure their query\n is structured as expected\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples\n @return unique identifier to allow them to retrieve the query results once completed.", - "id": 3041, + "id": 3042, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1246,15 +1246,15 @@ "name": "testOracleQuery", "nodeType": "FunctionDefinition", "parameters": { - "id": 2996, + "id": 2997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2993, + "id": 2994, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "1993:23:14", "stateVariable": false, "storageLocation": "default", @@ -1263,7 +1263,7 @@ "typeString": "string" }, "typeName": { - "id": 2992, + "id": 2993, "name": "string", "nodeType": "ElementaryTypeName", "src": "1993:6:14", @@ -1277,10 +1277,10 @@ }, { "constant": false, - "id": 2995, + "id": 2996, "name": "oracleQuery", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2018:18:14", "stateVariable": false, "storageLocation": "default", @@ -1289,7 +1289,7 @@ "typeString": "string" }, "typeName": { - "id": 2994, + "id": 2995, "name": "string", "nodeType": "ElementaryTypeName", "src": "2018:6:14", @@ -1306,15 +1306,15 @@ }, "payable": true, "returnParameters": { - "id": 2999, + "id": 3000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2998, + "id": 2999, "name": "", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2064:7:14", "stateVariable": false, "storageLocation": "default", @@ -1323,7 +1323,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2997, + "id": 2998, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2064:7:14", @@ -1338,7 +1338,7 @@ ], "src": "2063:9:14" }, - "scope": 3108, + "scope": 3109, "src": "1968:557:14", "stateMutability": "payable", "superFunction": null, @@ -1346,7 +1346,7 @@ }, { "body": { - "id": 3052, + "id": 3053, "nodeType": "Block", "src": "2781:45:14", "statements": [ @@ -1355,25 +1355,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3048, + "id": 3049, "name": "queryResults", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2969, + "referencedDeclaration": 2970, "src": "2798:12:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", "typeString": "mapping(bytes32 => string storage ref)" } }, - "id": 3050, + "id": 3051, "indexExpression": { "argumentTypes": null, - "id": 3049, + "id": 3050, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3043, + "referencedDeclaration": 3044, "src": "2811:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1391,15 +1391,15 @@ "typeString": "string storage ref" } }, - "functionReturnParameters": 3047, - "id": 3051, + "functionReturnParameters": 3048, + "id": 3052, "nodeType": "Return", "src": "2791:28:14" } ] }, "documentation": "@notice allows a user to retrieve results from their test query.\n @param queryID unique identifier for the query.\n @return results (if any) from the query", - "id": 3053, + "id": 3054, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1407,15 +1407,15 @@ "name": "getQueryResults", "nodeType": "FunctionDefinition", "parameters": { - "id": 3044, + "id": 3045, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3043, + "id": 3044, "name": "queryID", "nodeType": "VariableDeclaration", - "scope": 3053, + "scope": 3054, "src": "2733:15:14", "stateVariable": false, "storageLocation": "default", @@ -1424,7 +1424,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3042, + "id": 3043, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2733:7:14", @@ -1441,15 +1441,15 @@ }, "payable": false, "returnParameters": { - "id": 3047, + "id": 3048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3046, + "id": 3047, "name": "", "nodeType": "VariableDeclaration", - "scope": 3053, + "scope": 3054, "src": "2773:6:14", "stateVariable": false, "storageLocation": "default", @@ -1458,7 +1458,7 @@ "typeString": "string" }, "typeName": { - "id": 3045, + "id": 3046, "name": "string", "nodeType": "ElementaryTypeName", "src": "2773:6:14", @@ -1473,7 +1473,7 @@ ], "src": "2772:8:14" }, - "scope": 3108, + "scope": 3109, "src": "2708:118:14", "stateMutability": "view", "superFunction": null, @@ -1481,7 +1481,7 @@ }, { "body": { - "id": 3065, + "id": 3066, "nodeType": "Block", "src": "3171:79:14", "statements": [ @@ -1491,11 +1491,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3061, + "id": 3062, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3055, + "referencedDeclaration": 3056, "src": "3206:16:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -1504,11 +1504,11 @@ }, { "argumentTypes": null, - "id": 3062, + "id": 3063, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, + "referencedDeclaration": 2962, "src": "3224:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,21 +1527,21 @@ "typeString": "uint256" } ], - "id": 3060, + "id": 3061, "name": "oraclize_getPrice", "nodeType": "Identifier", "overloadedDeclarations": [ - 3596, - 3614 + 3597, + 3615 ], - "referencedDeclaration": 3614, + "referencedDeclaration": 3615, "src": "3188:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) returns (uint256)" } }, - "id": 3063, + "id": 3064, "isConstant": false, "isLValue": false, "isPure": false, @@ -1555,15 +1555,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 3059, - "id": 3064, + "functionReturnParameters": 3060, + "id": 3065, "nodeType": "Return", "src": "3181:62:14" } ] }, "documentation": "@notice allows a user to retrieve current pricing from oraclize API\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @return cost in wei of query", - "id": 3066, + "id": 3067, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -1571,15 +1571,15 @@ "name": "getQueryCost", "nodeType": "FunctionDefinition", "parameters": { - "id": 3056, + "id": 3057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3055, + "id": 3056, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 3066, + "scope": 3067, "src": "3122:23:14", "stateVariable": false, "storageLocation": "default", @@ -1588,7 +1588,7 @@ "typeString": "string" }, "typeName": { - "id": 3054, + "id": 3055, "name": "string", "nodeType": "ElementaryTypeName", "src": "3122:6:14", @@ -1605,15 +1605,15 @@ }, "payable": false, "returnParameters": { - "id": 3059, + "id": 3060, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3058, + "id": 3059, "name": "", "nodeType": "VariableDeclaration", - "scope": 3066, + "scope": 3067, "src": "3165:4:14", "stateVariable": false, "storageLocation": "default", @@ -1622,7 +1622,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3057, + "id": 3058, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3165:4:14", @@ -1637,7 +1637,7 @@ ], "src": "3164:6:14" }, - "scope": 3108, + "scope": 3109, "src": "3100:150:14", "stateMutability": "nonpayable", "superFunction": null, @@ -1645,7 +1645,7 @@ }, { "body": { - "id": 3106, + "id": 3107, "nodeType": "Block", "src": "3565:345:14", "statements": [ @@ -1659,7 +1659,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3080, + "id": 3081, "isConstant": false, "isLValue": false, "isPure": false, @@ -1668,18 +1668,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3076, + "id": 3077, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3583:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3077, + "id": 3078, "isConstant": false, "isLValue": false, "isPure": false, @@ -1700,18 +1700,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3078, + "id": 3079, "name": "oraclize_cbAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, + "referencedDeclaration": 3755, "src": "3597:18:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", "typeString": "function () returns (address)" } }, - "id": 3079, + "id": 3080, "isConstant": false, "isLValue": false, "isPure": false, @@ -1739,21 +1739,21 @@ "typeString": "bool" } ], - "id": 3075, + "id": 3076, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3575:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3081, + "id": 3082, "isConstant": false, "isLValue": false, "isPure": false, @@ -1767,7 +1767,7 @@ "typeString": "tuple()" } }, - "id": 3082, + "id": 3083, "nodeType": "ExpressionStatement", "src": "3575:43:14" }, @@ -1779,25 +1779,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3084, + "id": 3085, "name": "validScheduledQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2965, + "referencedDeclaration": 2966, "src": "3636:22:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 3086, + "id": 3087, "indexExpression": { "argumentTypes": null, - "id": 3085, + "id": 3086, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3659:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1823,21 +1823,21 @@ "typeString": "bool" } ], - "id": 3083, + "id": 3084, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3628:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3087, + "id": 3088, "isConstant": false, "isLValue": false, "isPure": false, @@ -1851,14 +1851,14 @@ "typeString": "tuple()" } }, - "id": 3088, + "id": 3089, "nodeType": "ExpressionStatement", "src": "3628:40:14" }, { "expression": { "argumentTypes": null, - "id": 3092, + "id": 3093, "isConstant": false, "isLValue": false, "isPure": false, @@ -1871,25 +1871,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3089, + "id": 3090, "name": "validScheduledQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2965, + "referencedDeclaration": 2966, "src": "3685:22:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 3091, + "id": 3092, "indexExpression": { "argumentTypes": null, - "id": 3090, + "id": 3091, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3708:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1912,14 +1912,14 @@ "typeString": "tuple()" } }, - "id": 3093, + "id": 3094, "nodeType": "ExpressionStatement", "src": "3678:38:14" }, { "expression": { "argumentTypes": null, - "id": 3098, + "id": 3099, "isConstant": false, "isLValue": false, "isPure": false, @@ -1928,25 +1928,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3094, + "id": 3095, "name": "queryResults", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2969, + "referencedDeclaration": 2970, "src": "3726:12:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", "typeString": "mapping(bytes32 => string storage ref)" } }, - "id": 3096, + "id": 3097, "indexExpression": { "argumentTypes": null, - "id": 3095, + "id": 3096, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3739:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1968,11 +1968,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3097, + "id": 3098, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3070, + "referencedDeclaration": 3071, "src": "3750:6:14", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1985,7 +1985,7 @@ "typeString": "string storage ref" } }, - "id": 3099, + "id": 3100, "nodeType": "ExpressionStatement", "src": "3726:30:14" }, @@ -1995,11 +1995,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3101, + "id": 3102, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3800:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2014,18 +2014,18 @@ "typeString": "bytes32" } ], - "id": 3100, + "id": 3101, "name": "QueryCompleted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2973, + "referencedDeclaration": 2974, "src": "3785:14:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", "typeString": "function (bytes32)" } }, - "id": 3102, + "id": 3103, "isConstant": false, "isLValue": false, "isPure": false, @@ -2039,32 +2039,32 @@ "typeString": "tuple()" } }, - "id": 3103, + "id": 3104, "nodeType": "EmitStatement", "src": "3780:28:14" }, { "expression": { "argumentTypes": null, - "id": 3104, + "id": 3105, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3072, + "referencedDeclaration": 3073, "src": "3868:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 3105, + "id": 3106, "nodeType": "ExpressionStatement", "src": "3868:5:14" } ] }, "documentation": "@notice only public for callbacks from oraclize, do not call\n @param queryID of the returning query, this should match our own internal mapping\n @param result query to be processed\n @param proof result proof", - "id": 3107, + "id": 3108, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -2072,15 +2072,15 @@ "name": "__callback", "nodeType": "FunctionDefinition", "parameters": { - "id": 3073, + "id": 3074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3068, + "id": 3069, "name": "queryID", "nodeType": "VariableDeclaration", - "scope": 3107, + "scope": 3108, "src": "3513:15:14", "stateVariable": false, "storageLocation": "default", @@ -2089,7 +2089,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3067, + "id": 3068, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3513:7:14", @@ -2103,10 +2103,10 @@ }, { "constant": false, - "id": 3070, + "id": 3071, "name": "result", "nodeType": "VariableDeclaration", - "scope": 3107, + "scope": 3108, "src": "3530:13:14", "stateVariable": false, "storageLocation": "default", @@ -2115,7 +2115,7 @@ "typeString": "string" }, "typeName": { - "id": 3069, + "id": 3070, "name": "string", "nodeType": "ElementaryTypeName", "src": "3530:6:14", @@ -2129,10 +2129,10 @@ }, { "constant": false, - "id": 3072, + "id": 3073, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 3107, + "scope": 3108, "src": "3545:11:14", "stateVariable": false, "storageLocation": "default", @@ -2141,7 +2141,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3071, + "id": 3072, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3545:5:14", @@ -2158,19 +2158,19 @@ }, "payable": false, "returnParameters": { - "id": 3074, + "id": 3075, "nodeType": "ParameterList", "parameters": [], "src": "3565:0:14" }, - "scope": 3108, + "scope": 3109, "src": "3493:417:14", "stateMutability": "nonpayable", - "superFunction": 3581, + "superFunction": 3582, "visibility": "public" } ], - "scope": 3109, + "scope": 3110, "src": "854:3058:14" } ], @@ -2180,14 +2180,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/OraclizeQueryTest.sol", "exportedSymbols": { "OraclizeQueryTest": [ - 3108 + 3109 ] }, - "id": 3109, + "id": 3110, "nodeType": "SourceUnit", "nodes": [ { - "id": 2951, + "id": 2952, "literals": [ "solidity", "^", @@ -2200,10 +2200,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/oraclize/oraclizeAPI.sol", "file": "./oraclizeAPI.sol", - "id": 2952, + "id": 2953, "nodeType": "ImportDirective", - "scope": 3109, - "sourceUnit": 3910, + "scope": 3110, + "sourceUnit": 3911, "src": "634:27:14", "symbolAliases": [], "unitAlias": "" @@ -2211,10 +2211,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "file": "../libraries/MathLib.sol", - "id": 2953, + "id": 2954, "nodeType": "ImportDirective", - "scope": 3109, - "sourceUnit": 2233, + "scope": 3110, + "sourceUnit": 2234, "src": "662:34:14", "symbolAliases": [], "unitAlias": "" @@ -2225,53 +2225,53 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2954, + "id": 2955, "name": "usingOraclize", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3909, + "referencedDeclaration": 3910, "src": "884:13:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_usingOraclize_$3909", + "typeIdentifier": "t_contract$_usingOraclize_$3910", "typeString": "contract usingOraclize" } }, - "id": 2955, + "id": 2956, "nodeType": "InheritanceSpecifier", "src": "884:13:14" } ], "contractDependencies": [ - 3909 + 3910 ], "contractKind": "contract", "documentation": "@title QueryTest small contract to allow users to test query structure prior to contract deployment\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 3108, + "id": 3109, "linearizedBaseContracts": [ - 3108, - 3909 + 3109, + 3910 ], "name": "OraclizeQueryTest", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2958, + "id": 2959, "libraryName": { "contractScope": null, - "id": 2956, + "id": 2957, "name": "MathLib", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2232, + "referencedDeclaration": 2233, "src": "910:7:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_MathLib_$2232", + "typeIdentifier": "t_contract$_MathLib_$2233", "typeString": "library MathLib" } }, "nodeType": "UsingForDirective", "src": "904:23:14", "typeName": { - "id": 2957, + "id": 2958, "name": "uint", "nodeType": "ElementaryTypeName", "src": "922:4:14", @@ -2283,10 +2283,10 @@ }, { "constant": true, - "id": 2961, + "id": 2962, "name": "QUERY_CALLBACK_GAS", "nodeType": "VariableDeclaration", - "scope": 3108, + "scope": 3109, "src": "950:48:14", "stateVariable": true, "storageLocation": "default", @@ -2295,7 +2295,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2959, + "id": 2960, "name": "uint", "nodeType": "ElementaryTypeName", "src": "950:4:14", @@ -2307,7 +2307,7 @@ "value": { "argumentTypes": null, "hexValue": "313530303030", - "id": 2960, + "id": 2961, "isConstant": false, "isLValue": false, "isPure": true, @@ -2326,10 +2326,10 @@ }, { "constant": false, - "id": 2965, + "id": 2966, "name": "validScheduledQueryIDs", "nodeType": "VariableDeclaration", - "scope": 3108, + "scope": 3109, "src": "1028:47:14", "stateVariable": true, "storageLocation": "default", @@ -2338,9 +2338,9 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 2964, + "id": 2965, "keyType": { - "id": 2962, + "id": 2963, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1036:7:14", @@ -2356,7 +2356,7 @@ "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 2963, + "id": 2964, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1047:4:14", @@ -2371,10 +2371,10 @@ }, { "constant": false, - "id": 2969, + "id": 2970, "name": "queryResults", "nodeType": "VariableDeclaration", - "scope": 3108, + "scope": 3109, "src": "1081:39:14", "stateVariable": true, "storageLocation": "default", @@ -2383,9 +2383,9 @@ "typeString": "mapping(bytes32 => string)" }, "typeName": { - "id": 2968, + "id": 2969, "keyType": { - "id": 2966, + "id": 2967, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1089:7:14", @@ -2401,7 +2401,7 @@ "typeString": "mapping(bytes32 => string)" }, "valueType": { - "id": 2967, + "id": 2968, "name": "string", "nodeType": "ElementaryTypeName", "src": "1100:6:14", @@ -2417,20 +2417,20 @@ { "anonymous": false, "documentation": null, - "id": 2973, + "id": 2974, "name": "QueryCompleted", "nodeType": "EventDefinition", "parameters": { - "id": 2972, + "id": 2973, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2971, + "id": 2972, "indexed": true, "name": "queryIDCompleted", "nodeType": "VariableDeclaration", - "scope": 2973, + "scope": 2974, "src": "1162:32:14", "stateVariable": false, "storageLocation": "default", @@ -2439,7 +2439,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2970, + "id": 2971, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1162:7:14", @@ -2459,20 +2459,20 @@ { "anonymous": false, "documentation": null, - "id": 2977, + "id": 2978, "name": "QueryScheduled", "nodeType": "EventDefinition", "parameters": { - "id": 2976, + "id": 2977, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2975, + "id": 2976, "indexed": true, "name": "queryIDScheduled", "nodeType": "VariableDeclaration", - "scope": 2977, + "scope": 2978, "src": "1222:32:14", "stateVariable": false, "storageLocation": "default", @@ -2481,7 +2481,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2974, + "id": 2975, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1222:7:14", @@ -2501,20 +2501,20 @@ { "anonymous": false, "documentation": null, - "id": 2981, + "id": 2982, "name": "QueryPrice", "nodeType": "EventDefinition", "parameters": { - "id": 2980, + "id": 2981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2979, + "id": 2980, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 2981, + "scope": 2982, "src": "1278:10:14", "stateVariable": false, "storageLocation": "default", @@ -2523,7 +2523,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2978, + "id": 2979, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1278:4:14", @@ -2542,7 +2542,7 @@ }, { "body": { - "id": 2990, + "id": 2991, "nodeType": "Block", "src": "1317:111:14", "statements": [ @@ -2556,18 +2556,18 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 2987, + "id": 2988, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2985, + "id": 2986, "name": "proofType_TLSNotary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3329, + "referencedDeclaration": 3330, "src": "1345:19:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -2578,11 +2578,11 @@ "operator": "|", "rightExpression": { "argumentTypes": null, - "id": 2986, + "id": 2987, "name": "proofStorage_IPFS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3332, + "referencedDeclaration": 3333, "src": "1367:17:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -2603,18 +2603,18 @@ "typeString": "bytes1" } ], - "id": 2984, + "id": 2985, "name": "oraclize_setProof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3767, + "referencedDeclaration": 3768, "src": "1327:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes1_$returns$__$", "typeString": "function (bytes1)" } }, - "id": 2988, + "id": 2989, "isConstant": false, "isLValue": false, "isPure": false, @@ -2628,14 +2628,14 @@ "typeString": "tuple()" } }, - "id": 2989, + "id": 2990, "nodeType": "ExpressionStatement", "src": "1327:58:14" } ] }, "documentation": null, - "id": 2991, + "id": 2992, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2643,19 +2643,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2982, + "id": 2983, "nodeType": "ParameterList", "parameters": [], "src": "1307:2:14" }, "payable": false, "returnParameters": { - "id": 2983, + "id": 2984, "nodeType": "ParameterList", "parameters": [], "src": "1317:0:14" }, - "scope": 3108, + "scope": 3109, "src": "1296:132:14", "stateMutability": "nonpayable", "superFunction": null, @@ -2663,21 +2663,21 @@ }, { "body": { - "id": 3040, + "id": 3041, "nodeType": "Block", "src": "2073:452:14", "statements": [ { "assignments": [ - 3001 + 3002 ], "declarations": [ { "constant": false, - "id": 3001, + "id": 3002, "name": "cost", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2083:9:14", "stateVariable": false, "storageLocation": "default", @@ -2686,7 +2686,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3000, + "id": 3001, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2083:4:14", @@ -2699,17 +2699,17 @@ "visibility": "internal" } ], - "id": 3006, + "id": 3007, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3003, + "id": 3004, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2993, + "referencedDeclaration": 2994, "src": "2113:16:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -2718,11 +2718,11 @@ }, { "argumentTypes": null, - "id": 3004, + "id": 3005, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, + "referencedDeclaration": 2962, "src": "2131:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2741,21 +2741,21 @@ "typeString": "uint256" } ], - "id": 3002, + "id": 3003, "name": "oraclize_getPrice", "nodeType": "Identifier", "overloadedDeclarations": [ - 3596, - 3614 + 3597, + 3615 ], - "referencedDeclaration": 3614, + "referencedDeclaration": 3615, "src": "2095:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) returns (uint256)" } }, - "id": 3005, + "id": 3006, "isConstant": false, "isLValue": false, "isPure": false, @@ -2782,7 +2782,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3011, + "id": 3012, "isConstant": false, "isLValue": false, "isPure": false, @@ -2791,18 +2791,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3008, + "id": 3009, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "2168:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3009, + "id": 3010, "isConstant": false, "isLValue": false, "isPure": false, @@ -2820,11 +2820,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 3010, + "id": 3011, "name": "cost", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3001, + "referencedDeclaration": 3002, "src": "2181:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2845,21 +2845,21 @@ "typeString": "bool" } ], - "id": 3007, + "id": 3008, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2160:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3012, + "id": 3013, "isConstant": false, "isLValue": false, "isPure": false, @@ -2873,21 +2873,21 @@ "typeString": "tuple()" } }, - "id": 3013, + "id": 3014, "nodeType": "ExpressionStatement", "src": "2160:26:14" }, { "assignments": [ - 3015 + 3016 ], "declarations": [ { "constant": false, - "id": 3015, + "id": 3016, "name": "queryId", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2248:15:14", "stateVariable": false, "storageLocation": "default", @@ -2896,7 +2896,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3014, + "id": 3015, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2248:7:14", @@ -2909,17 +2909,17 @@ "visibility": "internal" } ], - "id": 3021, + "id": 3022, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3017, + "id": 3018, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2993, + "referencedDeclaration": 2994, "src": "2294:16:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -2928,11 +2928,11 @@ }, { "argumentTypes": null, - "id": 3018, + "id": 3019, "name": "oracleQuery", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2995, + "referencedDeclaration": 2996, "src": "2324:11:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -2941,11 +2941,11 @@ }, { "argumentTypes": null, - "id": 3019, + "id": 3020, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, + "referencedDeclaration": 2962, "src": "2349:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2968,23 +2968,23 @@ "typeString": "uint256" } ], - "id": 3016, + "id": 3017, "name": "oraclize_query", "nodeType": "Identifier", "overloadedDeclarations": [ - 3643, - 3674, - 3709, - 3742 + 3644, + 3675, + 3710, + 3743 ], - "referencedDeclaration": 3742, + "referencedDeclaration": 3743, "src": "2266:14:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (string memory,string memory,uint256) returns (bytes32)" } }, - "id": 3020, + "id": 3021, "isConstant": false, "isLValue": false, "isPure": false, @@ -3011,18 +3011,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 3025, + "id": 3026, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3023, + "id": 3024, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2395:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3034,7 +3034,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3024, + "id": 3025, "isConstant": false, "isLValue": false, "isPure": true, @@ -3063,21 +3063,21 @@ "typeString": "bool" } ], - "id": 3022, + "id": 3023, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "2387:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3026, + "id": 3027, "isConstant": false, "isLValue": false, "isPure": false, @@ -3091,14 +3091,14 @@ "typeString": "tuple()" } }, - "id": 3027, + "id": 3028, "nodeType": "ExpressionStatement", "src": "2387:21:14" }, { "expression": { "argumentTypes": null, - "id": 3032, + "id": 3033, "isConstant": false, "isLValue": false, "isPure": false, @@ -3107,25 +3107,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3028, + "id": 3029, "name": "validScheduledQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2965, + "referencedDeclaration": 2966, "src": "2418:22:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 3030, + "id": 3031, "indexExpression": { "argumentTypes": null, - "id": 3029, + "id": 3030, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2441:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3148,7 +3148,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3031, + "id": 3032, "isConstant": false, "isLValue": false, "isPure": true, @@ -3169,7 +3169,7 @@ "typeString": "bool" } }, - "id": 3033, + "id": 3034, "nodeType": "ExpressionStatement", "src": "2418:38:14" }, @@ -3179,11 +3179,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3035, + "id": 3036, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2486:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3198,18 +3198,18 @@ "typeString": "bytes32" } ], - "id": 3034, + "id": 3035, "name": "QueryScheduled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2977, + "referencedDeclaration": 2978, "src": "2471:14:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", "typeString": "function (bytes32)" } }, - "id": 3036, + "id": 3037, "isConstant": false, "isLValue": false, "isPure": false, @@ -3223,33 +3223,33 @@ "typeString": "tuple()" } }, - "id": 3037, + "id": 3038, "nodeType": "EmitStatement", "src": "2466:28:14" }, { "expression": { "argumentTypes": null, - "id": 3038, + "id": 3039, "name": "queryId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3016, "src": "2511:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 2999, - "id": 3039, + "functionReturnParameters": 3000, + "id": 3040, "nodeType": "Return", "src": "2504:14:14" } ] }, "documentation": "@notice allows a user to create a query and get a callback asap as to the result to ensure their query\n is structured as expected\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @param oracleQuery see http://docs.oraclize.it/#ethereum-quick-start-simple-query for examples\n @return unique identifier to allow them to retrieve the query results once completed.", - "id": 3041, + "id": 3042, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3257,15 +3257,15 @@ "name": "testOracleQuery", "nodeType": "FunctionDefinition", "parameters": { - "id": 2996, + "id": 2997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2993, + "id": 2994, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "1993:23:14", "stateVariable": false, "storageLocation": "default", @@ -3274,7 +3274,7 @@ "typeString": "string" }, "typeName": { - "id": 2992, + "id": 2993, "name": "string", "nodeType": "ElementaryTypeName", "src": "1993:6:14", @@ -3288,10 +3288,10 @@ }, { "constant": false, - "id": 2995, + "id": 2996, "name": "oracleQuery", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2018:18:14", "stateVariable": false, "storageLocation": "default", @@ -3300,7 +3300,7 @@ "typeString": "string" }, "typeName": { - "id": 2994, + "id": 2995, "name": "string", "nodeType": "ElementaryTypeName", "src": "2018:6:14", @@ -3317,15 +3317,15 @@ }, "payable": true, "returnParameters": { - "id": 2999, + "id": 3000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2998, + "id": 2999, "name": "", "nodeType": "VariableDeclaration", - "scope": 3041, + "scope": 3042, "src": "2064:7:14", "stateVariable": false, "storageLocation": "default", @@ -3334,7 +3334,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2997, + "id": 2998, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2064:7:14", @@ -3349,7 +3349,7 @@ ], "src": "2063:9:14" }, - "scope": 3108, + "scope": 3109, "src": "1968:557:14", "stateMutability": "payable", "superFunction": null, @@ -3357,7 +3357,7 @@ }, { "body": { - "id": 3052, + "id": 3053, "nodeType": "Block", "src": "2781:45:14", "statements": [ @@ -3366,25 +3366,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3048, + "id": 3049, "name": "queryResults", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2969, + "referencedDeclaration": 2970, "src": "2798:12:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", "typeString": "mapping(bytes32 => string storage ref)" } }, - "id": 3050, + "id": 3051, "indexExpression": { "argumentTypes": null, - "id": 3049, + "id": 3050, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3043, + "referencedDeclaration": 3044, "src": "2811:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3402,15 +3402,15 @@ "typeString": "string storage ref" } }, - "functionReturnParameters": 3047, - "id": 3051, + "functionReturnParameters": 3048, + "id": 3052, "nodeType": "Return", "src": "2791:28:14" } ] }, "documentation": "@notice allows a user to retrieve results from their test query.\n @param queryID unique identifier for the query.\n @return results (if any) from the query", - "id": 3053, + "id": 3054, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3418,15 +3418,15 @@ "name": "getQueryResults", "nodeType": "FunctionDefinition", "parameters": { - "id": 3044, + "id": 3045, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3043, + "id": 3044, "name": "queryID", "nodeType": "VariableDeclaration", - "scope": 3053, + "scope": 3054, "src": "2733:15:14", "stateVariable": false, "storageLocation": "default", @@ -3435,7 +3435,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3042, + "id": 3043, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2733:7:14", @@ -3452,15 +3452,15 @@ }, "payable": false, "returnParameters": { - "id": 3047, + "id": 3048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3046, + "id": 3047, "name": "", "nodeType": "VariableDeclaration", - "scope": 3053, + "scope": 3054, "src": "2773:6:14", "stateVariable": false, "storageLocation": "default", @@ -3469,7 +3469,7 @@ "typeString": "string" }, "typeName": { - "id": 3045, + "id": 3046, "name": "string", "nodeType": "ElementaryTypeName", "src": "2773:6:14", @@ -3484,7 +3484,7 @@ ], "src": "2772:8:14" }, - "scope": 3108, + "scope": 3109, "src": "2708:118:14", "stateMutability": "view", "superFunction": null, @@ -3492,7 +3492,7 @@ }, { "body": { - "id": 3065, + "id": 3066, "nodeType": "Block", "src": "3171:79:14", "statements": [ @@ -3502,11 +3502,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3061, + "id": 3062, "name": "oracleDataSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3055, + "referencedDeclaration": 3056, "src": "3206:16:14", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -3515,11 +3515,11 @@ }, { "argumentTypes": null, - "id": 3062, + "id": 3063, "name": "QUERY_CALLBACK_GAS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2961, + "referencedDeclaration": 2962, "src": "3224:18:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3538,21 +3538,21 @@ "typeString": "uint256" } ], - "id": 3060, + "id": 3061, "name": "oraclize_getPrice", "nodeType": "Identifier", "overloadedDeclarations": [ - 3596, - 3614 + 3597, + 3615 ], - "referencedDeclaration": 3614, + "referencedDeclaration": 3615, "src": "3188:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (string memory,uint256) returns (uint256)" } }, - "id": 3063, + "id": 3064, "isConstant": false, "isLValue": false, "isPure": false, @@ -3566,15 +3566,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 3059, - "id": 3064, + "functionReturnParameters": 3060, + "id": 3065, "nodeType": "Return", "src": "3181:62:14" } ] }, "documentation": "@notice allows a user to retrieve current pricing from oraclize API\n @param oracleDataSource a data-source such as \"URL\", \"WolframAlpha\", \"IPFS\"\n see http://docs.oraclize.it/#ethereum-quick-start-simple-query\n @return cost in wei of query", - "id": 3066, + "id": 3067, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3582,15 +3582,15 @@ "name": "getQueryCost", "nodeType": "FunctionDefinition", "parameters": { - "id": 3056, + "id": 3057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3055, + "id": 3056, "name": "oracleDataSource", "nodeType": "VariableDeclaration", - "scope": 3066, + "scope": 3067, "src": "3122:23:14", "stateVariable": false, "storageLocation": "default", @@ -3599,7 +3599,7 @@ "typeString": "string" }, "typeName": { - "id": 3054, + "id": 3055, "name": "string", "nodeType": "ElementaryTypeName", "src": "3122:6:14", @@ -3616,15 +3616,15 @@ }, "payable": false, "returnParameters": { - "id": 3059, + "id": 3060, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3058, + "id": 3059, "name": "", "nodeType": "VariableDeclaration", - "scope": 3066, + "scope": 3067, "src": "3165:4:14", "stateVariable": false, "storageLocation": "default", @@ -3633,7 +3633,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3057, + "id": 3058, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3165:4:14", @@ -3648,7 +3648,7 @@ ], "src": "3164:6:14" }, - "scope": 3108, + "scope": 3109, "src": "3100:150:14", "stateMutability": "nonpayable", "superFunction": null, @@ -3656,7 +3656,7 @@ }, { "body": { - "id": 3106, + "id": 3107, "nodeType": "Block", "src": "3565:345:14", "statements": [ @@ -3670,7 +3670,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3080, + "id": 3081, "isConstant": false, "isLValue": false, "isPure": false, @@ -3679,18 +3679,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3076, + "id": 3077, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5193, "src": "3583:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3077, + "id": 3078, "isConstant": false, "isLValue": false, "isPure": false, @@ -3711,18 +3711,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3078, + "id": 3079, "name": "oraclize_cbAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, + "referencedDeclaration": 3755, "src": "3597:18:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", "typeString": "function () returns (address)" } }, - "id": 3079, + "id": 3080, "isConstant": false, "isLValue": false, "isPure": false, @@ -3750,21 +3750,21 @@ "typeString": "bool" } ], - "id": 3075, + "id": 3076, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3575:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3081, + "id": 3082, "isConstant": false, "isLValue": false, "isPure": false, @@ -3778,7 +3778,7 @@ "typeString": "tuple()" } }, - "id": 3082, + "id": 3083, "nodeType": "ExpressionStatement", "src": "3575:43:14" }, @@ -3790,25 +3790,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3084, + "id": 3085, "name": "validScheduledQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2965, + "referencedDeclaration": 2966, "src": "3636:22:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 3086, + "id": 3087, "indexExpression": { "argumentTypes": null, - "id": 3085, + "id": 3086, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3659:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3834,21 +3834,21 @@ "typeString": "bool" } ], - "id": 3083, + "id": 3084, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 5195, - 5196 + 5196, + 5197 ], - "referencedDeclaration": 5195, + "referencedDeclaration": 5196, "src": "3628:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 3087, + "id": 3088, "isConstant": false, "isLValue": false, "isPure": false, @@ -3862,14 +3862,14 @@ "typeString": "tuple()" } }, - "id": 3088, + "id": 3089, "nodeType": "ExpressionStatement", "src": "3628:40:14" }, { "expression": { "argumentTypes": null, - "id": 3092, + "id": 3093, "isConstant": false, "isLValue": false, "isPure": false, @@ -3882,25 +3882,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3089, + "id": 3090, "name": "validScheduledQueryIDs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2965, + "referencedDeclaration": 2966, "src": "3685:22:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 3091, + "id": 3092, "indexExpression": { "argumentTypes": null, - "id": 3090, + "id": 3091, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3708:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3923,14 +3923,14 @@ "typeString": "tuple()" } }, - "id": 3093, + "id": 3094, "nodeType": "ExpressionStatement", "src": "3678:38:14" }, { "expression": { "argumentTypes": null, - "id": 3098, + "id": 3099, "isConstant": false, "isLValue": false, "isPure": false, @@ -3939,25 +3939,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3094, + "id": 3095, "name": "queryResults", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2969, + "referencedDeclaration": 2970, "src": "3726:12:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", "typeString": "mapping(bytes32 => string storage ref)" } }, - "id": 3096, + "id": 3097, "indexExpression": { "argumentTypes": null, - "id": 3095, + "id": 3096, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3739:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3979,11 +3979,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3097, + "id": 3098, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3070, + "referencedDeclaration": 3071, "src": "3750:6:14", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3996,7 +3996,7 @@ "typeString": "string storage ref" } }, - "id": 3099, + "id": 3100, "nodeType": "ExpressionStatement", "src": "3726:30:14" }, @@ -4006,11 +4006,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3101, + "id": 3102, "name": "queryID", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3068, + "referencedDeclaration": 3069, "src": "3800:7:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4025,18 +4025,18 @@ "typeString": "bytes32" } ], - "id": 3100, + "id": 3101, "name": "QueryCompleted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2973, + "referencedDeclaration": 2974, "src": "3785:14:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", "typeString": "function (bytes32)" } }, - "id": 3102, + "id": 3103, "isConstant": false, "isLValue": false, "isPure": false, @@ -4050,32 +4050,32 @@ "typeString": "tuple()" } }, - "id": 3103, + "id": 3104, "nodeType": "EmitStatement", "src": "3780:28:14" }, { "expression": { "argumentTypes": null, - "id": 3104, + "id": 3105, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3072, + "referencedDeclaration": 3073, "src": "3868:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 3105, + "id": 3106, "nodeType": "ExpressionStatement", "src": "3868:5:14" } ] }, "documentation": "@notice only public for callbacks from oraclize, do not call\n @param queryID of the returning query, this should match our own internal mapping\n @param result query to be processed\n @param proof result proof", - "id": 3107, + "id": 3108, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4083,15 +4083,15 @@ "name": "__callback", "nodeType": "FunctionDefinition", "parameters": { - "id": 3073, + "id": 3074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3068, + "id": 3069, "name": "queryID", "nodeType": "VariableDeclaration", - "scope": 3107, + "scope": 3108, "src": "3513:15:14", "stateVariable": false, "storageLocation": "default", @@ -4100,7 +4100,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3067, + "id": 3068, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3513:7:14", @@ -4114,10 +4114,10 @@ }, { "constant": false, - "id": 3070, + "id": 3071, "name": "result", "nodeType": "VariableDeclaration", - "scope": 3107, + "scope": 3108, "src": "3530:13:14", "stateVariable": false, "storageLocation": "default", @@ -4126,7 +4126,7 @@ "typeString": "string" }, "typeName": { - "id": 3069, + "id": 3070, "name": "string", "nodeType": "ElementaryTypeName", "src": "3530:6:14", @@ -4140,10 +4140,10 @@ }, { "constant": false, - "id": 3072, + "id": 3073, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 3107, + "scope": 3108, "src": "3545:11:14", "stateVariable": false, "storageLocation": "default", @@ -4152,7 +4152,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3071, + "id": 3072, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3545:5:14", @@ -4169,19 +4169,19 @@ }, "payable": false, "returnParameters": { - "id": 3074, + "id": 3075, "nodeType": "ParameterList", "parameters": [], "src": "3565:0:14" }, - "scope": 3108, + "scope": 3109, "src": "3493:417:14", "stateMutability": "nonpayable", - "superFunction": 3581, + "superFunction": 3582, "visibility": "public" } ], - "scope": 3109, + "scope": 3110, "src": "854:3058:14" } ], @@ -4232,10 +4232,10 @@ } }, "links": {}, - "address": "0xfb4272316da77b63d8c70d8635849473fe24c011", - "transactionHash": "0xe5dc97aed47f22c06a9bcee6f3510642e521875430f2c43ffdb407ca618649bd" + "address": "0x898d2cfe4d9bbdde9967f1ab2ce10d68a44d6ab7", + "transactionHash": "0x99a1547141bec3fa9ca698b8d3253d9eb913ddf0a26b4eef369081c8c2e8223c" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.222Z" + "updatedAt": "2018-10-05T14:03:26.614Z" } \ No newline at end of file diff --git a/build/contracts/OrderLib.json b/build/contracts/OrderLib.json index 0b7b3c3..3670b43 100644 --- a/build/contracts/OrderLib.json +++ b/build/contracts/OrderLib.json @@ -78,14 +78,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/OrderLib.sol", "exportedSymbols": { "OrderLib": [ - 2510 + 2511 ] }, - "id": 2511, + "id": 2512, "nodeType": "SourceUnit", "nodes": [ { - "id": 2234, + "id": 2235, "literals": [ "solidity", "^", @@ -98,10 +98,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "file": "./MathLib.sol", - "id": 2235, + "id": 2236, "nodeType": "ImportDirective", - "scope": 2511, - "sourceUnit": 2233, + "scope": 2512, + "sourceUnit": 2234, "src": "633:23:10", "symbolAliases": [], "unitAlias": "" @@ -112,31 +112,31 @@ "contractKind": "library", "documentation": "@title OrderLib\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 2510, + "id": 2511, "linearizedBaseContracts": [ - 2510 + 2511 ], "name": "OrderLib", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2238, + "id": 2239, "libraryName": { "contractScope": null, - "id": 2236, + "id": 2237, "name": "MathLib", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2232, + "referencedDeclaration": 2233, "src": "759:7:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MathLib_$2232", + "typeIdentifier": "t_contract$_MathLib_$2233", "typeString": "library MathLib" } }, "nodeType": "UsingForDirective", "src": "753:22:10", "typeName": { - "id": 2237, + "id": 2238, "name": "int", "nodeType": "ElementaryTypeName", "src": "771:3:10", @@ -148,14 +148,14 @@ }, { "canonicalName": "OrderLib.OrderMappings", - "id": 2247, + "id": 2248, "members": [ { "constant": false, - "id": 2242, + "id": 2243, "name": "filledOrderQty", "nodeType": "VariableDeclaration", - "scope": 2247, + "scope": 2248, "src": "812:39:10", "stateVariable": false, "storageLocation": "default", @@ -164,9 +164,9 @@ "typeString": "mapping(bytes32 => int256)" }, "typeName": { - "id": 2241, + "id": 2242, "keyType": { - "id": 2239, + "id": 2240, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "821:7:10", @@ -182,7 +182,7 @@ "typeString": "mapping(bytes32 => int256)" }, "valueType": { - "id": 2240, + "id": 2241, "name": "int", "nodeType": "ElementaryTypeName", "src": "832:3:10", @@ -197,10 +197,10 @@ }, { "constant": false, - "id": 2246, + "id": 2247, "name": "cancelledOrderQty", "nodeType": "VariableDeclaration", - "scope": 2247, + "scope": 2248, "src": "861:42:10", "stateVariable": false, "storageLocation": "default", @@ -209,9 +209,9 @@ "typeString": "mapping(bytes32 => int256)" }, "typeName": { - "id": 2245, + "id": 2246, "keyType": { - "id": 2243, + "id": 2244, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "870:7:10", @@ -227,7 +227,7 @@ "typeString": "mapping(bytes32 => int256)" }, "valueType": { - "id": 2244, + "id": 2245, "name": "int", "nodeType": "ElementaryTypeName", "src": "881:3:10", @@ -243,20 +243,20 @@ ], "name": "OrderMappings", "nodeType": "StructDefinition", - "scope": 2510, + "scope": 2511, "src": "781:129:10", "visibility": "public" }, { "canonicalName": "OrderLib.Order", - "id": 2266, + "id": 2267, "members": [ { "constant": false, - "id": 2249, + "id": 2250, "name": "maker", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "939:13:10", "stateVariable": false, "storageLocation": "default", @@ -265,7 +265,7 @@ "typeString": "address" }, "typeName": { - "id": 2248, + "id": 2249, "name": "address", "nodeType": "ElementaryTypeName", "src": "939:7:10", @@ -279,10 +279,10 @@ }, { "constant": false, - "id": 2251, + "id": 2252, "name": "taker", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "962:13:10", "stateVariable": false, "storageLocation": "default", @@ -291,7 +291,7 @@ "typeString": "address" }, "typeName": { - "id": 2250, + "id": 2251, "name": "address", "nodeType": "ElementaryTypeName", "src": "962:7:10", @@ -305,10 +305,10 @@ }, { "constant": false, - "id": 2253, + "id": 2254, "name": "feeRecipient", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "985:20:10", "stateVariable": false, "storageLocation": "default", @@ -317,7 +317,7 @@ "typeString": "address" }, "typeName": { - "id": 2252, + "id": 2253, "name": "address", "nodeType": "ElementaryTypeName", "src": "985:7:10", @@ -331,10 +331,10 @@ }, { "constant": false, - "id": 2255, + "id": 2256, "name": "makerFee", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1015:13:10", "stateVariable": false, "storageLocation": "default", @@ -343,7 +343,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2254, + "id": 2255, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1015:4:10", @@ -357,10 +357,10 @@ }, { "constant": false, - "id": 2257, + "id": 2258, "name": "takerFee", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1038:13:10", "stateVariable": false, "storageLocation": "default", @@ -369,7 +369,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2256, + "id": 2257, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1038:4:10", @@ -383,10 +383,10 @@ }, { "constant": false, - "id": 2259, + "id": 2260, "name": "price", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1061:10:10", "stateVariable": false, "storageLocation": "default", @@ -395,7 +395,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2258, + "id": 2259, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1061:4:10", @@ -409,10 +409,10 @@ }, { "constant": false, - "id": 2261, + "id": 2262, "name": "expirationTimeStamp", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1081:24:10", "stateVariable": false, "storageLocation": "default", @@ -421,7 +421,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2260, + "id": 2261, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1081:4:10", @@ -435,10 +435,10 @@ }, { "constant": false, - "id": 2263, + "id": 2264, "name": "qty", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1115:7:10", "stateVariable": false, "storageLocation": "default", @@ -447,7 +447,7 @@ "typeString": "int256" }, "typeName": { - "id": 2262, + "id": 2263, "name": "int", "nodeType": "ElementaryTypeName", "src": "1115:3:10", @@ -461,10 +461,10 @@ }, { "constant": false, - "id": 2265, + "id": 2266, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1132:17:10", "stateVariable": false, "storageLocation": "default", @@ -473,7 +473,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2264, + "id": 2265, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1132:7:10", @@ -488,13 +488,13 @@ ], "name": "Order", "nodeType": "StructDefinition", - "scope": 2510, + "scope": 2511, "src": "916:240:10", "visibility": "public" }, { "body": { - "id": 2286, + "id": 2287, "nodeType": "Block", "src": "1592:93:10", "statements": [ @@ -508,39 +508,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2280, + "id": 2281, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2269, "src": "1644:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2281, + "id": 2282, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cancelledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2246, + "referencedDeclaration": 2247, "src": "1644:22:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2283, + "id": 2284, "indexExpression": { "argumentTypes": null, - "id": 2282, + "id": 2283, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, + "referencedDeclaration": 2271, "src": "1667:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -572,39 +572,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2275, + "id": 2276, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2269, "src": "1609:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2276, + "id": 2277, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "filledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2242, + "referencedDeclaration": 2243, "src": "1609:19:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2278, + "id": 2279, "indexExpression": { "argumentTypes": null, - "id": 2277, + "id": 2278, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, + "referencedDeclaration": 2271, "src": "1629:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -622,21 +622,21 @@ "typeString": "int256" } }, - "id": 2279, + "id": 2280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "1609:34:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$bound_to$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2284, + "id": 2285, "isConstant": false, "isLValue": false, "isPure": false, @@ -650,15 +650,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2274, - "id": 2285, + "functionReturnParameters": 2275, + "id": 2286, "nodeType": "Return", "src": "1602:76:10" } ] }, "documentation": "@notice returns the qty that is no longer available to trade for a given order\n @param orderHash hash of order to find filled and cancelled qty\n @return int quantity that is no longer able to filled from the supplied order hash", - "id": 2287, + "id": 2288, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -666,31 +666,31 @@ "name": "getQtyFilledOrCancelledFromOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2271, + "id": 2272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2268, + "id": 2269, "name": "self", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2288, "src": "1500:26:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" }, "typeName": { "contractScope": null, - "id": 2267, + "id": 2268, "name": "OrderMappings", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2247, + "referencedDeclaration": 2248, "src": "1500:13:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" } }, @@ -699,10 +699,10 @@ }, { "constant": false, - "id": 2270, + "id": 2271, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2288, "src": "1536:17:10", "stateVariable": false, "storageLocation": "default", @@ -711,7 +711,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2269, + "id": 2270, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1536:7:10", @@ -728,15 +728,15 @@ }, "payable": false, "returnParameters": { - "id": 2274, + "id": 2275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2273, + "id": 2274, "name": "", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2288, "src": "1583:3:10", "stateVariable": false, "storageLocation": "default", @@ -745,7 +745,7 @@ "typeString": "int256" }, "typeName": { - "id": 2272, + "id": 2273, "name": "int", "nodeType": "ElementaryTypeName", "src": "1583:3:10", @@ -760,7 +760,7 @@ ], "src": "1582:5:10" }, - "scope": 2510, + "scope": 2511, "src": "1449:236:10", "stateMutability": "view", "superFunction": null, @@ -768,7 +768,7 @@ }, { "body": { - "id": 2336, + "id": 2337, "nodeType": "Block", "src": "2307:451:10", "statements": [ @@ -781,11 +781,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2307, + "id": 2308, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2289, + "referencedDeclaration": 2290, "src": "2381:15:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -796,22 +796,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2308, + "id": 2309, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2293, + "referencedDeclaration": 2294, "src": "2414:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2310, + "id": 2311, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2309, + "id": 2310, "isConstant": false, "isLValue": false, "isPure": true, @@ -841,22 +841,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2311, + "id": 2312, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2293, + "referencedDeclaration": 2294, "src": "2449:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2313, + "id": 2314, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2312, + "id": 2313, "isConstant": false, "isLValue": false, "isPure": true, @@ -886,22 +886,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2314, + "id": 2315, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2293, + "referencedDeclaration": 2294, "src": "2484:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2316, + "id": 2317, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2315, + "id": 2316, "isConstant": false, "isLValue": false, "isPure": true, @@ -931,22 +931,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2317, + "id": 2318, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2519:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2319, + "id": 2320, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2318, + "id": 2319, "isConstant": false, "isLValue": false, "isPure": true, @@ -976,22 +976,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2320, + "id": 2321, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2559:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2322, + "id": 2323, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2321, + "id": 2322, "isConstant": false, "isLValue": false, "isPure": true, @@ -1021,22 +1021,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2323, + "id": 2324, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2599:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2325, + "id": 2326, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2324, + "id": 2325, "isConstant": false, "isLValue": false, "isPure": true, @@ -1066,22 +1066,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2326, + "id": 2327, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2639:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2328, + "id": 2329, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 2327, + "id": 2328, "isConstant": false, "isLValue": false, "isPure": true, @@ -1111,22 +1111,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2329, + "id": 2330, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2679:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2331, + "id": 2332, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 2330, + "id": 2331, "isConstant": false, "isLValue": false, "isPure": true, @@ -1154,11 +1154,11 @@ }, { "argumentTypes": null, - "id": 2332, + "id": 2333, "name": "orderQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2299, + "referencedDeclaration": 2300, "src": "2719:8:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -1211,18 +1211,18 @@ ], "expression": { "argumentTypes": null, - "id": 2305, + "id": 2306, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5179, + "referencedDeclaration": 5180, "src": "2347:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2306, + "id": 2307, "isConstant": false, "isLValue": false, "isPure": true, @@ -1236,7 +1236,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 2333, + "id": 2334, "isConstant": false, "isLValue": false, "isPure": false, @@ -1258,18 +1258,18 @@ "typeString": "bytes memory" } ], - "id": 2304, + "id": 2305, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5186, + "referencedDeclaration": 5187, "src": "2324:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 2334, + "id": 2335, "isConstant": false, "isLValue": false, "isPure": false, @@ -1283,15 +1283,15 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 2303, - "id": 2335, + "functionReturnParameters": 2304, + "id": 2336, "nodeType": "Return", "src": "2317:434:10" } ] }, "documentation": "@notice creates the hash for the given order parameters.\n @param contractAddress address of the calling contract, orders are unique to each contract\n @param orderAddresses array of 3 address. maker, taker, and feeRecipient\n @param unsignedOrderValues array of 5 unsigned integers. makerFee, takerFee, price, expirationTimeStamp and salt\n @param orderQty signed qty of the original order.", - "id": 2337, + "id": 2338, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1299,15 +1299,15 @@ "name": "createOrderHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 2300, + "id": 2301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2289, + "id": 2290, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2149:23:10", "stateVariable": false, "storageLocation": "default", @@ -1316,7 +1316,7 @@ "typeString": "address" }, "typeName": { - "id": 2288, + "id": 2289, "name": "address", "nodeType": "ElementaryTypeName", "src": "2149:7:10", @@ -1330,10 +1330,10 @@ }, { "constant": false, - "id": 2293, + "id": 2294, "name": "orderAddresses", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2182:25:10", "stateVariable": false, "storageLocation": "default", @@ -1343,7 +1343,7 @@ }, "typeName": { "baseType": { - "id": 2290, + "id": 2291, "name": "address", "nodeType": "ElementaryTypeName", "src": "2182:7:10", @@ -1352,11 +1352,11 @@ "typeString": "address" } }, - "id": 2292, + "id": 2293, "length": { "argumentTypes": null, "hexValue": "33", - "id": 2291, + "id": 2292, "isConstant": false, "isLValue": false, "isPure": false, @@ -1383,10 +1383,10 @@ }, { "constant": false, - "id": 2297, + "id": 2298, "name": "unsignedOrderValues", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2217:27:10", "stateVariable": false, "storageLocation": "default", @@ -1396,7 +1396,7 @@ }, "typeName": { "baseType": { - "id": 2294, + "id": 2295, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2217:4:10", @@ -1405,11 +1405,11 @@ "typeString": "uint256" } }, - "id": 2296, + "id": 2297, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2295, + "id": 2296, "isConstant": false, "isLValue": false, "isPure": false, @@ -1436,10 +1436,10 @@ }, { "constant": false, - "id": 2299, + "id": 2300, "name": "orderQty", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2254:12:10", "stateVariable": false, "storageLocation": "default", @@ -1448,7 +1448,7 @@ "typeString": "int256" }, "typeName": { - "id": 2298, + "id": 2299, "name": "int", "nodeType": "ElementaryTypeName", "src": "2254:3:10", @@ -1465,15 +1465,15 @@ }, "payable": false, "returnParameters": { - "id": 2303, + "id": 2304, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2302, + "id": 2303, "name": "", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2294:7:10", "stateVariable": false, "storageLocation": "default", @@ -1482,7 +1482,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2301, + "id": 2302, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2294:7:10", @@ -1497,7 +1497,7 @@ ], "src": "2293:9:10" }, - "scope": 2510, + "scope": 2511, "src": "2115:643:10", "stateMutability": "pure", "superFunction": null, @@ -1505,7 +1505,7 @@ }, { "body": { - "id": 2367, + "id": 2368, "nodeType": "Block", "src": "3188:188:10", "statements": [ @@ -1516,18 +1516,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2365, + "id": 2366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2352, + "id": 2353, "name": "signerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2339, + "referencedDeclaration": 2340, "src": "3205:13:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1548,7 +1548,7 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 2357, + "id": 2358, "isConstant": false, "isLValue": false, "isPure": true, @@ -1565,11 +1565,11 @@ }, { "argumentTypes": null, - "id": 2358, + "id": 2359, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, + "referencedDeclaration": 2342, "src": "3308:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1590,18 +1590,18 @@ ], "expression": { "argumentTypes": null, - "id": 2355, + "id": 2356, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5179, + "referencedDeclaration": 5180, "src": "3255:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2356, + "id": 2357, "isConstant": false, "isLValue": false, "isPure": true, @@ -1615,7 +1615,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 2359, + "id": 2360, "isConstant": false, "isLValue": false, "isPure": false, @@ -1637,18 +1637,18 @@ "typeString": "bytes memory" } ], - "id": 2354, + "id": 2355, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5186, + "referencedDeclaration": 5187, "src": "3245:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 2360, + "id": 2361, "isConstant": false, "isLValue": false, "isPure": false, @@ -1664,11 +1664,11 @@ }, { "argumentTypes": null, - "id": 2361, + "id": 2362, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2343, + "referencedDeclaration": 2344, "src": "3328:1:10", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -1677,11 +1677,11 @@ }, { "argumentTypes": null, - "id": 2362, + "id": 2363, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, + "referencedDeclaration": 2346, "src": "3343:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1690,11 +1690,11 @@ }, { "argumentTypes": null, - "id": 2363, + "id": 2364, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2347, + "referencedDeclaration": 2348, "src": "3358:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1721,18 +1721,18 @@ "typeString": "bytes32" } ], - "id": 2353, + "id": 2354, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5185, "src": "3222:9:10", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 2364, + "id": 2365, "isConstant": false, "isLValue": false, "isPure": false, @@ -1752,15 +1752,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 2351, - "id": 2366, + "functionReturnParameters": 2352, + "id": 2367, "nodeType": "Return", "src": "3198:171:10" } ] }, "documentation": "@notice confirms hash originated from signer\n @param signerAddress - address of order originator\n @param hash - original order hash\n @param v order signature\n @param r order signature\n @param s order signature", - "id": 2368, + "id": 2369, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1768,15 +1768,15 @@ "name": "isValidSignature", "nodeType": "FunctionDefinition", "parameters": { - "id": 2348, + "id": 2349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2339, + "id": 2340, "name": "signerAddress", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3052:21:10", "stateVariable": false, "storageLocation": "default", @@ -1785,7 +1785,7 @@ "typeString": "address" }, "typeName": { - "id": 2338, + "id": 2339, "name": "address", "nodeType": "ElementaryTypeName", "src": "3052:7:10", @@ -1799,10 +1799,10 @@ }, { "constant": false, - "id": 2341, + "id": 2342, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3083:12:10", "stateVariable": false, "storageLocation": "default", @@ -1811,7 +1811,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2340, + "id": 2341, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3083:7:10", @@ -1825,10 +1825,10 @@ }, { "constant": false, - "id": 2343, + "id": 2344, "name": "v", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3105:7:10", "stateVariable": false, "storageLocation": "default", @@ -1837,7 +1837,7 @@ "typeString": "uint8" }, "typeName": { - "id": 2342, + "id": 2343, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3105:5:10", @@ -1851,10 +1851,10 @@ }, { "constant": false, - "id": 2345, + "id": 2346, "name": "r", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3122:9:10", "stateVariable": false, "storageLocation": "default", @@ -1863,7 +1863,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2344, + "id": 2345, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3122:7:10", @@ -1877,10 +1877,10 @@ }, { "constant": false, - "id": 2347, + "id": 2348, "name": "s", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3141:9:10", "stateVariable": false, "storageLocation": "default", @@ -1889,7 +1889,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2346, + "id": 2347, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3141:7:10", @@ -1906,15 +1906,15 @@ }, "payable": false, "returnParameters": { - "id": 2351, + "id": 2352, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2350, + "id": 2351, "name": "", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3178:4:10", "stateVariable": false, "storageLocation": "default", @@ -1923,7 +1923,7 @@ "typeString": "bool" }, "typeName": { - "id": 2349, + "id": 2350, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3178:4:10", @@ -1938,7 +1938,7 @@ ], "src": "3177:6:10" }, - "scope": 2510, + "scope": 2511, "src": "3017:359:10", "stateMutability": "pure", "superFunction": null, @@ -1946,14 +1946,14 @@ }, { "body": { - "id": 2460, + "id": 2461, "nodeType": "Block", "src": "4038:558:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2391, + "id": 2392, "isConstant": false, "isLValue": false, "isPure": false, @@ -1962,25 +1962,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2385, + "id": 2386, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4048:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2387, + "id": 2388, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "maker", "nodeType": "MemberAccess", - "referencedDeclaration": 2249, + "referencedDeclaration": 2250, "src": "4048:11:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1993,22 +1993,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2388, + "id": 2389, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4062:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2390, + "id": 2391, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2389, + "id": 2390, "isConstant": false, "isLValue": false, "isPure": true, @@ -2040,14 +2040,14 @@ "typeString": "address" } }, - "id": 2392, + "id": 2393, "nodeType": "ExpressionStatement", "src": "4048:31:10" }, { "expression": { "argumentTypes": null, - "id": 2399, + "id": 2400, "isConstant": false, "isLValue": false, "isPure": false, @@ -2056,25 +2056,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2393, + "id": 2394, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4089:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2395, + "id": 2396, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "taker", "nodeType": "MemberAccess", - "referencedDeclaration": 2251, + "referencedDeclaration": 2252, "src": "4089:11:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2087,22 +2087,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2396, + "id": 2397, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4103:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2398, + "id": 2399, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2397, + "id": 2398, "isConstant": false, "isLValue": false, "isPure": true, @@ -2134,14 +2134,14 @@ "typeString": "address" } }, - "id": 2400, + "id": 2401, "nodeType": "ExpressionStatement", "src": "4089:31:10" }, { "expression": { "argumentTypes": null, - "id": 2407, + "id": 2408, "isConstant": false, "isLValue": false, "isPure": false, @@ -2150,25 +2150,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2401, + "id": 2402, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4130:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2403, + "id": 2404, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "feeRecipient", "nodeType": "MemberAccess", - "referencedDeclaration": 2253, + "referencedDeclaration": 2254, "src": "4130:18:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2181,22 +2181,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2404, + "id": 2405, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4151:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2406, + "id": 2407, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2405, + "id": 2406, "isConstant": false, "isLValue": false, "isPure": true, @@ -2228,14 +2228,14 @@ "typeString": "address" } }, - "id": 2408, + "id": 2409, "nodeType": "ExpressionStatement", "src": "4130:38:10" }, { "expression": { "argumentTypes": null, - "id": 2415, + "id": 2416, "isConstant": false, "isLValue": false, "isPure": false, @@ -2244,25 +2244,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2409, + "id": 2410, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4178:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2411, + "id": 2412, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "makerFee", "nodeType": "MemberAccess", - "referencedDeclaration": 2255, + "referencedDeclaration": 2256, "src": "4178:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2275,22 +2275,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2412, + "id": 2413, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4195:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2414, + "id": 2415, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2413, + "id": 2414, "isConstant": false, "isLValue": false, "isPure": true, @@ -2322,14 +2322,14 @@ "typeString": "uint256" } }, - "id": 2416, + "id": 2417, "nodeType": "ExpressionStatement", "src": "4178:39:10" }, { "expression": { "argumentTypes": null, - "id": 2423, + "id": 2424, "isConstant": false, "isLValue": false, "isPure": false, @@ -2338,25 +2338,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2417, + "id": 2418, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4227:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2419, + "id": 2420, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "takerFee", "nodeType": "MemberAccess", - "referencedDeclaration": 2257, + "referencedDeclaration": 2258, "src": "4227:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2369,22 +2369,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2420, + "id": 2421, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4244:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2422, + "id": 2423, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2421, + "id": 2422, "isConstant": false, "isLValue": false, "isPure": true, @@ -2416,14 +2416,14 @@ "typeString": "uint256" } }, - "id": 2424, + "id": 2425, "nodeType": "ExpressionStatement", "src": "4227:39:10" }, { "expression": { "argumentTypes": null, - "id": 2431, + "id": 2432, "isConstant": false, "isLValue": false, "isPure": false, @@ -2432,25 +2432,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2425, + "id": 2426, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4276:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2427, + "id": 2428, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 2259, + "referencedDeclaration": 2260, "src": "4276:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2463,22 +2463,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2428, + "id": 2429, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4290:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2430, + "id": 2431, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2429, + "id": 2430, "isConstant": false, "isLValue": false, "isPure": true, @@ -2510,14 +2510,14 @@ "typeString": "uint256" } }, - "id": 2432, + "id": 2433, "nodeType": "ExpressionStatement", "src": "4276:36:10" }, { "expression": { "argumentTypes": null, - "id": 2439, + "id": 2440, "isConstant": false, "isLValue": false, "isPure": false, @@ -2526,25 +2526,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2433, + "id": 2434, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4322:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2435, + "id": 2436, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "expirationTimeStamp", "nodeType": "MemberAccess", - "referencedDeclaration": 2261, + "referencedDeclaration": 2262, "src": "4322:25:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2557,22 +2557,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2436, + "id": 2437, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4350:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2438, + "id": 2439, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 2437, + "id": 2438, "isConstant": false, "isLValue": false, "isPure": true, @@ -2604,14 +2604,14 @@ "typeString": "uint256" } }, - "id": 2440, + "id": 2441, "nodeType": "ExpressionStatement", "src": "4322:50:10" }, { "expression": { "argumentTypes": null, - "id": 2445, + "id": 2446, "isConstant": false, "isLValue": false, "isPure": false, @@ -2620,25 +2620,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2441, + "id": 2442, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4382:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2443, + "id": 2444, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "qty", "nodeType": "MemberAccess", - "referencedDeclaration": 2263, + "referencedDeclaration": 2264, "src": "4382:9:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2649,11 +2649,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2444, + "id": 2445, "name": "orderQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2381, "src": "4394:8:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2666,14 +2666,14 @@ "typeString": "int256" } }, - "id": 2446, + "id": 2447, "nodeType": "ExpressionStatement", "src": "4382:20:10" }, { "expression": { "argumentTypes": null, - "id": 2456, + "id": 2457, "isConstant": false, "isLValue": false, "isPure": false, @@ -2682,25 +2682,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2447, + "id": 2448, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4412:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2449, + "id": 2450, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "orderHash", "nodeType": "MemberAccess", - "referencedDeclaration": 2265, + "referencedDeclaration": 2266, "src": "4412:15:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2714,11 +2714,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2451, + "id": 2452, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2370, + "referencedDeclaration": 2371, "src": "4459:15:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2727,11 +2727,11 @@ }, { "argumentTypes": null, - "id": 2452, + "id": 2453, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4488:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", @@ -2740,11 +2740,11 @@ }, { "argumentTypes": null, - "id": 2453, + "id": 2454, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4516:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", @@ -2753,11 +2753,11 @@ }, { "argumentTypes": null, - "id": 2454, + "id": 2455, "name": "orderQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2381, "src": "4549:8:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -2784,18 +2784,18 @@ "typeString": "int256" } ], - "id": 2450, + "id": 2451, "name": "createOrderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2337, + "referencedDeclaration": 2338, "src": "4430:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_array$_t_address_$3_memory_ptr_$_t_array$_t_uint256_$5_memory_ptr_$_t_int256_$returns$_t_bytes32_$", "typeString": "function (address,address[3] memory,uint256[5] memory,int256) pure returns (bytes32)" } }, - "id": 2455, + "id": 2456, "isConstant": false, "isLValue": false, "isPure": false, @@ -2815,33 +2815,33 @@ "typeString": "bytes32" } }, - "id": 2457, + "id": 2458, "nodeType": "ExpressionStatement", "src": "4412:155:10" }, { "expression": { "argumentTypes": null, - "id": 2458, + "id": 2459, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4584:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "functionReturnParameters": 2384, - "id": 2459, + "functionReturnParameters": 2385, + "id": 2460, "nodeType": "Return", "src": "4577:12:10" } ] }, "documentation": "@dev factory for orders to be created with needed hash.\n @param contractAddress address of the calling contract, orders are unique to each contract\n @param orderAddresses array of 3 address. maker, taker, and feeRecipient\n @param unsignedOrderValues array of 5 unsigned integers. makerFee, takerFee, price, expirationTimeStamp and salt\n @param orderQty signed qty of the original order.", - "id": 2461, + "id": 2462, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2849,15 +2849,15 @@ "name": "createOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2381, + "id": 2382, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2370, + "id": 2371, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3874:23:10", "stateVariable": false, "storageLocation": "default", @@ -2866,7 +2866,7 @@ "typeString": "address" }, "typeName": { - "id": 2369, + "id": 2370, "name": "address", "nodeType": "ElementaryTypeName", "src": "3874:7:10", @@ -2880,10 +2880,10 @@ }, { "constant": false, - "id": 2374, + "id": 2375, "name": "orderAddresses", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3907:25:10", "stateVariable": false, "storageLocation": "default", @@ -2893,7 +2893,7 @@ }, "typeName": { "baseType": { - "id": 2371, + "id": 2372, "name": "address", "nodeType": "ElementaryTypeName", "src": "3907:7:10", @@ -2902,11 +2902,11 @@ "typeString": "address" } }, - "id": 2373, + "id": 2374, "length": { "argumentTypes": null, "hexValue": "33", - "id": 2372, + "id": 2373, "isConstant": false, "isLValue": false, "isPure": false, @@ -2933,10 +2933,10 @@ }, { "constant": false, - "id": 2378, + "id": 2379, "name": "unsignedOrderValues", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3942:27:10", "stateVariable": false, "storageLocation": "default", @@ -2946,7 +2946,7 @@ }, "typeName": { "baseType": { - "id": 2375, + "id": 2376, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3942:4:10", @@ -2955,11 +2955,11 @@ "typeString": "uint256" } }, - "id": 2377, + "id": 2378, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2376, + "id": 2377, "isConstant": false, "isLValue": false, "isPure": false, @@ -2986,10 +2986,10 @@ }, { "constant": false, - "id": 2380, + "id": 2381, "name": "orderQty", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3979:12:10", "stateVariable": false, "storageLocation": "default", @@ -2998,7 +2998,7 @@ "typeString": "int256" }, "typeName": { - "id": 2379, + "id": 2380, "name": "int", "nodeType": "ElementaryTypeName", "src": "3979:3:10", @@ -3015,31 +3015,31 @@ }, "payable": false, "returnParameters": { - "id": 2384, + "id": 2385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2383, + "id": 2384, "name": "order", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "4021:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order" }, "typeName": { "contractScope": null, - "id": 2382, + "id": 2383, "name": "Order", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2266, + "referencedDeclaration": 2267, "src": "4021:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_storage_ptr", + "typeIdentifier": "t_struct$_Order_$2267_storage_ptr", "typeString": "struct OrderLib.Order" } }, @@ -3049,7 +3049,7 @@ ], "src": "4020:13:10" }, - "scope": 2510, + "scope": 2511, "src": "3844:752:10", "stateMutability": "pure", "superFunction": null, @@ -3057,14 +3057,14 @@ }, { "body": { - "id": 2484, + "id": 2485, "nodeType": "Block", "src": "4902:95:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2482, + "id": 2483, "isConstant": false, "isLValue": false, "isPure": false, @@ -3075,39 +3075,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2470, + "id": 2471, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2463, + "referencedDeclaration": 2464, "src": "4912:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2473, + "id": 2474, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "filledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2242, + "referencedDeclaration": 2243, "src": "4912:19:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2474, + "id": 2475, "indexExpression": { "argumentTypes": null, - "id": 2472, + "id": 2473, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2465, + "referencedDeclaration": 2466, "src": "4932:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3132,11 +3132,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2480, + "id": 2481, "name": "filledQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, + "referencedDeclaration": 2468, "src": "4980:9:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3157,39 +3157,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2475, + "id": 2476, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2463, + "referencedDeclaration": 2464, "src": "4945:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2476, + "id": 2477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "filledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2242, + "referencedDeclaration": 2243, "src": "4945:19:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2478, + "id": 2479, "indexExpression": { "argumentTypes": null, - "id": 2477, + "id": 2478, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2465, + "referencedDeclaration": 2466, "src": "4965:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3207,21 +3207,21 @@ "typeString": "int256" } }, - "id": 2479, + "id": 2480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "4945:34:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$bound_to$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2481, + "id": 2482, "isConstant": false, "isLValue": false, "isPure": false, @@ -3241,14 +3241,14 @@ "typeString": "int256" } }, - "id": 2483, + "id": 2484, "nodeType": "ExpressionStatement", "src": "4912:78:10" } ] }, "documentation": null, - "id": 2485, + "id": 2486, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3256,31 +3256,31 @@ "name": "addFilledQtyToOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2468, + "id": 2469, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2463, + "id": 2464, "name": "self", "nodeType": "VariableDeclaration", - "scope": 2485, + "scope": 2486, "src": "4831:26:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" }, "typeName": { "contractScope": null, - "id": 2462, + "id": 2463, "name": "OrderMappings", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2247, + "referencedDeclaration": 2248, "src": "4831:13:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" } }, @@ -3289,10 +3289,10 @@ }, { "constant": false, - "id": 2465, + "id": 2466, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2485, + "scope": 2486, "src": "4859:17:10", "stateVariable": false, "storageLocation": "default", @@ -3301,7 +3301,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2464, + "id": 2465, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4859:7:10", @@ -3315,10 +3315,10 @@ }, { "constant": false, - "id": 2467, + "id": 2468, "name": "filledQty", "nodeType": "VariableDeclaration", - "scope": 2485, + "scope": 2486, "src": "4878:13:10", "stateVariable": false, "storageLocation": "default", @@ -3327,7 +3327,7 @@ "typeString": "int256" }, "typeName": { - "id": 2466, + "id": 2467, "name": "int", "nodeType": "ElementaryTypeName", "src": "4878:3:10", @@ -3344,12 +3344,12 @@ }, "payable": false, "returnParameters": { - "id": 2469, + "id": 2470, "nodeType": "ParameterList", "parameters": [], "src": "4902:0:10" }, - "scope": 2510, + "scope": 2511, "src": "4802:195:10", "stateMutability": "nonpayable", "superFunction": null, @@ -3357,14 +3357,14 @@ }, { "body": { - "id": 2508, + "id": 2509, "nodeType": "Block", "src": "5297:104:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2506, + "id": 2507, "isConstant": false, "isLValue": false, "isPure": false, @@ -3375,39 +3375,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2494, + "id": 2495, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2487, + "referencedDeclaration": 2488, "src": "5307:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2497, + "id": 2498, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cancelledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2246, + "referencedDeclaration": 2247, "src": "5307:22:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2498, + "id": 2499, "indexExpression": { "argumentTypes": null, - "id": 2496, + "id": 2497, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2489, + "referencedDeclaration": 2490, "src": "5330:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3432,11 +3432,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2504, + "id": 2505, "name": "cancelledQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2491, + "referencedDeclaration": 2492, "src": "5381:12:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -3457,39 +3457,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2499, + "id": 2500, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2487, + "referencedDeclaration": 2488, "src": "5343:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2500, + "id": 2501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cancelledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2246, + "referencedDeclaration": 2247, "src": "5343:22:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2502, + "id": 2503, "indexExpression": { "argumentTypes": null, - "id": 2501, + "id": 2502, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2489, + "referencedDeclaration": 2490, "src": "5366:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3507,21 +3507,21 @@ "typeString": "int256" } }, - "id": 2503, + "id": 2504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "5343:37:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$bound_to$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2505, + "id": 2506, "isConstant": false, "isLValue": false, "isPure": false, @@ -3541,14 +3541,14 @@ "typeString": "int256" } }, - "id": 2507, + "id": 2508, "nodeType": "ExpressionStatement", "src": "5307:87:10" } ] }, "documentation": null, - "id": 2509, + "id": 2510, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3556,31 +3556,31 @@ "name": "addCancelledQtyToOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2492, + "id": 2493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2487, + "id": 2488, "name": "self", "nodeType": "VariableDeclaration", - "scope": 2509, + "scope": 2510, "src": "5223:26:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" }, "typeName": { "contractScope": null, - "id": 2486, + "id": 2487, "name": "OrderMappings", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2247, + "referencedDeclaration": 2248, "src": "5223:13:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" } }, @@ -3589,10 +3589,10 @@ }, { "constant": false, - "id": 2489, + "id": 2490, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2509, + "scope": 2510, "src": "5251:17:10", "stateVariable": false, "storageLocation": "default", @@ -3601,7 +3601,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2488, + "id": 2489, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5251:7:10", @@ -3615,10 +3615,10 @@ }, { "constant": false, - "id": 2491, + "id": 2492, "name": "cancelledQty", "nodeType": "VariableDeclaration", - "scope": 2509, + "scope": 2510, "src": "5270:16:10", "stateVariable": false, "storageLocation": "default", @@ -3627,7 +3627,7 @@ "typeString": "int256" }, "typeName": { - "id": 2490, + "id": 2491, "name": "int", "nodeType": "ElementaryTypeName", "src": "5270:3:10", @@ -3644,19 +3644,19 @@ }, "payable": false, "returnParameters": { - "id": 2493, + "id": 2494, "nodeType": "ParameterList", "parameters": [], "src": "5297:0:10" }, - "scope": 2510, + "scope": 2511, "src": "5191:210:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2511, + "scope": 2512, "src": "730:4673:10" } ], @@ -3666,14 +3666,14 @@ "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/OrderLib.sol", "exportedSymbols": { "OrderLib": [ - 2510 + 2511 ] }, - "id": 2511, + "id": 2512, "nodeType": "SourceUnit", "nodes": [ { - "id": 2234, + "id": 2235, "literals": [ "solidity", "^", @@ -3686,10 +3686,10 @@ { "absolutePath": "/home/pelsasser/MARKETProtocol/contracts/libraries/MathLib.sol", "file": "./MathLib.sol", - "id": 2235, + "id": 2236, "nodeType": "ImportDirective", - "scope": 2511, - "sourceUnit": 2233, + "scope": 2512, + "sourceUnit": 2234, "src": "633:23:10", "symbolAliases": [], "unitAlias": "" @@ -3700,31 +3700,31 @@ "contractKind": "library", "documentation": "@title OrderLib\n @author Phil Elsasser ", "fullyImplemented": true, - "id": 2510, + "id": 2511, "linearizedBaseContracts": [ - 2510 + 2511 ], "name": "OrderLib", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2238, + "id": 2239, "libraryName": { "contractScope": null, - "id": 2236, + "id": 2237, "name": "MathLib", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2232, + "referencedDeclaration": 2233, "src": "759:7:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MathLib_$2232", + "typeIdentifier": "t_contract$_MathLib_$2233", "typeString": "library MathLib" } }, "nodeType": "UsingForDirective", "src": "753:22:10", "typeName": { - "id": 2237, + "id": 2238, "name": "int", "nodeType": "ElementaryTypeName", "src": "771:3:10", @@ -3736,14 +3736,14 @@ }, { "canonicalName": "OrderLib.OrderMappings", - "id": 2247, + "id": 2248, "members": [ { "constant": false, - "id": 2242, + "id": 2243, "name": "filledOrderQty", "nodeType": "VariableDeclaration", - "scope": 2247, + "scope": 2248, "src": "812:39:10", "stateVariable": false, "storageLocation": "default", @@ -3752,9 +3752,9 @@ "typeString": "mapping(bytes32 => int256)" }, "typeName": { - "id": 2241, + "id": 2242, "keyType": { - "id": 2239, + "id": 2240, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "821:7:10", @@ -3770,7 +3770,7 @@ "typeString": "mapping(bytes32 => int256)" }, "valueType": { - "id": 2240, + "id": 2241, "name": "int", "nodeType": "ElementaryTypeName", "src": "832:3:10", @@ -3785,10 +3785,10 @@ }, { "constant": false, - "id": 2246, + "id": 2247, "name": "cancelledOrderQty", "nodeType": "VariableDeclaration", - "scope": 2247, + "scope": 2248, "src": "861:42:10", "stateVariable": false, "storageLocation": "default", @@ -3797,9 +3797,9 @@ "typeString": "mapping(bytes32 => int256)" }, "typeName": { - "id": 2245, + "id": 2246, "keyType": { - "id": 2243, + "id": 2244, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "870:7:10", @@ -3815,7 +3815,7 @@ "typeString": "mapping(bytes32 => int256)" }, "valueType": { - "id": 2244, + "id": 2245, "name": "int", "nodeType": "ElementaryTypeName", "src": "881:3:10", @@ -3831,20 +3831,20 @@ ], "name": "OrderMappings", "nodeType": "StructDefinition", - "scope": 2510, + "scope": 2511, "src": "781:129:10", "visibility": "public" }, { "canonicalName": "OrderLib.Order", - "id": 2266, + "id": 2267, "members": [ { "constant": false, - "id": 2249, + "id": 2250, "name": "maker", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "939:13:10", "stateVariable": false, "storageLocation": "default", @@ -3853,7 +3853,7 @@ "typeString": "address" }, "typeName": { - "id": 2248, + "id": 2249, "name": "address", "nodeType": "ElementaryTypeName", "src": "939:7:10", @@ -3867,10 +3867,10 @@ }, { "constant": false, - "id": 2251, + "id": 2252, "name": "taker", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "962:13:10", "stateVariable": false, "storageLocation": "default", @@ -3879,7 +3879,7 @@ "typeString": "address" }, "typeName": { - "id": 2250, + "id": 2251, "name": "address", "nodeType": "ElementaryTypeName", "src": "962:7:10", @@ -3893,10 +3893,10 @@ }, { "constant": false, - "id": 2253, + "id": 2254, "name": "feeRecipient", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "985:20:10", "stateVariable": false, "storageLocation": "default", @@ -3905,7 +3905,7 @@ "typeString": "address" }, "typeName": { - "id": 2252, + "id": 2253, "name": "address", "nodeType": "ElementaryTypeName", "src": "985:7:10", @@ -3919,10 +3919,10 @@ }, { "constant": false, - "id": 2255, + "id": 2256, "name": "makerFee", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1015:13:10", "stateVariable": false, "storageLocation": "default", @@ -3931,7 +3931,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2254, + "id": 2255, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1015:4:10", @@ -3945,10 +3945,10 @@ }, { "constant": false, - "id": 2257, + "id": 2258, "name": "takerFee", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1038:13:10", "stateVariable": false, "storageLocation": "default", @@ -3957,7 +3957,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2256, + "id": 2257, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1038:4:10", @@ -3971,10 +3971,10 @@ }, { "constant": false, - "id": 2259, + "id": 2260, "name": "price", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1061:10:10", "stateVariable": false, "storageLocation": "default", @@ -3983,7 +3983,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2258, + "id": 2259, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1061:4:10", @@ -3997,10 +3997,10 @@ }, { "constant": false, - "id": 2261, + "id": 2262, "name": "expirationTimeStamp", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1081:24:10", "stateVariable": false, "storageLocation": "default", @@ -4009,7 +4009,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2260, + "id": 2261, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1081:4:10", @@ -4023,10 +4023,10 @@ }, { "constant": false, - "id": 2263, + "id": 2264, "name": "qty", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1115:7:10", "stateVariable": false, "storageLocation": "default", @@ -4035,7 +4035,7 @@ "typeString": "int256" }, "typeName": { - "id": 2262, + "id": 2263, "name": "int", "nodeType": "ElementaryTypeName", "src": "1115:3:10", @@ -4049,10 +4049,10 @@ }, { "constant": false, - "id": 2265, + "id": 2266, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2266, + "scope": 2267, "src": "1132:17:10", "stateVariable": false, "storageLocation": "default", @@ -4061,7 +4061,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2264, + "id": 2265, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1132:7:10", @@ -4076,13 +4076,13 @@ ], "name": "Order", "nodeType": "StructDefinition", - "scope": 2510, + "scope": 2511, "src": "916:240:10", "visibility": "public" }, { "body": { - "id": 2286, + "id": 2287, "nodeType": "Block", "src": "1592:93:10", "statements": [ @@ -4096,39 +4096,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2280, + "id": 2281, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2269, "src": "1644:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2281, + "id": 2282, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cancelledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2246, + "referencedDeclaration": 2247, "src": "1644:22:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2283, + "id": 2284, "indexExpression": { "argumentTypes": null, - "id": 2282, + "id": 2283, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, + "referencedDeclaration": 2271, "src": "1667:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4160,39 +4160,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2275, + "id": 2276, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2269, "src": "1609:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2276, + "id": 2277, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "filledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2242, + "referencedDeclaration": 2243, "src": "1609:19:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2278, + "id": 2279, "indexExpression": { "argumentTypes": null, - "id": 2277, + "id": 2278, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, + "referencedDeclaration": 2271, "src": "1629:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4210,21 +4210,21 @@ "typeString": "int256" } }, - "id": 2279, + "id": 2280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "1609:34:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$bound_to$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2284, + "id": 2285, "isConstant": false, "isLValue": false, "isPure": false, @@ -4238,15 +4238,15 @@ "typeString": "int256" } }, - "functionReturnParameters": 2274, - "id": 2285, + "functionReturnParameters": 2275, + "id": 2286, "nodeType": "Return", "src": "1602:76:10" } ] }, "documentation": "@notice returns the qty that is no longer available to trade for a given order\n @param orderHash hash of order to find filled and cancelled qty\n @return int quantity that is no longer able to filled from the supplied order hash", - "id": 2287, + "id": 2288, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4254,31 +4254,31 @@ "name": "getQtyFilledOrCancelledFromOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2271, + "id": 2272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2268, + "id": 2269, "name": "self", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2288, "src": "1500:26:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" }, "typeName": { "contractScope": null, - "id": 2267, + "id": 2268, "name": "OrderMappings", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2247, + "referencedDeclaration": 2248, "src": "1500:13:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" } }, @@ -4287,10 +4287,10 @@ }, { "constant": false, - "id": 2270, + "id": 2271, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2288, "src": "1536:17:10", "stateVariable": false, "storageLocation": "default", @@ -4299,7 +4299,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2269, + "id": 2270, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1536:7:10", @@ -4316,15 +4316,15 @@ }, "payable": false, "returnParameters": { - "id": 2274, + "id": 2275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2273, + "id": 2274, "name": "", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2288, "src": "1583:3:10", "stateVariable": false, "storageLocation": "default", @@ -4333,7 +4333,7 @@ "typeString": "int256" }, "typeName": { - "id": 2272, + "id": 2273, "name": "int", "nodeType": "ElementaryTypeName", "src": "1583:3:10", @@ -4348,7 +4348,7 @@ ], "src": "1582:5:10" }, - "scope": 2510, + "scope": 2511, "src": "1449:236:10", "stateMutability": "view", "superFunction": null, @@ -4356,7 +4356,7 @@ }, { "body": { - "id": 2336, + "id": 2337, "nodeType": "Block", "src": "2307:451:10", "statements": [ @@ -4369,11 +4369,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2307, + "id": 2308, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2289, + "referencedDeclaration": 2290, "src": "2381:15:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4384,22 +4384,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2308, + "id": 2309, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2293, + "referencedDeclaration": 2294, "src": "2414:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2310, + "id": 2311, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2309, + "id": 2310, "isConstant": false, "isLValue": false, "isPure": true, @@ -4429,22 +4429,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2311, + "id": 2312, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2293, + "referencedDeclaration": 2294, "src": "2449:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2313, + "id": 2314, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2312, + "id": 2313, "isConstant": false, "isLValue": false, "isPure": true, @@ -4474,22 +4474,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2314, + "id": 2315, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2293, + "referencedDeclaration": 2294, "src": "2484:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2316, + "id": 2317, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2315, + "id": 2316, "isConstant": false, "isLValue": false, "isPure": true, @@ -4519,22 +4519,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2317, + "id": 2318, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2519:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2319, + "id": 2320, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2318, + "id": 2319, "isConstant": false, "isLValue": false, "isPure": true, @@ -4564,22 +4564,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2320, + "id": 2321, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2559:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2322, + "id": 2323, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2321, + "id": 2322, "isConstant": false, "isLValue": false, "isPure": true, @@ -4609,22 +4609,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2323, + "id": 2324, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2599:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2325, + "id": 2326, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2324, + "id": 2325, "isConstant": false, "isLValue": false, "isPure": true, @@ -4654,22 +4654,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2326, + "id": 2327, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2639:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2328, + "id": 2329, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 2327, + "id": 2328, "isConstant": false, "isLValue": false, "isPure": true, @@ -4699,22 +4699,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2329, + "id": 2330, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2297, + "referencedDeclaration": 2298, "src": "2679:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2331, + "id": 2332, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 2330, + "id": 2331, "isConstant": false, "isLValue": false, "isPure": true, @@ -4742,11 +4742,11 @@ }, { "argumentTypes": null, - "id": 2332, + "id": 2333, "name": "orderQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2299, + "referencedDeclaration": 2300, "src": "2719:8:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -4799,18 +4799,18 @@ ], "expression": { "argumentTypes": null, - "id": 2305, + "id": 2306, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5179, + "referencedDeclaration": 5180, "src": "2347:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2306, + "id": 2307, "isConstant": false, "isLValue": false, "isPure": true, @@ -4824,7 +4824,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 2333, + "id": 2334, "isConstant": false, "isLValue": false, "isPure": false, @@ -4846,18 +4846,18 @@ "typeString": "bytes memory" } ], - "id": 2304, + "id": 2305, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5186, + "referencedDeclaration": 5187, "src": "2324:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 2334, + "id": 2335, "isConstant": false, "isLValue": false, "isPure": false, @@ -4871,15 +4871,15 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 2303, - "id": 2335, + "functionReturnParameters": 2304, + "id": 2336, "nodeType": "Return", "src": "2317:434:10" } ] }, "documentation": "@notice creates the hash for the given order parameters.\n @param contractAddress address of the calling contract, orders are unique to each contract\n @param orderAddresses array of 3 address. maker, taker, and feeRecipient\n @param unsignedOrderValues array of 5 unsigned integers. makerFee, takerFee, price, expirationTimeStamp and salt\n @param orderQty signed qty of the original order.", - "id": 2337, + "id": 2338, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4887,15 +4887,15 @@ "name": "createOrderHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 2300, + "id": 2301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2289, + "id": 2290, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2149:23:10", "stateVariable": false, "storageLocation": "default", @@ -4904,7 +4904,7 @@ "typeString": "address" }, "typeName": { - "id": 2288, + "id": 2289, "name": "address", "nodeType": "ElementaryTypeName", "src": "2149:7:10", @@ -4918,10 +4918,10 @@ }, { "constant": false, - "id": 2293, + "id": 2294, "name": "orderAddresses", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2182:25:10", "stateVariable": false, "storageLocation": "default", @@ -4931,7 +4931,7 @@ }, "typeName": { "baseType": { - "id": 2290, + "id": 2291, "name": "address", "nodeType": "ElementaryTypeName", "src": "2182:7:10", @@ -4940,11 +4940,11 @@ "typeString": "address" } }, - "id": 2292, + "id": 2293, "length": { "argumentTypes": null, "hexValue": "33", - "id": 2291, + "id": 2292, "isConstant": false, "isLValue": false, "isPure": false, @@ -4971,10 +4971,10 @@ }, { "constant": false, - "id": 2297, + "id": 2298, "name": "unsignedOrderValues", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2217:27:10", "stateVariable": false, "storageLocation": "default", @@ -4984,7 +4984,7 @@ }, "typeName": { "baseType": { - "id": 2294, + "id": 2295, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2217:4:10", @@ -4993,11 +4993,11 @@ "typeString": "uint256" } }, - "id": 2296, + "id": 2297, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2295, + "id": 2296, "isConstant": false, "isLValue": false, "isPure": false, @@ -5024,10 +5024,10 @@ }, { "constant": false, - "id": 2299, + "id": 2300, "name": "orderQty", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2254:12:10", "stateVariable": false, "storageLocation": "default", @@ -5036,7 +5036,7 @@ "typeString": "int256" }, "typeName": { - "id": 2298, + "id": 2299, "name": "int", "nodeType": "ElementaryTypeName", "src": "2254:3:10", @@ -5053,15 +5053,15 @@ }, "payable": false, "returnParameters": { - "id": 2303, + "id": 2304, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2302, + "id": 2303, "name": "", "nodeType": "VariableDeclaration", - "scope": 2337, + "scope": 2338, "src": "2294:7:10", "stateVariable": false, "storageLocation": "default", @@ -5070,7 +5070,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2301, + "id": 2302, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2294:7:10", @@ -5085,7 +5085,7 @@ ], "src": "2293:9:10" }, - "scope": 2510, + "scope": 2511, "src": "2115:643:10", "stateMutability": "pure", "superFunction": null, @@ -5093,7 +5093,7 @@ }, { "body": { - "id": 2367, + "id": 2368, "nodeType": "Block", "src": "3188:188:10", "statements": [ @@ -5104,18 +5104,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2365, + "id": 2366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2352, + "id": 2353, "name": "signerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2339, + "referencedDeclaration": 2340, "src": "3205:13:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5136,7 +5136,7 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 2357, + "id": 2358, "isConstant": false, "isLValue": false, "isPure": true, @@ -5153,11 +5153,11 @@ }, { "argumentTypes": null, - "id": 2358, + "id": 2359, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, + "referencedDeclaration": 2342, "src": "3308:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5178,18 +5178,18 @@ ], "expression": { "argumentTypes": null, - "id": 2355, + "id": 2356, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5179, + "referencedDeclaration": 5180, "src": "3255:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2356, + "id": 2357, "isConstant": false, "isLValue": false, "isPure": true, @@ -5203,7 +5203,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 2359, + "id": 2360, "isConstant": false, "isLValue": false, "isPure": false, @@ -5225,18 +5225,18 @@ "typeString": "bytes memory" } ], - "id": 2354, + "id": 2355, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5186, + "referencedDeclaration": 5187, "src": "3245:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 2360, + "id": 2361, "isConstant": false, "isLValue": false, "isPure": false, @@ -5252,11 +5252,11 @@ }, { "argumentTypes": null, - "id": 2361, + "id": 2362, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2343, + "referencedDeclaration": 2344, "src": "3328:1:10", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -5265,11 +5265,11 @@ }, { "argumentTypes": null, - "id": 2362, + "id": 2363, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, + "referencedDeclaration": 2346, "src": "3343:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5278,11 +5278,11 @@ }, { "argumentTypes": null, - "id": 2363, + "id": 2364, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2347, + "referencedDeclaration": 2348, "src": "3358:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5309,18 +5309,18 @@ "typeString": "bytes32" } ], - "id": 2353, + "id": 2354, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5185, "src": "3222:9:10", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 2364, + "id": 2365, "isConstant": false, "isLValue": false, "isPure": false, @@ -5340,15 +5340,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 2351, - "id": 2366, + "functionReturnParameters": 2352, + "id": 2367, "nodeType": "Return", "src": "3198:171:10" } ] }, "documentation": "@notice confirms hash originated from signer\n @param signerAddress - address of order originator\n @param hash - original order hash\n @param v order signature\n @param r order signature\n @param s order signature", - "id": 2368, + "id": 2369, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -5356,15 +5356,15 @@ "name": "isValidSignature", "nodeType": "FunctionDefinition", "parameters": { - "id": 2348, + "id": 2349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2339, + "id": 2340, "name": "signerAddress", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3052:21:10", "stateVariable": false, "storageLocation": "default", @@ -5373,7 +5373,7 @@ "typeString": "address" }, "typeName": { - "id": 2338, + "id": 2339, "name": "address", "nodeType": "ElementaryTypeName", "src": "3052:7:10", @@ -5387,10 +5387,10 @@ }, { "constant": false, - "id": 2341, + "id": 2342, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3083:12:10", "stateVariable": false, "storageLocation": "default", @@ -5399,7 +5399,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2340, + "id": 2341, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3083:7:10", @@ -5413,10 +5413,10 @@ }, { "constant": false, - "id": 2343, + "id": 2344, "name": "v", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3105:7:10", "stateVariable": false, "storageLocation": "default", @@ -5425,7 +5425,7 @@ "typeString": "uint8" }, "typeName": { - "id": 2342, + "id": 2343, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3105:5:10", @@ -5439,10 +5439,10 @@ }, { "constant": false, - "id": 2345, + "id": 2346, "name": "r", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3122:9:10", "stateVariable": false, "storageLocation": "default", @@ -5451,7 +5451,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2344, + "id": 2345, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3122:7:10", @@ -5465,10 +5465,10 @@ }, { "constant": false, - "id": 2347, + "id": 2348, "name": "s", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3141:9:10", "stateVariable": false, "storageLocation": "default", @@ -5477,7 +5477,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2346, + "id": 2347, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3141:7:10", @@ -5494,15 +5494,15 @@ }, "payable": false, "returnParameters": { - "id": 2351, + "id": 2352, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2350, + "id": 2351, "name": "", "nodeType": "VariableDeclaration", - "scope": 2368, + "scope": 2369, "src": "3178:4:10", "stateVariable": false, "storageLocation": "default", @@ -5511,7 +5511,7 @@ "typeString": "bool" }, "typeName": { - "id": 2349, + "id": 2350, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3178:4:10", @@ -5526,7 +5526,7 @@ ], "src": "3177:6:10" }, - "scope": 2510, + "scope": 2511, "src": "3017:359:10", "stateMutability": "pure", "superFunction": null, @@ -5534,14 +5534,14 @@ }, { "body": { - "id": 2460, + "id": 2461, "nodeType": "Block", "src": "4038:558:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2391, + "id": 2392, "isConstant": false, "isLValue": false, "isPure": false, @@ -5550,25 +5550,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2385, + "id": 2386, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4048:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2387, + "id": 2388, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "maker", "nodeType": "MemberAccess", - "referencedDeclaration": 2249, + "referencedDeclaration": 2250, "src": "4048:11:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5581,22 +5581,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2388, + "id": 2389, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4062:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2390, + "id": 2391, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2389, + "id": 2390, "isConstant": false, "isLValue": false, "isPure": true, @@ -5628,14 +5628,14 @@ "typeString": "address" } }, - "id": 2392, + "id": 2393, "nodeType": "ExpressionStatement", "src": "4048:31:10" }, { "expression": { "argumentTypes": null, - "id": 2399, + "id": 2400, "isConstant": false, "isLValue": false, "isPure": false, @@ -5644,25 +5644,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2393, + "id": 2394, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4089:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2395, + "id": 2396, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "taker", "nodeType": "MemberAccess", - "referencedDeclaration": 2251, + "referencedDeclaration": 2252, "src": "4089:11:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5675,22 +5675,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2396, + "id": 2397, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4103:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2398, + "id": 2399, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2397, + "id": 2398, "isConstant": false, "isLValue": false, "isPure": true, @@ -5722,14 +5722,14 @@ "typeString": "address" } }, - "id": 2400, + "id": 2401, "nodeType": "ExpressionStatement", "src": "4089:31:10" }, { "expression": { "argumentTypes": null, - "id": 2407, + "id": 2408, "isConstant": false, "isLValue": false, "isPure": false, @@ -5738,25 +5738,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2401, + "id": 2402, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4130:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2403, + "id": 2404, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "feeRecipient", "nodeType": "MemberAccess", - "referencedDeclaration": 2253, + "referencedDeclaration": 2254, "src": "4130:18:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5769,22 +5769,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2404, + "id": 2405, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4151:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", "typeString": "address[3] memory" } }, - "id": 2406, + "id": 2407, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2405, + "id": 2406, "isConstant": false, "isLValue": false, "isPure": true, @@ -5816,14 +5816,14 @@ "typeString": "address" } }, - "id": 2408, + "id": 2409, "nodeType": "ExpressionStatement", "src": "4130:38:10" }, { "expression": { "argumentTypes": null, - "id": 2415, + "id": 2416, "isConstant": false, "isLValue": false, "isPure": false, @@ -5832,25 +5832,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2409, + "id": 2410, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4178:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2411, + "id": 2412, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "makerFee", "nodeType": "MemberAccess", - "referencedDeclaration": 2255, + "referencedDeclaration": 2256, "src": "4178:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5863,22 +5863,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2412, + "id": 2413, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4195:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2414, + "id": 2415, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2413, + "id": 2414, "isConstant": false, "isLValue": false, "isPure": true, @@ -5910,14 +5910,14 @@ "typeString": "uint256" } }, - "id": 2416, + "id": 2417, "nodeType": "ExpressionStatement", "src": "4178:39:10" }, { "expression": { "argumentTypes": null, - "id": 2423, + "id": 2424, "isConstant": false, "isLValue": false, "isPure": false, @@ -5926,25 +5926,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2417, + "id": 2418, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4227:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2419, + "id": 2420, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "takerFee", "nodeType": "MemberAccess", - "referencedDeclaration": 2257, + "referencedDeclaration": 2258, "src": "4227:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5957,22 +5957,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2420, + "id": 2421, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4244:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2422, + "id": 2423, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 2421, + "id": 2422, "isConstant": false, "isLValue": false, "isPure": true, @@ -6004,14 +6004,14 @@ "typeString": "uint256" } }, - "id": 2424, + "id": 2425, "nodeType": "ExpressionStatement", "src": "4227:39:10" }, { "expression": { "argumentTypes": null, - "id": 2431, + "id": 2432, "isConstant": false, "isLValue": false, "isPure": false, @@ -6020,25 +6020,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2425, + "id": 2426, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4276:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2427, + "id": 2428, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 2259, + "referencedDeclaration": 2260, "src": "4276:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6051,22 +6051,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2428, + "id": 2429, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4290:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2430, + "id": 2431, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2429, + "id": 2430, "isConstant": false, "isLValue": false, "isPure": true, @@ -6098,14 +6098,14 @@ "typeString": "uint256" } }, - "id": 2432, + "id": 2433, "nodeType": "ExpressionStatement", "src": "4276:36:10" }, { "expression": { "argumentTypes": null, - "id": 2439, + "id": 2440, "isConstant": false, "isLValue": false, "isPure": false, @@ -6114,25 +6114,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2433, + "id": 2434, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4322:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2435, + "id": 2436, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "expirationTimeStamp", "nodeType": "MemberAccess", - "referencedDeclaration": 2261, + "referencedDeclaration": 2262, "src": "4322:25:10", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6145,22 +6145,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2436, + "id": 2437, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4350:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", "typeString": "uint256[5] memory" } }, - "id": 2438, + "id": 2439, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 2437, + "id": 2438, "isConstant": false, "isLValue": false, "isPure": true, @@ -6192,14 +6192,14 @@ "typeString": "uint256" } }, - "id": 2440, + "id": 2441, "nodeType": "ExpressionStatement", "src": "4322:50:10" }, { "expression": { "argumentTypes": null, - "id": 2445, + "id": 2446, "isConstant": false, "isLValue": false, "isPure": false, @@ -6208,25 +6208,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2441, + "id": 2442, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4382:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2443, + "id": 2444, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "qty", "nodeType": "MemberAccess", - "referencedDeclaration": 2263, + "referencedDeclaration": 2264, "src": "4382:9:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6237,11 +6237,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2444, + "id": 2445, "name": "orderQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2381, "src": "4394:8:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6254,14 +6254,14 @@ "typeString": "int256" } }, - "id": 2446, + "id": 2447, "nodeType": "ExpressionStatement", "src": "4382:20:10" }, { "expression": { "argumentTypes": null, - "id": 2456, + "id": 2457, "isConstant": false, "isLValue": false, "isPure": false, @@ -6270,25 +6270,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2447, + "id": 2448, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4412:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "id": 2449, + "id": 2450, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "orderHash", "nodeType": "MemberAccess", - "referencedDeclaration": 2265, + "referencedDeclaration": 2266, "src": "4412:15:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6302,11 +6302,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2451, + "id": 2452, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2370, + "referencedDeclaration": 2371, "src": "4459:15:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6315,11 +6315,11 @@ }, { "argumentTypes": null, - "id": 2452, + "id": 2453, "name": "orderAddresses", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2375, "src": "4488:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$3_memory_ptr", @@ -6328,11 +6328,11 @@ }, { "argumentTypes": null, - "id": 2453, + "id": 2454, "name": "unsignedOrderValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2379, "src": "4516:19:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$5_memory_ptr", @@ -6341,11 +6341,11 @@ }, { "argumentTypes": null, - "id": 2454, + "id": 2455, "name": "orderQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2381, "src": "4549:8:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6372,18 +6372,18 @@ "typeString": "int256" } ], - "id": 2450, + "id": 2451, "name": "createOrderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2337, + "referencedDeclaration": 2338, "src": "4430:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_array$_t_address_$3_memory_ptr_$_t_array$_t_uint256_$5_memory_ptr_$_t_int256_$returns$_t_bytes32_$", "typeString": "function (address,address[3] memory,uint256[5] memory,int256) pure returns (bytes32)" } }, - "id": 2455, + "id": 2456, "isConstant": false, "isLValue": false, "isPure": false, @@ -6403,33 +6403,33 @@ "typeString": "bytes32" } }, - "id": 2457, + "id": 2458, "nodeType": "ExpressionStatement", "src": "4412:155:10" }, { "expression": { "argumentTypes": null, - "id": 2458, + "id": 2459, "name": "order", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2383, + "referencedDeclaration": 2384, "src": "4584:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order memory" } }, - "functionReturnParameters": 2384, - "id": 2459, + "functionReturnParameters": 2385, + "id": 2460, "nodeType": "Return", "src": "4577:12:10" } ] }, "documentation": "@dev factory for orders to be created with needed hash.\n @param contractAddress address of the calling contract, orders are unique to each contract\n @param orderAddresses array of 3 address. maker, taker, and feeRecipient\n @param unsignedOrderValues array of 5 unsigned integers. makerFee, takerFee, price, expirationTimeStamp and salt\n @param orderQty signed qty of the original order.", - "id": 2461, + "id": 2462, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6437,15 +6437,15 @@ "name": "createOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2381, + "id": 2382, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2370, + "id": 2371, "name": "contractAddress", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3874:23:10", "stateVariable": false, "storageLocation": "default", @@ -6454,7 +6454,7 @@ "typeString": "address" }, "typeName": { - "id": 2369, + "id": 2370, "name": "address", "nodeType": "ElementaryTypeName", "src": "3874:7:10", @@ -6468,10 +6468,10 @@ }, { "constant": false, - "id": 2374, + "id": 2375, "name": "orderAddresses", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3907:25:10", "stateVariable": false, "storageLocation": "default", @@ -6481,7 +6481,7 @@ }, "typeName": { "baseType": { - "id": 2371, + "id": 2372, "name": "address", "nodeType": "ElementaryTypeName", "src": "3907:7:10", @@ -6490,11 +6490,11 @@ "typeString": "address" } }, - "id": 2373, + "id": 2374, "length": { "argumentTypes": null, "hexValue": "33", - "id": 2372, + "id": 2373, "isConstant": false, "isLValue": false, "isPure": false, @@ -6521,10 +6521,10 @@ }, { "constant": false, - "id": 2378, + "id": 2379, "name": "unsignedOrderValues", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3942:27:10", "stateVariable": false, "storageLocation": "default", @@ -6534,7 +6534,7 @@ }, "typeName": { "baseType": { - "id": 2375, + "id": 2376, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3942:4:10", @@ -6543,11 +6543,11 @@ "typeString": "uint256" } }, - "id": 2377, + "id": 2378, "length": { "argumentTypes": null, "hexValue": "35", - "id": 2376, + "id": 2377, "isConstant": false, "isLValue": false, "isPure": false, @@ -6574,10 +6574,10 @@ }, { "constant": false, - "id": 2380, + "id": 2381, "name": "orderQty", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "3979:12:10", "stateVariable": false, "storageLocation": "default", @@ -6586,7 +6586,7 @@ "typeString": "int256" }, "typeName": { - "id": 2379, + "id": 2380, "name": "int", "nodeType": "ElementaryTypeName", "src": "3979:3:10", @@ -6603,31 +6603,31 @@ }, "payable": false, "returnParameters": { - "id": 2384, + "id": 2385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2383, + "id": 2384, "name": "order", "nodeType": "VariableDeclaration", - "scope": 2461, + "scope": 2462, "src": "4021:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_memory_ptr", + "typeIdentifier": "t_struct$_Order_$2267_memory_ptr", "typeString": "struct OrderLib.Order" }, "typeName": { "contractScope": null, - "id": 2382, + "id": 2383, "name": "Order", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2266, + "referencedDeclaration": 2267, "src": "4021:5:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2266_storage_ptr", + "typeIdentifier": "t_struct$_Order_$2267_storage_ptr", "typeString": "struct OrderLib.Order" } }, @@ -6637,7 +6637,7 @@ ], "src": "4020:13:10" }, - "scope": 2510, + "scope": 2511, "src": "3844:752:10", "stateMutability": "pure", "superFunction": null, @@ -6645,14 +6645,14 @@ }, { "body": { - "id": 2484, + "id": 2485, "nodeType": "Block", "src": "4902:95:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2482, + "id": 2483, "isConstant": false, "isLValue": false, "isPure": false, @@ -6663,39 +6663,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2470, + "id": 2471, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2463, + "referencedDeclaration": 2464, "src": "4912:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2473, + "id": 2474, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "filledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2242, + "referencedDeclaration": 2243, "src": "4912:19:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2474, + "id": 2475, "indexExpression": { "argumentTypes": null, - "id": 2472, + "id": 2473, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2465, + "referencedDeclaration": 2466, "src": "4932:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6720,11 +6720,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2480, + "id": 2481, "name": "filledQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, + "referencedDeclaration": 2468, "src": "4980:9:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -6745,39 +6745,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2475, + "id": 2476, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2463, + "referencedDeclaration": 2464, "src": "4945:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2476, + "id": 2477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "filledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2242, + "referencedDeclaration": 2243, "src": "4945:19:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2478, + "id": 2479, "indexExpression": { "argumentTypes": null, - "id": 2477, + "id": 2478, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2465, + "referencedDeclaration": 2466, "src": "4965:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6795,21 +6795,21 @@ "typeString": "int256" } }, - "id": 2479, + "id": 2480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "4945:34:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$bound_to$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2481, + "id": 2482, "isConstant": false, "isLValue": false, "isPure": false, @@ -6829,14 +6829,14 @@ "typeString": "int256" } }, - "id": 2483, + "id": 2484, "nodeType": "ExpressionStatement", "src": "4912:78:10" } ] }, "documentation": null, - "id": 2485, + "id": 2486, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6844,31 +6844,31 @@ "name": "addFilledQtyToOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2468, + "id": 2469, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2463, + "id": 2464, "name": "self", "nodeType": "VariableDeclaration", - "scope": 2485, + "scope": 2486, "src": "4831:26:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" }, "typeName": { "contractScope": null, - "id": 2462, + "id": 2463, "name": "OrderMappings", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2247, + "referencedDeclaration": 2248, "src": "4831:13:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" } }, @@ -6877,10 +6877,10 @@ }, { "constant": false, - "id": 2465, + "id": 2466, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2485, + "scope": 2486, "src": "4859:17:10", "stateVariable": false, "storageLocation": "default", @@ -6889,7 +6889,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2464, + "id": 2465, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4859:7:10", @@ -6903,10 +6903,10 @@ }, { "constant": false, - "id": 2467, + "id": 2468, "name": "filledQty", "nodeType": "VariableDeclaration", - "scope": 2485, + "scope": 2486, "src": "4878:13:10", "stateVariable": false, "storageLocation": "default", @@ -6915,7 +6915,7 @@ "typeString": "int256" }, "typeName": { - "id": 2466, + "id": 2467, "name": "int", "nodeType": "ElementaryTypeName", "src": "4878:3:10", @@ -6932,12 +6932,12 @@ }, "payable": false, "returnParameters": { - "id": 2469, + "id": 2470, "nodeType": "ParameterList", "parameters": [], "src": "4902:0:10" }, - "scope": 2510, + "scope": 2511, "src": "4802:195:10", "stateMutability": "nonpayable", "superFunction": null, @@ -6945,14 +6945,14 @@ }, { "body": { - "id": 2508, + "id": 2509, "nodeType": "Block", "src": "5297:104:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2506, + "id": 2507, "isConstant": false, "isLValue": false, "isPure": false, @@ -6963,39 +6963,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2494, + "id": 2495, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2487, + "referencedDeclaration": 2488, "src": "5307:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2497, + "id": 2498, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cancelledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2246, + "referencedDeclaration": 2247, "src": "5307:22:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2498, + "id": 2499, "indexExpression": { "argumentTypes": null, - "id": 2496, + "id": 2497, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2489, + "referencedDeclaration": 2490, "src": "5330:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -7020,11 +7020,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2504, + "id": 2505, "name": "cancelledQty", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2491, + "referencedDeclaration": 2492, "src": "5381:12:10", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -7045,39 +7045,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2499, + "id": 2500, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2487, + "referencedDeclaration": 2488, "src": "5343:4:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings storage pointer" } }, - "id": 2500, + "id": 2501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cancelledOrderQty", "nodeType": "MemberAccess", - "referencedDeclaration": 2246, + "referencedDeclaration": 2247, "src": "5343:22:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", "typeString": "mapping(bytes32 => int256)" } }, - "id": 2502, + "id": 2503, "indexExpression": { "argumentTypes": null, - "id": 2501, + "id": 2502, "name": "orderHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2489, + "referencedDeclaration": 2490, "src": "5366:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -7095,21 +7095,21 @@ "typeString": "int256" } }, - "id": 2503, + "id": 2504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2035, + "referencedDeclaration": 2036, "src": "5343:37:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_int256_$bound_to$_t_int256_$", "typeString": "function (int256,int256) pure returns (int256)" } }, - "id": 2505, + "id": 2506, "isConstant": false, "isLValue": false, "isPure": false, @@ -7129,14 +7129,14 @@ "typeString": "int256" } }, - "id": 2507, + "id": 2508, "nodeType": "ExpressionStatement", "src": "5307:87:10" } ] }, "documentation": null, - "id": 2509, + "id": 2510, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7144,31 +7144,31 @@ "name": "addCancelledQtyToOrder", "nodeType": "FunctionDefinition", "parameters": { - "id": 2492, + "id": 2493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2487, + "id": 2488, "name": "self", "nodeType": "VariableDeclaration", - "scope": 2509, + "scope": 2510, "src": "5223:26:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" }, "typeName": { "contractScope": null, - "id": 2486, + "id": 2487, "name": "OrderMappings", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2247, + "referencedDeclaration": 2248, "src": "5223:13:10", "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderMappings_$2247_storage_ptr", + "typeIdentifier": "t_struct$_OrderMappings_$2248_storage_ptr", "typeString": "struct OrderLib.OrderMappings" } }, @@ -7177,10 +7177,10 @@ }, { "constant": false, - "id": 2489, + "id": 2490, "name": "orderHash", "nodeType": "VariableDeclaration", - "scope": 2509, + "scope": 2510, "src": "5251:17:10", "stateVariable": false, "storageLocation": "default", @@ -7189,7 +7189,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2488, + "id": 2489, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5251:7:10", @@ -7203,10 +7203,10 @@ }, { "constant": false, - "id": 2491, + "id": 2492, "name": "cancelledQty", "nodeType": "VariableDeclaration", - "scope": 2509, + "scope": 2510, "src": "5270:16:10", "stateVariable": false, "storageLocation": "default", @@ -7215,7 +7215,7 @@ "typeString": "int256" }, "typeName": { - "id": 2490, + "id": 2491, "name": "int", "nodeType": "ElementaryTypeName", "src": "5270:3:10", @@ -7232,19 +7232,19 @@ }, "payable": false, "returnParameters": { - "id": 2493, + "id": 2494, "nodeType": "ParameterList", "parameters": [], "src": "5297:0:10" }, - "scope": 2510, + "scope": 2511, "src": "5191:210:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2511, + "scope": 2512, "src": "730:4673:10" } ], @@ -7258,10 +7258,10 @@ "4": { "events": {}, "links": {}, - "address": "0x5cfce3c76fa3528b87f27149c341b2add6904ea7", - "transactionHash": "0x3ed17e9dba624cfb6603d9038c08f45eb58bdad8650ee41975e5a0271c57d20f" + "address": "0x1cf1af7f3df9e9075796c7a6bf8d91c3398fe984", + "transactionHash": "0xe9dfc82fcc0b64845ca9a24529a268a6ae1eee7913ed59b80c285b30c5c975d9" } }, "schemaVersion": "2.0.1", - "updatedAt": "2018-09-07T18:28:49.227Z" + "updatedAt": "2018-10-05T14:03:26.623Z" } \ No newline at end of file diff --git a/migrations/2_deploy_contracts.js b/migrations/2_deploy_contracts.js index f8da8d4..9c33bc1 100644 --- a/migrations/2_deploy_contracts.js +++ b/migrations/2_deploy_contracts.js @@ -62,12 +62,6 @@ module.exports = function(deployer, network) { marketTokenAmountForContractCreation ) .then(function() { - // deploy collateral token and a fake wrapped ETH - - const daysToExpiration = 28; - const expirationDate = new Date(); - expirationDate.setDate(expirationDate.getDate() + daysToExpiration); - // deploy and set up main factory to create MARKET Protocol smart contracts. return MarketContractRegistry.deployed().then(function( marketContractRegistry diff --git a/package-lock.json b/package-lock.json index 69fa932..2de1502 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,13 @@ { "name": "@marketprotocol/abis", - "version": "0.0.1", + "version": "0.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { "@marketprotocol/marketprotocol": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@marketprotocol/marketprotocol/-/marketprotocol-1.3.0.tgz", - "integrity": "sha512-IelDQxvdYnfL993eNuUDxqTfjhc4NfzklDCVhpcRNQkCVQJz2agfY1dMoFYwloAI9kt9YKQmZsLy5QHqkvjiuA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@marketprotocol/marketprotocol/-/marketprotocol-1.3.1.tgz", + "integrity": "sha512-gxnEFyew7IISXdTvVcSuCM6p2exauOJ5q+TWk1/wuw0wFSB0kWxo5DIwuqqaUkOL7+74JVN8fJ4DU6a5rIL5qg==", "dev": true, "requires": { "openzeppelin-solidity": "1.9.0", @@ -228,7 +228,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -252,7 +252,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -279,7 +279,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -313,13 +313,13 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -358,8 +358,8 @@ "requires": { "hosted-git-info": "2.7.1", "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "semver": "5.5.1", + "validate-npm-package-license": "3.0.4" } }, "number-is-nan": { @@ -391,7 +391,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -503,9 +503,9 @@ } }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", "dev": true }, "set-blocking": { @@ -523,24 +523,24 @@ "fs-extra": "0.30.0", "memorystream": "0.3.1", "require-from-string": "1.2.1", - "semver": "5.5.0", + "semver": "5.5.1", "yargs": "4.8.1" } }, "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", + "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", "dev": true, "requires": { "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-license-ids": "3.0.1" } }, "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", "dev": true }, "spdx-expression-parse": { @@ -549,14 +549,14 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "2.2.0", + "spdx-license-ids": "3.0.1" } }, "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz", + "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", "dev": true }, "string-width": { @@ -572,7 +572,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -609,12 +609,12 @@ } }, "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { - "spdx-correct": "3.0.0", + "spdx-correct": "3.0.2", "spdx-expression-parse": "3.0.0" } }, @@ -632,7 +632,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -654,7 +654,7 @@ }, "yargs": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", "dev": true, "requires": { diff --git a/package.json b/package.json index 23c8846..a0ba779 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@marketprotocol/abis", - "version": "0.0.3", + "version": "0.0.4", "description": "MARKET Protocol truffle artifacts and ABIs", "main": "truffle-config.js", "scripts": { @@ -26,6 +26,6 @@ }, "homepage": "https://marketprotocol.io", "devDependencies": { - "@marketprotocol/marketprotocol": "^1.3.0" + "@marketprotocol/marketprotocol": "^1.3.1" } }