diff options
author | Leonid <logvinov.leon@gmail.com> | 2017-06-23 04:50:16 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-23 04:50:16 +0800 |
commit | e5785532ed1f4cada70db7815a44ffdd005077f5 (patch) | |
tree | da804f637b18b8589be98d81b34b26cbfc2b9032 | |
parent | bd9fa3d335afdd0cd8b573f60b3ce3c0db6ad4dd (diff) | |
parent | 49e43c98767666fcf457edfe2f3cbe098d12b6a5 (diff) | |
download | dexon-sol-tools-e5785532ed1f4cada70db7815a44ffdd005077f5.tar.gz dexon-sol-tools-e5785532ed1f4cada70db7815a44ffdd005077f5.tar.zst dexon-sol-tools-e5785532ed1f4cada70db7815a44ffdd005077f5.zip |
Merge branch 'master' into fill-order-amuont
-rw-r--r-- | package.json | 4 | ||||
-rw-r--r-- | src/0x.ts | 6 | ||||
-rw-r--r-- | src/artifacts/EtherToken.json | 57 | ||||
-rw-r--r-- | src/artifacts/Exchange.json | 320 | ||||
-rw-r--r-- | src/artifacts/Mintable.json | 4 | ||||
-rw-r--r-- | src/artifacts/Proxy.json | 47 | ||||
-rw-r--r-- | src/artifacts/Token.json | 4 | ||||
-rw-r--r-- | src/artifacts/TokenRegistry.json | 207 | ||||
-rw-r--r-- | src/contract_wrappers/contract_wrapper.ts | 15 | ||||
-rw-r--r-- | src/contract_wrappers/exchange_wrapper.ts | 49 | ||||
-rw-r--r-- | src/contract_wrappers/token_registry_wrapper.ts | 9 | ||||
-rw-r--r-- | src/contract_wrappers/token_wrapper.ts | 8 | ||||
-rw-r--r-- | src/types.ts | 4 | ||||
-rw-r--r-- | src/utils/assert.ts | 24 | ||||
-rw-r--r-- | src/utils/decorators.ts | 6 | ||||
-rw-r--r-- | src/utils/utils.ts | 9 | ||||
-rw-r--r-- | src/web3_wrapper.ts | 4 | ||||
-rw-r--r-- | test/0x.js_test.ts | 9 | ||||
-rw-r--r-- | test/schema_test.ts | 6 | ||||
-rw-r--r-- | test/token_registry_wrapper_test.ts | 4 | ||||
-rw-r--r-- | test/utils/order_factory.ts | 7 | ||||
-rw-r--r-- | test/utils/token_utils.ts | 10 |
22 files changed, 701 insertions, 112 deletions
diff --git a/package.json b/package.json index 329f033df..d26ec6791 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "prebuild": "npm run clean", "build": "run-p build:*:prod", "prepublish": "run-p build:umd:prod build:commonjs:dev", - "postpublish": "publish-release --assets _bundles/index.js,_bundles/index.min.js", + "postpublish": "run-s release docs:json upload_docs_json", + "release": "publish-release --assets _bundles/index.js,_bundles/index.min.js", + "upload_docs_json": "aws s3 cp docs/index.json s3://0xjs-docs-jsons/$(git describe --tags).json --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type aplication/json", "lint": "tslint src/*.ts test/*.ts", "test": "run-s clean test:commonjs", "test:umd": "./scripts/test_umd.sh", @@ -1,4 +1,4 @@ -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import {bigNumberConfigs} from './bignumber_config'; import * as ethUtil from 'ethereumjs-util'; @@ -239,10 +239,10 @@ export class ZeroEx { } private async _getExchangeAddressAsync() { const networkIdIfExists = await this._web3Wrapper.getNetworkIdIfExistsAsync(); - const exchangeNetworkConfigsIfExists = isUndefined(networkIdIfExists) ? + const exchangeNetworkConfigsIfExists = _.isUndefined(networkIdIfExists) ? undefined : (ExchangeArtifacts as any).networks[networkIdIfExists]; - if (isUndefined(exchangeNetworkConfigsIfExists)) { + if (_.isUndefined(exchangeNetworkConfigsIfExists)) { throw new Error(ZeroExError.CONTRACT_NOT_DEPLOYED_ON_NETWORK); } const exchangeAddress = exchangeNetworkConfigsIfExists.address; diff --git a/src/artifacts/EtherToken.json b/src/artifacts/EtherToken.json index 4a6ebad23..0307cb22c 100644 --- a/src/artifacts/EtherToken.json +++ b/src/artifacts/EtherToken.json @@ -229,8 +229,59 @@ "type": "event" } ], - "unlinked_binary": "0x606060405234610000575b61072d806100196000396000f300606060405236156100935763ffffffff60e060020a60003504166306fdde038114610098578063095ea7b31461012557806318160ddd1461015557806323b872dd146101745780632e1a7d4d146101aa578063313ce567146101bc57806370a08231146101df57806395d89b411461020a578063a9059cbb14610297578063d0e30db0146102c7578063dd62ed3e146102d1575b610000565b34610000576100a5610302565b6040805160208082528351818301528351919283929083019185019080838382156100eb575b8051825260208311156100eb57601f1990920191602091820191016100cb565b505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610141600160a060020a0360043516602435610339565b604080519115158252519081900360200190f35b34610000576101626103a4565b60408051918252519081900360200190f35b3461000057610141600160a060020a03600435811690602435166044356103aa565b604080519115158252519081900360200190f35b34610000576101ba6004356104a7565b005b34610000576101c9610527565b6040805160ff9092168252519081900360200190f35b3461000057610162600160a060020a036004351661052c565b60408051918252519081900360200190f35b34610000576100a561054b565b6040805160208082528351818301528351919283929083019185019080838382156100eb575b8051825260208311156100eb57601f1990920191602091820191016100cb565b505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610141600160a060020a0360043516602435610582565b604080519115158252519081900360200190f35b6101ba610634565b005b3461000057610162600160a060020a0360043581169060243516610683565b60408051918252519081900360200190f35b60408051808201909152600b81527f457468657220546f6b656e000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025481565b600160a060020a0383166000908152602081905260408120546103cd90836106b0565b600160a060020a03808616600090815260208181526040808320949094556001815283822033909316825291909152205461040890836106b0565b600160a060020a0380861660009081526001602090815260408083203385168452825280832094909455918616815290819052205461044790836106c9565b600160a060020a038085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b9392505050565b600160a060020a0333166000908152602081905260409020546104ca90826106b0565b600160a060020a0333166000908152602081905260409020556002546104f090826106b0565b600255604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561052357610000565b5b50565b601281565b600160a060020a0381166000908152602081905260409020545b919050565b60408051808201909152600481527f5745544800000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333166000908152602081905260408120546105a590836106b0565b600160a060020a0333811660009081526020819052604080822093909355908516815220546105d490836106c9565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b92915050565b600160a060020a03331660009081526020819052604090205461065790346106c9565b600160a060020a03331660009081526020819052604090205560025461067d90346106c9565b6002555b565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b60006106be838311156106f1565b508082035b92915050565b60008282016106e68482108015906106e15750838210155b6106f1565b8091505b5092915050565b80151561052357610000565b5b505600a165627a7a72305820dd221653234069427a90e77c21585b4e7c7f669edbf89a71a57b5bccb1ab42a50029", + "unlinked_binary": "0x606060405234610000575b61072d806100196000396000f300606060405236156100935763ffffffff60e060020a60003504166306fdde038114610098578063095ea7b31461012557806318160ddd1461015557806323b872dd146101745780632e1a7d4d146101aa578063313ce567146101bc57806370a08231146101df57806395d89b411461020a578063a9059cbb14610297578063d0e30db0146102c7578063dd62ed3e146102d1575b610000565b34610000576100a5610302565b6040805160208082528351818301528351919283929083019185019080838382156100eb575b8051825260208311156100eb57601f1990920191602091820191016100cb565b505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610141600160a060020a0360043516602435610339565b604080519115158252519081900360200190f35b34610000576101626103a4565b60408051918252519081900360200190f35b3461000057610141600160a060020a03600435811690602435166044356103aa565b604080519115158252519081900360200190f35b34610000576101ba6004356104a7565b005b34610000576101c9610527565b6040805160ff9092168252519081900360200190f35b3461000057610162600160a060020a036004351661052c565b60408051918252519081900360200190f35b34610000576100a561054b565b6040805160208082528351818301528351919283929083019185019080838382156100eb575b8051825260208311156100eb57601f1990920191602091820191016100cb565b505050905090810190601f1680156101175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610141600160a060020a0360043516602435610582565b604080519115158252519081900360200190f35b6101ba610634565b005b3461000057610162600160a060020a0360043581169060243516610683565b60408051918252519081900360200190f35b60408051808201909152600b81527f457468657220546f6b656e000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025481565b600160a060020a0383166000908152602081905260408120546103cd90836106b0565b600160a060020a03808616600090815260208181526040808320949094556001815283822033909316825291909152205461040890836106b0565b600160a060020a0380861660009081526001602090815260408083203385168452825280832094909455918616815290819052205461044790836106c9565b600160a060020a038085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b9392505050565b600160a060020a0333166000908152602081905260409020546104ca90826106b0565b600160a060020a0333166000908152602081905260409020556002546104f090826106b0565b600255604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561052357610000565b5b50565b601281565b600160a060020a0381166000908152602081905260409020545b919050565b60408051808201909152600481527f5745544800000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333166000908152602081905260408120546105a590836106b0565b600160a060020a0333811660009081526020819052604080822093909355908516815220546105d490836106c9565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b92915050565b600160a060020a03331660009081526020819052604090205461065790346106c9565b600160a060020a03331660009081526020819052604090205560025461067d90346106c9565b6002555b565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b60006106be838311156106f1565b508082035b92915050565b60008282016106e68482108015906106e15750838210155b6106f1565b8091505b5092915050565b80151561052357610000565b5b505600a165627a7a72305820c7cc457bf87c8b3047275eaa71935a1612af007e4bc77d832c588245805374480029", "networks": { + "42": { + "links": {}, + "events": { + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_owner", + "type": "address" + }, + { + "indexed": true, + "name": "_spender", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } + }, + "updated_at": 1496294576956, + "address": "0x771a1bff4a50b59407bee508e9934e8c10feac3e" + }, "50": { "links": {}, "events": { @@ -279,10 +330,10 @@ "type": "event" } }, - "updated_at": 1496427473670, + "updated_at": 1495030736786, "address": "0x48bacb9266a570d521063ef5dd96e61686dbe788" } }, "schema_version": "0.0.5", - "updated_at": 1496427473670 + "updated_at": 1496294576956 }
\ No newline at end of file diff --git a/src/artifacts/Exchange.json b/src/artifacts/Exchange.json index fc056f986..bcb8aece0 100644 --- a/src/artifacts/Exchange.json +++ b/src/artifacts/Exchange.json @@ -606,11 +606,172 @@ "type": "event" } ], - "unlinked_binary": "0x60606040523461000057604051604080611c698339810160405280516020909101515b60008054600160a060020a03808516600160a060020a03199283161790925560018054928416929091169190911790555b50505b611c04806100656000396000f300606060405236156100d55763ffffffff60e060020a60003504166308eb4e9881146100da57806314df96ee1461014a578063288cdc91146101745780632ac1262214610196578063441b1b44146101b857806350ec2a6a146101e057806359b257201461032a5780637ae2b5c7146104e95780638163681e1461050e578063909f617e1461054a578063914ff398146105d4578063a2e855a5146107ce578063a8c92d48146109c0578063aae62507146109e9578063cfc4d0ec14610a0b578063d40fa8bf14610a79578063ddefdb9014610aa2575b610000565b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505092359250610b27915050565b60408051918252519081900360200190f35b3461000057610160600435602435604435610e1c565b604080519115158252519081900360200190f35b3461000057610138600435610e3b565b60408051918252519081900360200190f35b3461000057610138600435610e4d565b60408051918252519081900360200190f35b3461000057610138600435602435604435610e5f565b60408051918252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610257576040805160a0818101909252908084028701906005908390839080828437505050918352505060019091019060200161021b565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156102ca576040805160c0818101909252908084028701906006908390839080828437505050918352505060019091019060200161028e565b50505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610e7e95505050505050565b604080519115158252519081900360200190f35b346100005761013860048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156103a1576040805160a08181019092529080840287019060059083908390808284375050509183525050600190910190602001610365565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610414576040805160c081810190925290808402870190600690839083908082843750505091835250506001909101906020016103d8565b5050604080516020878301358901803582810280850184019095528084529799893599838101351515999198506060019650929450810192829185019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750949650610ee995505050505050565b60408051918252519081900360200190f35b3461000057610138600435602435610ff2565b60408051918252519081900360200190f35b3461000057610160600160a060020a036004351660243560ff6044351660643560843561100c565b604080519115158252519081900360200190f35b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505083359360208101351515935060ff604082013516925060608101359150608001356110c1565b60408051918252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b8282101561064b576040805160a0818101909252908084028701906005908390839080828437505050918352505060019091019060200161060f565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156106be576040805160c08181019092529080840287019060069083908390808284375050509183525050600190910190602001610682565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808901358a01803580830284810184018652818552999b8b3515159b909a950198509296508101945090925082919085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061156295505050505050565b604080519115158252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610845576040805160a08181019092529080840287019060059083908390808284375050509183525050600190910190602001610809565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156108b8576040805160c0818101909252908084028701906006908390839080828437505050918352505060019091019060200161087c565b50505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061161195505050505050565b604080519115158252519081900360200190f35b34610000576109cd6116c5565b60408051600160a060020a039092168252519081900360200190f35b34610000576101386004356116d4565b60408051918252519081900360200190f35b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c0818101909252949695818101959450925060069150839083908082843750939550611700945050505050565b60408051918252519081900360200190f35b34610000576109cd6117ba565b60408051600160a060020a039092168252519081900360200190f35b34610000576040805160a08181019092526101609160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505083359360ff6020820135169350604081013592506060013590506117c9565b604080519115158252519081900360200190f35b604080516101608181018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083018190528351918201909352829080878360209081029190910151600160a060020a031682520187600160209081029190910151600160a060020a031682520187600260209081029190910151600160a060020a031682520187600360209081029190910151600160a060020a031682520187600460209081029190910151600160a060020a03168252018660006020908102919091015182520186600160209081029190910151825201866002602090810291909101518252018660036020908102919091015182520186600460200201518152602001610c5e8888611700565b600019168152509150610c8833600160a060020a03168360000151600160a060020a0316146117f3565b6101208201514210610cbd57610140820151604051600490600080516020611bb983398151915290600090a360009250610e13565b610cd88260c00151610cd38461014001516116d4565b611803565b9050610ce48482610ff2565b9250821515610d1657610140820151604051600590600080516020611bb983398151915290600090a360009250610e13565b610140820151600090815260036020526040902054610d35908461181c565b610140830151600090815260036020526040908190209190915580830180516060850180518451606060020a600160a060020a03948516810282529184169091026014820152935193849003602801909320608086015186519351945160c088015160a0890151939692851695909416937f67d66f160bc93d925d05dae1794c90d2d6d6688b29b84ff069398a9b0458713193610dd491908b90610e5f565b61014089015160408051600160a060020a03958616815293909416602084015282840191909152606082018a9052608082015290519081900360a00190a45b50509392505050565b60006103e882108015610e3157508383830915155b90505b9392505050565b60026020526000908152604090205481565b60036020526000908152604090205481565b6000610e31610e6e8484611844565b85611870565b90505b9392505050565b6000805b8451811015610edc57610ed2858281518110156100005790602001906020020151858381518110156100005790602001906020020151858481518110156100005790602001906020020151610b27565b505b600101610e82565b600191505b509392505050565b6000805b8851811015610fe557610f488960008151811015610000576020908102909101015160036020020151600160a060020a03168a83815181101561000057602090810291909101015160600151600160a060020a0316146117f3565b610fcd82610fc88b84815181101561000057906020019060200201518b8581518110156100005790602001906020020151610f838c88611803565b8b8b88815181101561000057906020019060200201518b89815181101561000057906020019060200201518b8a815181101561000057906020019060200201516110c1565b61181c565b915086821415610fdc57610fe5565b5b600101610eed565b5b50979650505050505050565b600081831015611003575081611006565b50805b92915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101869052815190819003603c018120600082815260208381018552928401819052835191825260ff8716828401528184018690526060820185905292516001926080808401939192601f198101928190039091019086866161da5a03f11561000057505060206040510351600160a060020a031686600160a060020a03161490505b95945050505050565b604080516101608181018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830181905260e0830181905261010083018190526101208301819052610140830181905283519182019093528290819081908190808e8360209081029190910151600160a060020a03168252018e600160209081029190910151600160a060020a03168252018e600260209081029190910151600160a060020a03168252018e600360209081029190910151600160a060020a03168252018e600460209081029190910151600160a060020a03168252018d6000602090810291909101518252018d6001602090810291909101518252018d6002602090810291909101518252018d6003602090810291909101518252018d6004602002015181526020016111fe8f8f611700565b9052602081015190955061123b90600160a060020a03161580611236575033600160a060020a03168660200151600160a060020a0316145b6117f3565b610120850151421061126f57610140850151604051600090600080516020611bb9833981519152908290a360009550611552565b61128a8560c00151610cd38761014001516116d4565b611803565b93506112968b85610ff2565b95508515156112c857610140850151604051600190600080516020611bb983398151915290600090a360009550611552565b6112db8560c00151878760a00151610e1c565b1561130957610140850151604051600290600080516020611bb983398151915290600090a360009550611552565b89801561131d575061131b85876118ad565b155b1561134b57610140850151604051600390600080516020611bb983398151915290600090a360009550611552565b61136961123686600001518761014001518c8c8c61100c565b6117f3565b61137c8560c00151878760a00151610e5f565b61014086015160009081526002602052604090205490935061139e908761181c565b610140860151600090815260026020526040908190209190915585015185516113d191611236913387611a16565b6117f3565b6113ed61123686606001513388600001518a611a16565b6117f3565b6080850151600160a060020a0316156114985760008560e00151111561144b576114208560c00151878760e00151610e5f565b6000548651608088015192945061144b9261123692600160a060020a0316919086611a16565b6117f3565b5b600085610100015111156114985761146e8560c0015187876101000151610e5f565b60005460808701519192506114989161123691600160a060020a031690339085611a16565b6117f3565b5b5b60408086018051606080890180518551606060020a600160a060020a0395861681028252918516909102601482015285519081900360280181206080808d01518d51975194516101408f0151338916865295881660208601528716848a01529483018b905282018d905260a0820189905260c0820188905260e08201929092529451909491831693909216917f0d0b9391970d9a25552f37d436d2aae2925e2bfe1b2a923754bada030c498cb3918190036101000190a45b5050505050979650505050505050565b6000805b8851811015611600576115f6898281518110156100005790602001906020020151898381518110156100005790602001906020020151898481518110156100005790602001906020020151898986815181101561000057906020019060200201518987815181101561000057906020019060200201518988815181101561000057906020019060200201516110c1565b505b600101611566565b600191505b50979650505050505050565b6000805b87518110156116b5576116ac6112368983815181101561000057906020019060200201518984815181101561000057906020019060200201518985815181101561000057906020019060200201518986815181101561000057906020019060200201518987815181101561000057906020019060200201518988815181101561000057906020019060200201516117c9565b6117f3565b5b600101611615565b600191505b509695505050505050565b600154600160a060020a031681565b60008181526002602090815260408083205460039092528220546116f8919061181c565b90505b919050565b81516020808401516040808601516060808801516080808a01518951978a01518a870151948b0151928b015160a08c01518851606060020a30600160a060020a03908116820283529d8e16810260148301529a8d168b026028820152978c168a02603c890152948b16890260508801529990911690960260648501526078840196909652609883019490945260b882015260d881019390935260f88301939093526101188201529051908190036101380190205b92915050565b600054600160a060020a031681565b60006117e5856117df89898960008a8a8a6110c1565b146117f3565b5060015b9695505050505050565b8015156117ff57610000565b5b50565b6000611811838311156117f3565b508082035b92915050565b60008282016118398482108015906112365750838210155b6117f3565b8091505b5092915050565b6000828202611839841580611236575083858381156100005704145b6117f3565b8091505b5092915050565b60006000611880600084116117f3565b82848115610000570490506118398385811561000057068285020185146117f3565b8091505b5092915050565b600060006000600060003393506118cd8760c00151878960a00151610e5f565b9250826118e288604001518960000151611ab4565b10806118fe5750826118fc88604001518960000151611b2d565b105b80611915575085611913886060015186611ab4565b105b8061192c57508561192a886060015186611b2d565b105b1561193a5760009450611a0c565b6080870151600160a060020a031615611a06576119608760c00151878960e00151610e5f565b91506119768760c0015187896101000151610e5f565b6000548851919250839161199391600160a060020a031690611ab4565b10806119b85750600054875183916119b691600160a060020a0390911690611b2d565b105b806119d8575060005481906119d690600160a060020a031686611ab4565b105b806119f8575060005481906119f690600160a060020a031686611b2d565b105b15611a065760009450611a0c565b5b600194505b5050505092915050565b600154604080516000602091820181905282517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a03898116600483015288811660248301528781166044830152606482018790529351919493909316926315dacbea92608480830193919282900301818787803b156100005760325a03f115610000575050604051519150505b949350505050565b600082600160a060020a03166370a08231836000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b92915050565b600154604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015294851660248201529251909386169263dd62ed3e92604480830193919282900301818787803b156100005760325a03f115610000575050604051519150505b92915050560036d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90a165627a7a72305820355fcfa11689af797006118faee351113e46c443b3e6d8fa4250be1e40e3db820029", + "unlinked_binary": "0x60606040523461000057604051604080611c698339810160405280516020909101515b60008054600160a060020a03808516600160a060020a03199283161790925560018054928416929091169190911790555b50505b611c04806100656000396000f300606060405236156100d55763ffffffff60e060020a60003504166308eb4e9881146100da57806314df96ee1461014a578063288cdc91146101745780632ac1262214610196578063441b1b44146101b857806350ec2a6a146101e057806359b257201461032a5780637ae2b5c7146104e95780638163681e1461050e578063909f617e1461054a578063914ff398146105d4578063a2e855a5146107ce578063a8c92d48146109c0578063aae62507146109e9578063cfc4d0ec14610a0b578063d40fa8bf14610a79578063ddefdb9014610aa2575b610000565b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505092359250610b27915050565b60408051918252519081900360200190f35b3461000057610160600435602435604435610e1c565b604080519115158252519081900360200190f35b3461000057610138600435610e3b565b60408051918252519081900360200190f35b3461000057610138600435610e4d565b60408051918252519081900360200190f35b3461000057610138600435602435604435610e5f565b60408051918252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610257576040805160a0818101909252908084028701906005908390839080828437505050918352505060019091019060200161021b565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156102ca576040805160c0818101909252908084028701906006908390839080828437505050918352505060019091019060200161028e565b50505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610e7e95505050505050565b604080519115158252519081900360200190f35b346100005761013860048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156103a1576040805160a08181019092529080840287019060059083908390808284375050509183525050600190910190602001610365565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610414576040805160c081810190925290808402870190600690839083908082843750505091835250506001909101906020016103d8565b5050604080516020878301358901803582810280850184019095528084529799893599838101351515999198506060019650929450810192829185019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750949650610ee995505050505050565b60408051918252519081900360200190f35b3461000057610138600435602435610ff2565b60408051918252519081900360200190f35b3461000057610160600160a060020a036004351660243560ff6044351660643560843561100c565b604080519115158252519081900360200190f35b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505083359360208101351515935060ff604082013516925060608101359150608001356110c1565b60408051918252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b8282101561064b576040805160a0818101909252908084028701906005908390839080828437505050918352505060019091019060200161060f565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156106be576040805160c08181019092529080840287019060069083908390808284375050509183525050600190910190602001610682565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808901358a01803580830284810184018652818552999b8b3515159b909a950198509296508101945090925082919085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061156295505050505050565b604080519115158252519081900360200190f35b346100005761016060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b82821015610845576040805160a08181019092529080840287019060059083908390808284375050509183525050600190910190602001610809565b5050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020016000905b828210156108b8576040805160c0818101909252908084028701906006908390839080828437505050918352505060019091019060200161087c565b50505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061161195505050505050565b604080519115158252519081900360200190f35b34610000576109cd6116c5565b60408051600160a060020a039092168252519081900360200190f35b34610000576101386004356116d4565b60408051918252519081900360200190f35b34610000576040805160a08181019092526101389160049160a4918390600590839083908082843750506040805160c0818101909252949695818101959450925060069150839083908082843750939550611700945050505050565b60408051918252519081900360200190f35b34610000576109cd6117ba565b60408051600160a060020a039092168252519081900360200190f35b34610000576040805160a08181019092526101609160049160a4918390600590839083908082843750506040805160c08181019092529496958181019594509250600691508390839080828437509395505083359360ff6020820135169350604081013592506060013590506117c9565b604080519115158252519081900360200190f35b604080516101608181018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083018190528351918201909352829080878360209081029190910151600160a060020a031682520187600160209081029190910151600160a060020a031682520187600260209081029190910151600160a060020a031682520187600360209081029190910151600160a060020a031682520187600460209081029190910151600160a060020a03168252018660006020908102919091015182520186600160209081029190910151825201866002602090810291909101518252018660036020908102919091015182520186600460200201518152602001610c5e8888611700565b600019168152509150610c8833600160a060020a03168360000151600160a060020a0316146117f3565b6101208201514210610cbd57610140820151604051600490600080516020611bb983398151915290600090a360009250610e13565b610cd88260c00151610cd38461014001516116d4565b611803565b9050610ce48482610ff2565b9250821515610d1657610140820151604051600590600080516020611bb983398151915290600090a360009250610e13565b610140820151600090815260036020526040902054610d35908461181c565b610140830151600090815260036020526040908190209190915580830180516060850180518451606060020a600160a060020a03948516810282529184169091026014820152935193849003602801909320608086015186519351945160c088015160a0890151939692851695909416937f67d66f160bc93d925d05dae1794c90d2d6d6688b29b84ff069398a9b0458713193610dd491908b90610e5f565b61014089015160408051600160a060020a03958616815293909416602084015282840191909152606082018a9052608082015290519081900360a00190a45b50509392505050565b60006103e882108015610e3157508383830915155b90505b9392505050565b60026020526000908152604090205481565b60036020526000908152604090205481565b6000610e31610e6e8484611844565b85611870565b90505b9392505050565b6000805b8451811015610edc57610ed2858281518110156100005790602001906020020151858381518110156100005790602001906020020151858481518110156100005790602001906020020151610b27565b505b600101610e82565b600191505b509392505050565b6000805b8851811015610fe557610f488960008151811015610000576020908102909101015160036020020151600160a060020a03168a83815181101561000057602090810291909101015160600151600160a060020a0316146117f3565b610fcd82610fc88b84815181101561000057906020019060200201518b8581518110156100005790602001906020020151610f838c88611803565b8b8b88815181101561000057906020019060200201518b89815181101561000057906020019060200201518b8a815181101561000057906020019060200201516110c1565b61181c565b915086821415610fdc57610fe5565b5b600101610eed565b5b50979650505050505050565b600081831015611003575081611006565b50805b92915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101869052815190819003603c018120600082815260208381018552928401819052835191825260ff8716828401528184018690526060820185905292516001926080808401939192601f198101928190039091019086866161da5a03f11561000057505060206040510351600160a060020a031686600160a060020a03161490505b95945050505050565b604080516101608181018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830181905260e0830181905261010083018190526101208301819052610140830181905283519182019093528290819081908190808e8360209081029190910151600160a060020a03168252018e600160209081029190910151600160a060020a03168252018e600260209081029190910151600160a060020a03168252018e600360209081029190910151600160a060020a03168252018e600460209081029190910151600160a060020a03168252018d6000602090810291909101518252018d6001602090810291909101518252018d6002602090810291909101518252018d6003602090810291909101518252018d6004602002015181526020016111fe8f8f611700565b9052602081015190955061123b90600160a060020a03161580611236575033600160a060020a03168660200151600160a060020a0316145b6117f3565b610120850151421061126f57610140850151604051600090600080516020611bb9833981519152908290a360009550611552565b61128a8560c00151610cd38761014001516116d4565b611803565b93506112968b85610ff2565b95508515156112c857610140850151604051600190600080516020611bb983398151915290600090a360009550611552565b6112db8560c00151878760a00151610e1c565b1561130957610140850151604051600290600080516020611bb983398151915290600090a360009550611552565b89801561131d575061131b85876118ad565b155b1561134b57610140850151604051600390600080516020611bb983398151915290600090a360009550611552565b61136961123686600001518761014001518c8c8c61100c565b6117f3565b61137c8560c00151878760a00151610e5f565b61014086015160009081526002602052604090205490935061139e908761181c565b610140860151600090815260026020526040908190209190915585015185516113d191611236913387611a16565b6117f3565b6113ed61123686606001513388600001518a611a16565b6117f3565b6080850151600160a060020a0316156114985760008560e00151111561144b576114208560c00151878760e00151610e5f565b6000548651608088015192945061144b9261123692600160a060020a0316919086611a16565b6117f3565b5b600085610100015111156114985761146e8560c0015187876101000151610e5f565b60005460808701519192506114989161123691600160a060020a031690339085611a16565b6117f3565b5b5b60408086018051606080890180518551606060020a600160a060020a0395861681028252918516909102601482015285519081900360280181206080808d01518d51975194516101408f0151338916865295881660208601528716848a01529483018b905282018d905260a0820189905260c0820188905260e08201929092529451909491831693909216917f0d0b9391970d9a25552f37d436d2aae2925e2bfe1b2a923754bada030c498cb3918190036101000190a45b5050505050979650505050505050565b6000805b8851811015611600576115f6898281518110156100005790602001906020020151898381518110156100005790602001906020020151898481518110156100005790602001906020020151898986815181101561000057906020019060200201518987815181101561000057906020019060200201518988815181101561000057906020019060200201516110c1565b505b600101611566565b600191505b50979650505050505050565b6000805b87518110156116b5576116ac6112368983815181101561000057906020019060200201518984815181101561000057906020019060200201518985815181101561000057906020019060200201518986815181101561000057906020019060200201518987815181101561000057906020019060200201518988815181101561000057906020019060200201516117c9565b6117f3565b5b600101611615565b600191505b509695505050505050565b600154600160a060020a031681565b60008181526002602090815260408083205460039092528220546116f8919061181c565b90505b919050565b81516020808401516040808601516060808801516080808a01518951978a01518a870151948b0151928b015160a08c01518851606060020a30600160a060020a03908116820283529d8e16810260148301529a8d168b026028820152978c168a02603c890152948b16890260508801529990911690960260648501526078840196909652609883019490945260b882015260d881019390935260f88301939093526101188201529051908190036101380190205b92915050565b600054600160a060020a031681565b60006117e5856117df89898960008a8a8a6110c1565b146117f3565b5060015b9695505050505050565b8015156117ff57610000565b5b50565b6000611811838311156117f3565b508082035b92915050565b60008282016118398482108015906112365750838210155b6117f3565b8091505b5092915050565b6000828202611839841580611236575083858381156100005704145b6117f3565b8091505b5092915050565b60006000611880600084116117f3565b82848115610000570490506118398385811561000057068285020185146117f3565b8091505b5092915050565b600060006000600060003393506118cd8760c00151878960a00151610e5f565b9250826118e288604001518960000151611ab4565b10806118fe5750826118fc88604001518960000151611b2d565b105b80611915575085611913886060015186611ab4565b105b8061192c57508561192a886060015186611b2d565b105b1561193a5760009450611a0c565b6080870151600160a060020a031615611a06576119608760c00151878960e00151610e5f565b91506119768760c0015187896101000151610e5f565b6000548851919250839161199391600160a060020a031690611ab4565b10806119b85750600054875183916119b691600160a060020a0390911690611b2d565b105b806119d8575060005481906119d690600160a060020a031686611ab4565b105b806119f8575060005481906119f690600160a060020a031686611b2d565b105b15611a065760009450611a0c565b5b600194505b5050505092915050565b600154604080516000602091820181905282517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a03898116600483015288811660248301528781166044830152606482018790529351919493909316926315dacbea92608480830193919282900301818787803b156100005760325a03f115610000575050604051519150505b949350505050565b600082600160a060020a03166370a08231836000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b92915050565b600154604080516000602091820181905282517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015294851660248201529251909386169263dd62ed3e92604480830193919282900301818787803b156100005760325a03f115610000575050604051519150505b92915050560036d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90a165627a7a72305820ef988e6a5f6297c52b9000648cdfb5dff80dddb6b40a41db8881b106f06edeb20029", "networks": { - "50": { + "42": { "links": {}, "events": { + "0xcf8bd4f6ec4f39997290cf18413805f1f190eebd60e32ffc174b56d07a355beb": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "maker", + "type": "address" + }, + { + "indexed": false, + "name": "taker", + "type": "address" + }, + { + "indexed": true, + "name": "feeRecipient", + "type": "address" + }, + { + "indexed": false, + "name": "tokenM", + "type": "address" + }, + { + "indexed": false, + "name": "tokenT", + "type": "address" + }, + { + "indexed": false, + "name": "filledBy", + "type": "address" + }, + { + "indexed": false, + "name": "valueM", + "type": "uint256" + }, + { + "indexed": false, + "name": "valueT", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeM", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeT", + "type": "uint256" + }, + { + "indexed": false, + "name": "expiration", + "type": "uint256" + }, + { + "indexed": false, + "name": "filledValueT", + "type": "uint256" + }, + { + "indexed": true, + "name": "tokens", + "type": "bytes32" + }, + { + "indexed": false, + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "LogFill", + "type": "event" + }, + "0x4565177cd5184f550db0ab57b1d5bc808f8e8ba0adcb13fb257f1e7cf019a2b6": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "maker", + "type": "address" + }, + { + "indexed": true, + "name": "feeRecipient", + "type": "address" + }, + { + "indexed": false, + "name": "tokenM", + "type": "address" + }, + { + "indexed": false, + "name": "tokenT", + "type": "address" + }, + { + "indexed": false, + "name": "valueM", + "type": "uint256" + }, + { + "indexed": false, + "name": "valueT", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeM", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeT", + "type": "uint256" + }, + { + "indexed": false, + "name": "expiration", + "type": "uint256" + }, + { + "indexed": false, + "name": "cancelledValueT", + "type": "uint256" + }, + { + "indexed": true, + "name": "tokens", + "type": "bytes32" + }, + { + "indexed": false, + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "LogCancel", + "type": "event" + }, + "0x36d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "errorId", + "type": "uint8" + }, + { + "indexed": true, + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "LogError", + "type": "event" + }, "0x0d0b9391970d9a25552f37d436d2aae2925e2bfe1b2a923754bada030c498cb3": { "anonymous": false, "inputs": [ @@ -719,6 +880,157 @@ ], "name": "LogCancel", "type": "event" + } + }, + "updated_at": 1496294576952, + "address": "0xed97b186ee3bae12a3fe6a9fb55300b5630a1b4c" + }, + "50": { + "links": {}, + "events": { + "0xcf8bd4f6ec4f39997290cf18413805f1f190eebd60e32ffc174b56d07a355beb": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "maker", + "type": "address" + }, + { + "indexed": false, + "name": "taker", + "type": "address" + }, + { + "indexed": true, + "name": "feeRecipient", + "type": "address" + }, + { + "indexed": false, + "name": "tokenM", + "type": "address" + }, + { + "indexed": false, + "name": "tokenT", + "type": "address" + }, + { + "indexed": false, + "name": "filledBy", + "type": "address" + }, + { + "indexed": false, + "name": "valueM", + "type": "uint256" + }, + { + "indexed": false, + "name": "valueT", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeM", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeT", + "type": "uint256" + }, + { + "indexed": false, + "name": "expiration", + "type": "uint256" + }, + { + "indexed": false, + "name": "filledValueT", + "type": "uint256" + }, + { + "indexed": true, + "name": "tokens", + "type": "bytes32" + }, + { + "indexed": false, + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "LogFill", + "type": "event" + }, + "0x4565177cd5184f550db0ab57b1d5bc808f8e8ba0adcb13fb257f1e7cf019a2b6": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "maker", + "type": "address" + }, + { + "indexed": true, + "name": "feeRecipient", + "type": "address" + }, + { + "indexed": false, + "name": "tokenM", + "type": "address" + }, + { + "indexed": false, + "name": "tokenT", + "type": "address" + }, + { + "indexed": false, + "name": "valueM", + "type": "uint256" + }, + { + "indexed": false, + "name": "valueT", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeM", + "type": "uint256" + }, + { + "indexed": false, + "name": "feeT", + "type": "uint256" + }, + { + "indexed": false, + "name": "expiration", + "type": "uint256" + }, + { + "indexed": false, + "name": "cancelledValueT", + "type": "uint256" + }, + { + "indexed": true, + "name": "tokens", + "type": "bytes32" + }, + { + "indexed": false, + "name": "orderHash", + "type": "bytes32" + } + ], + "name": "LogCancel", + "type": "event" }, "0x36d86c59e00bd73dc19ba3adfe068e4b64ac7e92be35546adeddf1b956a87e90": { "anonymous": false, @@ -738,10 +1050,10 @@ "type": "event" } }, - "updated_at": 1496427473669, + "updated_at": 1495030736784, "address": "0xb69e673309512a9d726f87304c6984054f87a93b" } }, "schema_version": "0.0.5", - "updated_at": 1496427473669 + "updated_at": 1496294576952 }
\ No newline at end of file diff --git a/src/artifacts/Mintable.json b/src/artifacts/Mintable.json index f538935da..eed87f498 100644 --- a/src/artifacts/Mintable.json +++ b/src/artifacts/Mintable.json @@ -182,8 +182,8 @@ "type": "event" } ], - "unlinked_binary": "0x606060405234610000575b6104e7806100196000396000f300606060405236156100675763ffffffff60e060020a600035041663095ea7b3811461006c57806318160ddd1461009c57806323b872dd146100bb57806370a08231146100f1578063a0712d681461011c578063a9059cbb1461012e578063dd62ed3e1461015e575b610000565b3461000057610088600160a060020a036004351660243561018f565b604080519115158252519081900360200190f35b34610000576100a96101fa565b60408051918252519081900360200190f35b3461000057610088600160a060020a0360043581169060243516604435610200565b604080519115158252519081900360200190f35b34610000576100a9600160a060020a036004351661030d565b60408051918252519081900360200190f35b346100005761012c60043561032c565b005b3461000057610088600160a060020a0360043516602435610393565b604080519115158252519081900360200190f35b34610000576100a9600160a060020a0360043581169060243516610456565b60408051918252519081900360200190f35b600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025481565b600160a060020a0383166000908152602081905260408120548290108015906102505750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b80156102755750600160a060020a038316600090815260208190526040902054828101115b1561030157600160a060020a0380841660008181526020818152604080832080548801905588851680845281842080548990039055600183528184203390961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001610305565b5060005b5b9392505050565b600160a060020a0381166000908152602081905260409020545b919050565b68056bc75e2d6310000081111561034257610000565b600160a060020a033316600090815260208190526040902054610366908290610483565b600160a060020a03331660009081526020819052604090205560025461038c9082610483565b6002555b50565b600160a060020a0333166000908152602081905260408120548290108015906103d55750600160a060020a038316600090815260208190526040902054828101115b1561044757600160a060020a0333811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060016101f4565b5060006101f4565b5b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b60008282016104a084821080159061049b5750838210155b6104ab565b8091505b5092915050565b80151561039057610000565b5b505600a165627a7a72305820ee38e175a277bbcf215259201687857177c3da8e0da65470b4f7c1eb1c95a21a0029", + "unlinked_binary": "0x606060405234610000575b6104e7806100196000396000f300606060405236156100675763ffffffff60e060020a600035041663095ea7b3811461006c57806318160ddd1461009c57806323b872dd146100bb57806370a08231146100f1578063a0712d681461011c578063a9059cbb1461012e578063dd62ed3e1461015e575b610000565b3461000057610088600160a060020a036004351660243561018f565b604080519115158252519081900360200190f35b34610000576100a96101fa565b60408051918252519081900360200190f35b3461000057610088600160a060020a0360043581169060243516604435610200565b604080519115158252519081900360200190f35b34610000576100a9600160a060020a036004351661030d565b60408051918252519081900360200190f35b346100005761012c60043561032c565b005b3461000057610088600160a060020a0360043516602435610393565b604080519115158252519081900360200190f35b34610000576100a9600160a060020a0360043581169060243516610456565b60408051918252519081900360200190f35b600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025481565b600160a060020a0383166000908152602081905260408120548290108015906102505750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b80156102755750600160a060020a038316600090815260208190526040902054828101115b1561030157600160a060020a0380841660008181526020818152604080832080548801905588851680845281842080548990039055600183528184203390961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001610305565b5060005b5b9392505050565b600160a060020a0381166000908152602081905260409020545b919050565b68056bc75e2d6310000081111561034257610000565b600160a060020a033316600090815260208190526040902054610366908290610483565b600160a060020a03331660009081526020819052604090205560025461038c9082610483565b6002555b50565b600160a060020a0333166000908152602081905260408120548290108015906103d55750600160a060020a038316600090815260208190526040902054828101115b1561044757600160a060020a0333811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060016101f4565b5060006101f4565b5b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b60008282016104a084821080159061049b5750838210155b6104ab565b8091505b5092915050565b80151561039057610000565b5b505600a165627a7a723058204789b7d0fd9aae8d16b771c1b12c5863cfa8aaef739d2d811f91e447ee450bce0029", "networks": {}, "schema_version": "0.0.5", - "updated_at": 1496427420920 + "updated_at": 1496294434244 }
\ No newline at end of file diff --git a/src/artifacts/Proxy.json b/src/artifacts/Proxy.json index 564b1cc61..e7d4ba714 100644 --- a/src/artifacts/Proxy.json +++ b/src/artifacts/Proxy.json @@ -177,8 +177,49 @@ "type": "event" } ], - "unlinked_binary": "0x60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610701806100316000396000f300606060405236156100725763ffffffff60e060020a60003504166315dacbea811461007757806342f1181e146100b3578063494503d4146100e0578063707129391461010c5780638da5cb5b14610139578063b918161114610162578063d39de6e91461018f578063f2fde38b146101f7575b610000565b346100005761009f600160a060020a0360043581169060243581169060443516606435610212565b604080519115158252519081900360200190f35b346100005761009f600160a060020a03600435166102d8565b604080519115158252519081900360200190f35b34610000576100f06004356103f5565b60408051600160a060020a039092168252519081900360200190f35b346100005761009f600160a060020a0360043516610425565b604080519115158252519081900360200190f35b34610000576100f06105ee565b60408051600160a060020a039092168252519081900360200190f35b346100005761009f600160a060020a03600435166105fd565b604080519115158252519081900360200190f35b346100005761019c610612565b60408051602080825283518183015283519192839290830191858101910280838382156101e4575b8051825260208311156101e457601f1990920191602091820191016101c4565b5050509050019250505060405180910390f35b3461000057610210600160a060020a036004351661067d565b005b600160a060020a03331660009081526001602052604081205460ff16151561023957610000565b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301528781166024830152604482018790529351938916936323b872dd9360648084019491938390030190829087803b156100005760325a03f11561000057505060405151151590506102cb57610000565b5060015b5b949350505050565b6000805433600160a060020a039081169116146102f457610000565b600160a060020a038216600090815260016020526040902054829060ff161561031c57610000565b600160a060020a0383166000908152600160208190526040909120805460ff191682179055600280549182018082559091908281838015829011610385576000838152602090206103859181019083015b80821115610381576000815560010161036d565b5090565b5b505050916000526020600020900160005b81546101009190910a600160a060020a0381810219909216878316918202179092556040513390911692507f94bb87f4c15c4587ff559a7584006fa01ddf9299359be6b512b94527aa961aca90600090a3600191505b5b505b919050565b600281815481101561000057906000526020600020900160005b915054906101000a9004600160a060020a031681565b60008054819033600160a060020a0390811691161461044357610000565b600160a060020a038316600090815260016020526040902054839060ff16151561046c57610000565b600160a060020a0384166000908152600160205260408120805460ff1916905591505b6002548210156105a75783600160a060020a0316600283815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316141561059b576002805460001981019081101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600283815481101561000057906000526020600020900160005b6101000a815481600160a060020a030219169083600160a060020a031602179055506001600281818054905003915081815481835581811511610591576000838152602090206105919181019083015b80821115610381576000815560010161036d565b5090565b5b505050506105a7565b5b60019091019061048f565b604051600160a060020a0333811691908616907ff5b347a1e40749dd050f5f07fbdbeb7e3efa9756903044dd29401fd1d4bb4a1c90600090a3600192505b5b505b50919050565b600054600160a060020a031681565b60016020526000908152604090205460ff1681565b60408051602081810183526000825260028054845181840281018401909552808552929392909183018282801561067257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610654575b505050505090505b90565b60005433600160a060020a0390811691161461069857610000565b600160a060020a038116156106d0576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a72305820f2ffcbe9ff4a73a57b4b40b848879fd6fd1de0cb036195f9541c0a579d2a8b8a0029", + "unlinked_binary": "0x60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610701806100316000396000f300606060405236156100725763ffffffff60e060020a60003504166315dacbea811461007757806342f1181e146100b3578063494503d4146100e0578063707129391461010c5780638da5cb5b14610139578063b918161114610162578063d39de6e91461018f578063f2fde38b146101f7575b610000565b346100005761009f600160a060020a0360043581169060243581169060443516606435610212565b604080519115158252519081900360200190f35b346100005761009f600160a060020a03600435166102d8565b604080519115158252519081900360200190f35b34610000576100f06004356103f5565b60408051600160a060020a039092168252519081900360200190f35b346100005761009f600160a060020a0360043516610425565b604080519115158252519081900360200190f35b34610000576100f06105ee565b60408051600160a060020a039092168252519081900360200190f35b346100005761009f600160a060020a03600435166105fd565b604080519115158252519081900360200190f35b346100005761019c610612565b60408051602080825283518183015283519192839290830191858101910280838382156101e4575b8051825260208311156101e457601f1990920191602091820191016101c4565b5050509050019250505060405180910390f35b3461000057610210600160a060020a036004351661067d565b005b600160a060020a03331660009081526001602052604081205460ff16151561023957610000565b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301528781166024830152604482018790529351938916936323b872dd9360648084019491938390030190829087803b156100005760325a03f11561000057505060405151151590506102cb57610000565b5060015b5b949350505050565b6000805433600160a060020a039081169116146102f457610000565b600160a060020a038216600090815260016020526040902054829060ff161561031c57610000565b600160a060020a0383166000908152600160208190526040909120805460ff191682179055600280549182018082559091908281838015829011610385576000838152602090206103859181019083015b80821115610381576000815560010161036d565b5090565b5b505050916000526020600020900160005b81546101009190910a600160a060020a0381810219909216878316918202179092556040513390911692507f94bb87f4c15c4587ff559a7584006fa01ddf9299359be6b512b94527aa961aca90600090a3600191505b5b505b919050565b600281815481101561000057906000526020600020900160005b915054906101000a9004600160a060020a031681565b60008054819033600160a060020a0390811691161461044357610000565b600160a060020a038316600090815260016020526040902054839060ff16151561046c57610000565b600160a060020a0384166000908152600160205260408120805460ff1916905591505b6002548210156105a75783600160a060020a0316600283815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316141561059b576002805460001981019081101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600283815481101561000057906000526020600020900160005b6101000a815481600160a060020a030219169083600160a060020a031602179055506001600281818054905003915081815481835581811511610591576000838152602090206105919181019083015b80821115610381576000815560010161036d565b5090565b5b505050506105a7565b5b60019091019061048f565b604051600160a060020a0333811691908616907ff5b347a1e40749dd050f5f07fbdbeb7e3efa9756903044dd29401fd1d4bb4a1c90600090a3600192505b5b505b50919050565b600054600160a060020a031681565b60016020526000908152604090205460ff1681565b60408051602081810183526000825260028054845181840281018401909552808552929392909183018282801561067257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610654575b505050505090505b90565b60005433600160a060020a0390811691161461069857610000565b600160a060020a038116156106d0576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a72305820e094d2460f9f11db4e36cf6e7af1eb1f6fb883275fea375d814c23e81802753b0029", "networks": { + "42": { + "links": {}, + "events": { + "0x94bb87f4c15c4587ff559a7584006fa01ddf9299359be6b512b94527aa961aca": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "target", + "type": "address" + }, + { + "indexed": true, + "name": "caller", + "type": "address" + } + ], + "name": "LogAuthorizedAddressAdded", + "type": "event" + }, + "0xf5b347a1e40749dd050f5f07fbdbeb7e3efa9756903044dd29401fd1d4bb4a1c": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "target", + "type": "address" + }, + { + "indexed": true, + "name": "caller", + "type": "address" + } + ], + "name": "LogAuthorizedAddressRemoved", + "type": "event" + } + }, + "updated_at": 1496294576942, + "address": "0x946a1c437fb5a61bd5c95416346e684c802c5d2a" + }, "50": { "links": {}, "events": { @@ -217,10 +258,10 @@ "type": "event" } }, - "updated_at": 1496427473664, + "updated_at": 1495030736781, "address": "0x871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c" } }, "schema_version": "0.0.5", - "updated_at": 1496427473664 + "updated_at": 1496294576942 }
\ No newline at end of file diff --git a/src/artifacts/Token.json b/src/artifacts/Token.json index 1f7159975..4894f5be5 100644 --- a/src/artifacts/Token.json +++ b/src/artifacts/Token.json @@ -169,8 +169,8 @@ "type": "event" } ], - "unlinked_binary": "0x606060405234610000575b6101d1806100196000396000f3006060604052361561005c5763ffffffff60e060020a600035041663095ea7b3811461006157806318160ddd1461009157806323b872dd146100b057806370a08231146100e6578063a9059cbb14610061578063dd62ed3e14610141575b610000565b346100005761007d600160a060020a0360043516602435610172565b604080519115158252519081900360200190f35b346100005761009e61017b565b60408051918252519081900360200190f35b346100005761007d600160a060020a0360043581169060243516604435610181565b604080519115158252519081900360200190f35b346100005761009e600160a060020a036004351661018b565b60408051918252519081900360200190f35b346100005761007d600160a060020a0360043516602435610172565b604080519115158252519081900360200190f35b346100005761009e600160a060020a0360043581169060243516610172565b60408051918252519081900360200190f35b60005b92915050565b60005b90565b60005b9392505050565b60005b919050565b60005b92915050565b60005b929150505600a165627a7a7230582091fa49296e1416a21d33862878c9ba9a9f7db53c284ddea5857ea6eb7f5c1d180029", + "unlinked_binary": "0x606060405234610000575b6101d1806100196000396000f3006060604052361561005c5763ffffffff60e060020a600035041663095ea7b3811461006157806318160ddd1461009157806323b872dd146100b057806370a08231146100e6578063a9059cbb14610061578063dd62ed3e14610141575b610000565b346100005761007d600160a060020a0360043516602435610172565b604080519115158252519081900360200190f35b346100005761009e61017b565b60408051918252519081900360200190f35b346100005761007d600160a060020a0360043581169060243516604435610181565b604080519115158252519081900360200190f35b346100005761009e600160a060020a036004351661018b565b60408051918252519081900360200190f35b346100005761007d600160a060020a0360043516602435610172565b604080519115158252519081900360200190f35b346100005761009e600160a060020a0360043581169060243516610172565b60408051918252519081900360200190f35b60005b92915050565b60005b90565b60005b9392505050565b60005b919050565b60005b92915050565b60005b929150505600a165627a7a7230582041bf388c3189085f6807945974edea68192611a83cc2920536293b220d1e7fcb0029", "networks": {}, "schema_version": "0.0.5", - "updated_at": 1496427420921 + "updated_at": 1496294434247 }
\ No newline at end of file diff --git a/src/artifacts/TokenRegistry.json b/src/artifacts/TokenRegistry.json index 8de7ee682..ef039b85c 100644 --- a/src/artifacts/TokenRegistry.json +++ b/src/artifacts/TokenRegistry.json @@ -592,8 +592,209 @@ "type": "event" } ], - "unlinked_binary": "0x60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b6128d2806100316000396000f300606060405236156100d55763ffffffff60e060020a6000350416632fbfeba981146100da57806334ed557f146101495780633550b6d9146101675780635fa7b584146101d65780637abccac9146101f15780638da5cb5b1461039f57806391914b30146103c85780639a84d0c414610427578063c370c86d14610510578063e48603391461056f578063e5df8b8414610732578063e73fc0c31461075e578063eaabd05e14610946578063ee8c24b814610964578063efa74f1f146109cc578063f036417f14610bb4578063f2fde38b14610c13575b610000565b346100005761012d600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650610c2e95505050505050565b60408051600160a060020a039092168252519081900360200190f35b3461000057610165600160a060020a0360043516602435610ca1565b005b346100005761012d600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650610d5295505050505050565b60408051600160a060020a039092168252519081900360200190f35b3461000057610165600160a060020a0360043516610dc5565b005b346100005761020a600160a060020a036004351661139e565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e060208083018281528a5192840192909252895192939192918401916060850191610100860191908c01908083838215610287575b80518252602083111561028757601f199092019160209182019101610267565b505050905090810190601f1680156102b35780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b019080838382156102f2575b8051825260208311156102f257601f1990920191602091820191016102d2565b505050905090810190601f16801561031e5780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a0190808383821561035d575b80518252602083111561035d57601f19909201916020918201910161033d565b505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b346100005761012d611661565b60408051600160a060020a039092168252519081900360200190f35b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a0316959394604494939290920191819084018382808284375094965061167095505050505050565b005b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a0316959394604494939290920191819084018382808284375050604080516020601f89358b0180359182018390048302840183019094528083529799988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979998810197919650918201945092508291508401838280828437509496505060ff853516946020810135945060400135925061189e915050565b005b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a03169593946044949392909201918190840183828082843750949650611ebe95505050505050565b005b3461000057610588600160a060020a03600435166121f7565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e06020820181815289546002610100600183161581026000190190921604928401839052929390929084019160608501918501908b9080156106335780601f1061060857610100808354040283529160200191610633565b820191906000526020600020905b81548152906001019060200180831161061657829003601f168201915b505084810383528954600260001961010060018416150201909116048082526020909101908a9080156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b505084810382528854600260001961010060018416150201909116048082526020909101908990801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b50509a505050505050505050505060405180910390f35b346100005761012d60043561223b565b60408051600160a060020a039092168252519081900360200190f35b346100005761020a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061226b95505050505050565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e060208083018281528a5192840192909252895192939192918401916060850191610100860191908c01908083838215610287575b80518252602083111561028757601f199092019160209182019101610267565b505050905090810190601f1680156102b35780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b019080838382156102f2575b8051825260208311156102f257601f1990920191602091820191016102d2565b505050905090810190601f16801561031e5780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a0190808383821561035d575b80518252602083111561035d57601f19909201916020918201910161033d565b505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3461000057610165600160a060020a0360043516602435612339565b005b34610000576109716123ea565b60408051602080825283518183015283519192839290830191858101910280838382156109b9575b8051825260208311156109b957601f199092019160209182019101610999565b5050509050019250505060405180910390f35b346100005761020a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061245595505050505050565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e060208083018281528a5192840192909252895192939192918401916060850191610100860191908c01908083838215610287575b80518252602083111561028757601f199092019160209182019101610267565b505050905090810190601f1680156102b35780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b019080838382156102f2575b8051825260208311156102f257601f1990920191602091820191016102d2565b505050905090810190601f16801561031e5780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a0190808383821561035d575b80518252602083111561035d57601f19909201916020918201910161033d565b505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a0316959394604494939290920191819084018382808284375094965061252395505050505050565b005b3461000057610165600160a060020a036004351661285b565b005b60006003826040518082805190602001908083835b60208310610c625780518252601f199092019160209182019101610c43565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925050505b919050565b6000805433600160a060020a03908116911614610cbd57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a038416600081815260016020908152604091829020600581015483519485529184019190915282820186905290519093507fe46a8f26cfc48c12e40cf50c1063e5913b2a17da6aa396f9b008b2dfd6f273b59181900360600190a1600582018390555b5b5b505b505050565b60006002826040518082805190602001908083835b60208310610c625780518252601f199092019160209182019101610c43565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925050505b919050565b60008054819033600160a060020a03908116911614610de357610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600092505b600454831015610f225783600160a060020a0316600484815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a03161415610f16576004805460001981019081101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600484815481101561000057906000526020600020900160005b6101000a815481600160a060020a030219169083600160a060020a031602179055506001600481818054905003915081815481835581811511610f0c57600083815260209020610f0c9181019083015b80821115610f085760008155600101610ef4565b5090565b5b50505050610f22565b5b600190920191610e0a565b600160a060020a03808516600090815260016020818152604092839020805460048201546005830154600684015487519390981680845260ff9092166080840181905260a0840182905260c0840189905260e09584018681528588018054600299811615610100908102600019019091168a9004988701899052969c507fc9ec69d3b744b4ec70f035ed0a15ed7029e668bfb9f326e657878b2b38a90da29a949990988d019760038e0197939694959493918401916060850191908501908b90801561102f5780601f106110045761010080835404028352916020019161102f565b820191906000526020600020905b81548152906001019060200180831161101257829003601f168201915b505084810383528954600260001961010060018416150201909116048082526020909101908a9080156110a35780601f10611078576101008083540402835291602001916110a3565b820191906000526020600020905b81548152906001019060200180831161108657829003601f168201915b50508481038252885460026000196101006001841615020190911604808252602090910190899080156111175780601f106110ec57610100808354040283529160200191611117565b820191906000526020600020905b8154815290600101906020018083116110fa57829003601f168201915b50509a505050505050505050505060405180910390a1600282600201604051808280546001816001161561010002031660029004801561118e5780601f1061116c57610100808354040283529182019161118e565b820191906000526020600020905b81548152906001019060200180831161117a575b5050915050908152602001604051809103902060006101000a815490600160a060020a03021916905560038260010160405180828054600181600116156101000203166002900480156112185780601f106111f6576101008083540402835291820191611218565b820191906000526020600020905b815481529060010190602001808311611204575b50509283525050604080519182900360209081019092208054600160a060020a0319908116909155600160a060020a03871660009081526001938490529182208054909116815580830180548382559193909160029181161561010002600019011604601f81901061128a57506112bc565b601f0160209004906000526020600020908101906112bc91905b80821115610f085760008155600101610ef4565b5090565b5b5060028201805460018160011615610100020316600290046000825580601f106112e75750611319565b601f01602090049060005260206000209081019061131991905b80821115610f085760008155600101610ef4565b5090565b5b5060038201805460018160011615610100020316600290046000825580601f106113445750611376565b601f01602090049060005260206000209081019061137691905b80821115610f085760008155600101610ef4565b5090565b5b505060048101805460ff191690556000600582018190556006909101555b5b5b505b505050565b604080516020818101835260008083528351808301855281815284518084018652828152855160e08181018852848252875180870189528581528287015287518087018952858152828901528751808701895285815260608301526080820185905260a0820185905260c08201859052600160a060020a03898116865260018088528987208a519384018b528054909216835281810180548b51601f6002948316156101000260001901909216939093049081018a90048a0283018a01909b528a82529699959794968a968796879695949385820193909290918301828280156114c95780601f1061149e576101008083540402835291602001916114c9565b820191906000526020600020905b8154815290600101906020018083116114ac57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f8101839004830285018301909152808452938101939083018282801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156115ef5780601f106115c4576101008083540402835291602001916115ef565b820191906000526020600020905b8154815290600101906020018083116115d257829003601f168201915b5050509183525050600482015460ff1660208083019190915260058301546040808401919091526006909301546060928301528351908401519284015191840151608085015160a086015160c0870151939e50949c50929a509850909650909450925090505b50919395979092949650565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461168c57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a03841660008181526001602081815260409283902083519485526060918501828152600382018054600295811615610100026000190116949094049286018390529096507f6b45310c970f5d74814e429bdacd69c748dcb086cd38b6ddb7c2029be609e16894899489939192919083019060808401908690801561177a5780601f1061174f5761010080835404028352916020019161177a565b820191906000526020600020905b81548152906001019060200180831161175d57829003601f168201915b5050838103825284518152845160209182019186019080838382156117ba575b8051825260208311156117ba57601f19909201916020918201910161179a565b505050905090810190601f1680156117e65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a182826003019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b506118929291505b80821115610f085760008155600101610ef4565b5090565b50505b5b5b505b505050565b60005433600160a060020a039081169116146118b957610000565b600160a060020a038088166000908152600160205260409020548891161515611eb1576040805160e081018252600160a060020a03808b1680835260208084018c81528486018c9052606085018b905260ff8a16608086015260a0850189905260c0850188905260009283526001808352958320855181549516600160a060020a0319909516949094178455518051848701805481865294849020969795969095601f600291871615610100026000190190961604850184900481019491939092019083901061199457805160ff19168380011785556119c1565b828001600101855582156119c1579182015b828111156119c15782518255916020019190600101906119a6565b5b506119e29291505b80821115610f085760008155600101610ef4565b5090565b50506040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a3657805160ff1916838001178555611a63565b82800160010185558215611a63579182015b82811115611a63578251825591602001919060010190611a48565b5b50611a849291505b80821115610f085760008155600101610ef4565b5090565b50506060820151816003019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ad857805160ff1916838001178555611b05565b82800160010185558215611b05579182015b82811115611b05578251825591602001919060010190611aea565b5b50611b269291505b80821115610f085760008155600101610ef4565b5090565b505060808201516004828101805460ff191660ff9093169290921790915560a0830151600583015560c0909201516006909101558054600181018083558281838015829011611b9a57600083815260209020611b9a9181019083015b80821115610f085760008155600101610ef4565b5090565b5b505050916000526020600020900160005b8a909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050876002876040518082805190602001908083835b60208310611c075780518252601f199092019160209182019101611be8565b51815160209384036101000a600019018019909216911617905292019485525060405193849003810184208054600160a060020a031916600160a060020a039690961695909517909455505088518a926003928b9290918291908401908083835b60208310611c875780518252601f199092019160209182019101611c68565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a815481600160a060020a030219169083600160a060020a031602179055507f469f18a43061267ac6162ca1cec0c14a425189c7a19f52d6dc04419f3c12bb24888888888888886040518088600160a060020a0316600160a060020a031681526020018060200180602001806020018760ff1660ff1681526020018660001916600019168152602001856000191660001916815260200184810384528a818151815260200191508051906020019080838360008314611d99575b805182526020831115611d9957601f199092019160209182019101611d79565b505050905090810190601f168015611dc55780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b01908083838215611e04575b805182526020831115611e0457601f199092019160209182019101611de4565b505050905090810190601f168015611e305780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a01908083838215611e6f575b805182526020831115611e6f57601f199092019160209182019101611e4f565b505050905090810190601f168015611e9b5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390a15b5b5b505b50505050505050565b6000805433600160a060020a03908116911614611eda57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a038416600081815260016020818152604092839020835194855260609185018281528184018054600295811615610100026000190116949094049286018390529096507f4a6dbfc867b179991dec22ff19960f0a94d8d9d891fc556f547764670340e8ae948994899391929190830190608084019086908015611fc75780601f10611f9c57610100808354040283529160200191611fc7565b820191906000526020600020905b815481529060010190602001808311611faa57829003601f168201915b505083810382528451815284516020918201918601908083838215612007575b80518252602083111561200757601f199092019160209182019101611fe7565b505050905090810190601f1680156120335780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160038260010160405180828054600181600116156101000203166002900480156120a45780601f106120825761010080835404028352918201916120a4565b820191906000526020600020905b815481529060010190602001808311612090575b5050928352505060405190819003602090810182208054600160a060020a031916905584518692600392879282918401908083835b602083106120f85780518252601f1990920191602091820191016120d9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a815481600160a060020a030219169083600160a060020a0316021790555082826001019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b506118929291505b80821115610f085760008155600101610ef4565b5090565b50505b5b5b505b505050565b60016020819052600091825260409091208054600482015460058301546006840154600160a060020a0390931694840193600281019360039091019260ff16919087565b600481815481101561000057906000526020600020900160005b915054906101000a9004600160a060020a031681565b600060206040519081016040528060008152506020604051908101604052806000815250602060405190810160405280600081525060006000600060006003896040518082805190602001908083835b602083106122da5780518252601f1990920191602091820191016122bb565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925061231e915082905061139e565b97509750975097509750975097505b50919395979092949650565b6000805433600160a060020a0390811691161461235557610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a038416600081815260016020908152604091829020600681015483519485529184019190915282820186905290519093507fa9fd216856477e73d11c1a9140fa3d425fce2e10a5475a996440b31c2e8f1ea49181900360600190a1600682018390555b5b5b505b505050565b60408051602081810183526000825260048054845181840281018401909552808552929392909183018282801561244a57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161242c575b505050505090505b90565b600060206040519081016040528060008152506020604051908101604052806000815250602060405190810160405280600081525060006000600060006002896040518082805190602001908083835b602083106122da5780518252601f1990920191602091820191016122bb565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925061231e915082905061139e565b97509750975097509750975097505b50919395979092949650565b6000805433600160a060020a0390811691161461253f57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a0384166000818152600160208181526040928390208351948552606091850182815260028083018054958616156101000260001901909516049286018390529096507f53d878a6530e56c9bc96548fa0a8cae4f1d1f49c86b0e934c086b992ebb6998f94899489939192919083019060808401908690801561262b5780601f106126005761010080835404028352916020019161262b565b820191906000526020600020905b81548152906001019060200180831161260e57829003601f168201915b50508381038252845181528451602091820191860190808383821561266b575b80518252602083111561266b57601f19909201916020918201910161264b565b505050905090810190601f1680156126975780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160028260020160405180828054600181600116156101000203166002900480156127085780601f106126e6576101008083540402835291820191612708565b820191906000526020600020905b8154815290600101906020018083116126f4575b5050928352505060405190819003602090810182208054600160a060020a031916905584518692600292879282918401908083835b6020831061275c5780518252601f19909201916020918201910161273d565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a815481600160a060020a030219169083600160a060020a0316021790555082826002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b506118929291505b80821115610f085760008155600101610ef4565b5090565b50505b5b5b505b505050565b60005433600160a060020a0390811691161461287657610000565b600160a060020a038116156128a15760008054600160a060020a031916600160a060020a0383161790555b5b5b505600a165627a7a72305820e6715ac66a3dc0c93eab8d2b9b020269a004a4768e6403c280aa11fa683e53a30029", + "unlinked_binary": "0x60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b6128d2806100316000396000f300606060405236156100d55763ffffffff60e060020a6000350416632fbfeba981146100da57806334ed557f146101495780633550b6d9146101675780635fa7b584146101d65780637abccac9146101f15780638da5cb5b1461039f57806391914b30146103c85780639a84d0c414610427578063c370c86d14610510578063e48603391461056f578063e5df8b8414610732578063e73fc0c31461075e578063eaabd05e14610946578063ee8c24b814610964578063efa74f1f146109cc578063f036417f14610bb4578063f2fde38b14610c13575b610000565b346100005761012d600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650610c2e95505050505050565b60408051600160a060020a039092168252519081900360200190f35b3461000057610165600160a060020a0360043516602435610ca1565b005b346100005761012d600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650610d5295505050505050565b60408051600160a060020a039092168252519081900360200190f35b3461000057610165600160a060020a0360043516610dc5565b005b346100005761020a600160a060020a036004351661139e565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e060208083018281528a5192840192909252895192939192918401916060850191610100860191908c01908083838215610287575b80518252602083111561028757601f199092019160209182019101610267565b505050905090810190601f1680156102b35780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b019080838382156102f2575b8051825260208311156102f257601f1990920191602091820191016102d2565b505050905090810190601f16801561031e5780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a0190808383821561035d575b80518252602083111561035d57601f19909201916020918201910161033d565b505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b346100005761012d611661565b60408051600160a060020a039092168252519081900360200190f35b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a0316959394604494939290920191819084018382808284375094965061167095505050505050565b005b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a0316959394604494939290920191819084018382808284375050604080516020601f89358b0180359182018390048302840183019094528083529799988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979998810197919650918201945092508291508401838280828437509496505060ff853516946020810135945060400135925061189e915050565b005b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a03169593946044949392909201918190840183828082843750949650611ebe95505050505050565b005b3461000057610588600160a060020a03600435166121f7565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e06020820181815289546002610100600183161581026000190190921604928401839052929390929084019160608501918501908b9080156106335780601f1061060857610100808354040283529160200191610633565b820191906000526020600020905b81548152906001019060200180831161061657829003601f168201915b505084810383528954600260001961010060018416150201909116048082526020909101908a9080156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b505084810382528854600260001961010060018416150201909116048082526020909101908990801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b50509a505050505050505050505060405180910390f35b346100005761012d60043561223b565b60408051600160a060020a039092168252519081900360200190f35b346100005761020a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061226b95505050505050565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e060208083018281528a5192840192909252895192939192918401916060850191610100860191908c01908083838215610287575b80518252602083111561028757601f199092019160209182019101610267565b505050905090810190601f1680156102b35780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b019080838382156102f2575b8051825260208311156102f257601f1990920191602091820191016102d2565b505050905090810190601f16801561031e5780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a0190808383821561035d575b80518252602083111561035d57601f19909201916020918201910161033d565b505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3461000057610165600160a060020a0360043516602435612339565b005b34610000576109716123ea565b60408051602080825283518183015283519192839290830191858101910280838382156109b9575b8051825260208311156109b957601f199092019160209182019101610999565b5050509050019250505060405180910390f35b346100005761020a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375094965061245595505050505050565b60408051600160a060020a038916815260ff8516608082015260a0810184905260c0810183905260e060208083018281528a5192840192909252895192939192918401916060850191610100860191908c01908083838215610287575b80518252602083111561028757601f199092019160209182019101610267565b505050905090810190601f1680156102b35780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b019080838382156102f2575b8051825260208311156102f257601f1990920191602091820191016102d2565b505050905090810190601f16801561031e5780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a0190808383821561035d575b80518252602083111561035d57601f19909201916020918201910161033d565b505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610165958335600160a060020a0316959394604494939290920191819084018382808284375094965061252395505050505050565b005b3461000057610165600160a060020a036004351661285b565b005b60006003826040518082805190602001908083835b60208310610c625780518252601f199092019160209182019101610c43565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925050505b919050565b6000805433600160a060020a03908116911614610cbd57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a038416600081815260016020908152604091829020600581015483519485529184019190915282820186905290519093507fe46a8f26cfc48c12e40cf50c1063e5913b2a17da6aa396f9b008b2dfd6f273b59181900360600190a1600582018390555b5b5b505b505050565b60006002826040518082805190602001908083835b60208310610c625780518252601f199092019160209182019101610c43565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925050505b919050565b60008054819033600160a060020a03908116911614610de357610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600092505b600454831015610f225783600160a060020a0316600484815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a03161415610f16576004805460001981019081101561000057906000526020600020900160005b9054906101000a9004600160a060020a0316600484815481101561000057906000526020600020900160005b6101000a815481600160a060020a030219169083600160a060020a031602179055506001600481818054905003915081815481835581811511610f0c57600083815260209020610f0c9181019083015b80821115610f085760008155600101610ef4565b5090565b5b50505050610f22565b5b600190920191610e0a565b600160a060020a03808516600090815260016020818152604092839020805460048201546005830154600684015487519390981680845260ff9092166080840181905260a0840182905260c0840189905260e09584018681528588018054600299811615610100908102600019019091168a9004988701899052969c507fc9ec69d3b744b4ec70f035ed0a15ed7029e668bfb9f326e657878b2b38a90da29a949990988d019760038e0197939694959493918401916060850191908501908b90801561102f5780601f106110045761010080835404028352916020019161102f565b820191906000526020600020905b81548152906001019060200180831161101257829003601f168201915b505084810383528954600260001961010060018416150201909116048082526020909101908a9080156110a35780601f10611078576101008083540402835291602001916110a3565b820191906000526020600020905b81548152906001019060200180831161108657829003601f168201915b50508481038252885460026000196101006001841615020190911604808252602090910190899080156111175780601f106110ec57610100808354040283529160200191611117565b820191906000526020600020905b8154815290600101906020018083116110fa57829003601f168201915b50509a505050505050505050505060405180910390a1600282600201604051808280546001816001161561010002031660029004801561118e5780601f1061116c57610100808354040283529182019161118e565b820191906000526020600020905b81548152906001019060200180831161117a575b5050915050908152602001604051809103902060006101000a815490600160a060020a03021916905560038260010160405180828054600181600116156101000203166002900480156112185780601f106111f6576101008083540402835291820191611218565b820191906000526020600020905b815481529060010190602001808311611204575b50509283525050604080519182900360209081019092208054600160a060020a0319908116909155600160a060020a03871660009081526001938490529182208054909116815580830180548382559193909160029181161561010002600019011604601f81901061128a57506112bc565b601f0160209004906000526020600020908101906112bc91905b80821115610f085760008155600101610ef4565b5090565b5b5060028201805460018160011615610100020316600290046000825580601f106112e75750611319565b601f01602090049060005260206000209081019061131991905b80821115610f085760008155600101610ef4565b5090565b5b5060038201805460018160011615610100020316600290046000825580601f106113445750611376565b601f01602090049060005260206000209081019061137691905b80821115610f085760008155600101610ef4565b5090565b5b505060048101805460ff191690556000600582018190556006909101555b5b5b505b505050565b604080516020818101835260008083528351808301855281815284518084018652828152855160e08181018852848252875180870189528581528287015287518087018952858152828901528751808701895285815260608301526080820185905260a0820185905260c08201859052600160a060020a03898116865260018088528987208a519384018b528054909216835281810180548b51601f6002948316156101000260001901909216939093049081018a90048a0283018a01909b528a82529699959794968a968796879695949385820193909290918301828280156114c95780601f1061149e576101008083540402835291602001916114c9565b820191906000526020600020905b8154815290600101906020018083116114ac57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f8101839004830285018301909152808452938101939083018282801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156115ef5780601f106115c4576101008083540402835291602001916115ef565b820191906000526020600020905b8154815290600101906020018083116115d257829003601f168201915b5050509183525050600482015460ff1660208083019190915260058301546040808401919091526006909301546060928301528351908401519284015191840151608085015160a086015160c0870151939e50949c50929a509850909650909450925090505b50919395979092949650565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461168c57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a03841660008181526001602081815260409283902083519485526060918501828152600382018054600295811615610100026000190116949094049286018390529096507f6b45310c970f5d74814e429bdacd69c748dcb086cd38b6ddb7c2029be609e16894899489939192919083019060808401908690801561177a5780601f1061174f5761010080835404028352916020019161177a565b820191906000526020600020905b81548152906001019060200180831161175d57829003601f168201915b5050838103825284518152845160209182019186019080838382156117ba575b8051825260208311156117ba57601f19909201916020918201910161179a565b505050905090810190601f1680156117e65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a182826003019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b506118929291505b80821115610f085760008155600101610ef4565b5090565b50505b5b5b505b505050565b60005433600160a060020a039081169116146118b957610000565b600160a060020a038088166000908152600160205260409020548891161515611eb1576040805160e081018252600160a060020a03808b1680835260208084018c81528486018c9052606085018b905260ff8a16608086015260a0850189905260c0850188905260009283526001808352958320855181549516600160a060020a0319909516949094178455518051848701805481865294849020969795969095601f600291871615610100026000190190961604850184900481019491939092019083901061199457805160ff19168380011785556119c1565b828001600101855582156119c1579182015b828111156119c15782518255916020019190600101906119a6565b5b506119e29291505b80821115610f085760008155600101610ef4565b5090565b50506040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a3657805160ff1916838001178555611a63565b82800160010185558215611a63579182015b82811115611a63578251825591602001919060010190611a48565b5b50611a849291505b80821115610f085760008155600101610ef4565b5090565b50506060820151816003019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ad857805160ff1916838001178555611b05565b82800160010185558215611b05579182015b82811115611b05578251825591602001919060010190611aea565b5b50611b269291505b80821115610f085760008155600101610ef4565b5090565b505060808201516004828101805460ff191660ff9093169290921790915560a0830151600583015560c0909201516006909101558054600181018083558281838015829011611b9a57600083815260209020611b9a9181019083015b80821115610f085760008155600101610ef4565b5090565b5b505050916000526020600020900160005b8a909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050876002876040518082805190602001908083835b60208310611c075780518252601f199092019160209182019101611be8565b51815160209384036101000a600019018019909216911617905292019485525060405193849003810184208054600160a060020a031916600160a060020a039690961695909517909455505088518a926003928b9290918291908401908083835b60208310611c875780518252601f199092019160209182019101611c68565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a815481600160a060020a030219169083600160a060020a031602179055507f469f18a43061267ac6162ca1cec0c14a425189c7a19f52d6dc04419f3c12bb24888888888888886040518088600160a060020a0316600160a060020a031681526020018060200180602001806020018760ff1660ff1681526020018660001916600019168152602001856000191660001916815260200184810384528a818151815260200191508051906020019080838360008314611d99575b805182526020831115611d9957601f199092019160209182019101611d79565b505050905090810190601f168015611dc55780820380516001836020036101000a031916815260200191505b5084810383528951815289516020918201918b01908083838215611e04575b805182526020831115611e0457601f199092019160209182019101611de4565b505050905090810190601f168015611e305780820380516001836020036101000a031916815260200191505b5084810382528851815288516020918201918a01908083838215611e6f575b805182526020831115611e6f57601f199092019160209182019101611e4f565b505050905090810190601f168015611e9b5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390a15b5b5b505b50505050505050565b6000805433600160a060020a03908116911614611eda57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a038416600081815260016020818152604092839020835194855260609185018281528184018054600295811615610100026000190116949094049286018390529096507f4a6dbfc867b179991dec22ff19960f0a94d8d9d891fc556f547764670340e8ae948994899391929190830190608084019086908015611fc75780601f10611f9c57610100808354040283529160200191611fc7565b820191906000526020600020905b815481529060010190602001808311611faa57829003601f168201915b505083810382528451815284516020918201918601908083838215612007575b80518252602083111561200757601f199092019160209182019101611fe7565b505050905090810190601f1680156120335780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160038260010160405180828054600181600116156101000203166002900480156120a45780601f106120825761010080835404028352918201916120a4565b820191906000526020600020905b815481529060010190602001808311612090575b5050928352505060405190819003602090810182208054600160a060020a031916905584518692600392879282918401908083835b602083106120f85780518252601f1990920191602091820191016120d9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a815481600160a060020a030219169083600160a060020a0316021790555082826001019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b506118929291505b80821115610f085760008155600101610ef4565b5090565b50505b5b5b505b505050565b60016020819052600091825260409091208054600482015460058301546006840154600160a060020a0390931694840193600281019360039091019260ff16919087565b600481815481101561000057906000526020600020900160005b915054906101000a9004600160a060020a031681565b600060206040519081016040528060008152506020604051908101604052806000815250602060405190810160405280600081525060006000600060006003896040518082805190602001908083835b602083106122da5780518252601f1990920191602091820191016122bb565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925061231e915082905061139e565b97509750975097509750975097505b50919395979092949650565b6000805433600160a060020a0390811691161461235557610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a038416600081815260016020908152604091829020600681015483519485529184019190915282820186905290519093507fa9fd216856477e73d11c1a9140fa3d425fce2e10a5475a996440b31c2e8f1ea49181900360600190a1600682018390555b5b5b505b505050565b60408051602081810183526000825260048054845181840281018401909552808552929392909183018282801561244a57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161242c575b505050505090505b90565b600060206040519081016040528060008152506020604051908101604052806000815250602060405190810160405280600081525060006000600060006002896040518082805190602001908083835b602083106122da5780518252601f1990920191602091820191016122bb565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316925061231e915082905061139e565b97509750975097509750975097505b50919395979092949650565b6000805433600160a060020a0390811691161461253f57610000565b600160a060020a0380841660009081526001602052604090205484911615610d4957600160a060020a0384166000818152600160208181526040928390208351948552606091850182815260028083018054958616156101000260001901909516049286018390529096507f53d878a6530e56c9bc96548fa0a8cae4f1d1f49c86b0e934c086b992ebb6998f94899489939192919083019060808401908690801561262b5780601f106126005761010080835404028352916020019161262b565b820191906000526020600020905b81548152906001019060200180831161260e57829003601f168201915b50508381038252845181528451602091820191860190808383821561266b575b80518252602083111561266b57601f19909201916020918201910161264b565b505050905090810190601f1680156126975780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160028260020160405180828054600181600116156101000203166002900480156127085780601f106126e6576101008083540402835291820191612708565b820191906000526020600020905b8154815290600101906020018083116126f4575b5050928352505060405190819003602090810182208054600160a060020a031916905584518692600292879282918401908083835b6020831061275c5780518252601f19909201916020918201910161273d565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a815481600160a060020a030219169083600160a060020a0316021790555082826002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061184457805160ff1916838001178555611871565b82800160010185558215611871579182015b82811115611871578251825591602001919060010190611856565b5b506118929291505b80821115610f085760008155600101610ef4565b5090565b50505b5b5b505b505050565b60005433600160a060020a0390811691161461287657610000565b600160a060020a038116156128a15760008054600160a060020a031916600160a060020a0383161790555b5b5b505600a165627a7a72305820ab391667fa2dd2ca38e4cb647adeb6c84564055a1511891be49c5f0ab676e98e0029", "networks": { + "42": { + "links": {}, + "events": { + "0x469f18a43061267ac6162ca1cec0c14a425189c7a19f52d6dc04419f3c12bb24": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "name": "url", + "type": "string" + }, + { + "indexed": false, + "name": "decimals", + "type": "uint8" + }, + { + "indexed": false, + "name": "ipfsHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "swarmHash", + "type": "bytes32" + } + ], + "name": "LogAddToken", + "type": "event" + }, + "0xc9ec69d3b744b4ec70f035ed0a15ed7029e668bfb9f326e657878b2b38a90da2": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "name": "url", + "type": "string" + }, + { + "indexed": false, + "name": "decimals", + "type": "uint8" + }, + { + "indexed": false, + "name": "ipfsHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "swarmHash", + "type": "bytes32" + } + ], + "name": "LogRemoveToken", + "type": "event" + }, + "0x4a6dbfc867b179991dec22ff19960f0a94d8d9d891fc556f547764670340e8ae": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "oldName", + "type": "string" + }, + { + "indexed": false, + "name": "newName", + "type": "string" + } + ], + "name": "LogTokenNameChange", + "type": "event" + }, + "0x53d878a6530e56c9bc96548fa0a8cae4f1d1f49c86b0e934c086b992ebb6998f": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "oldSymbol", + "type": "string" + }, + { + "indexed": false, + "name": "newSymbol", + "type": "string" + } + ], + "name": "LogTokenSymbolChange", + "type": "event" + }, + "0x6b45310c970f5d74814e429bdacd69c748dcb086cd38b6ddb7c2029be609e168": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "oldUrl", + "type": "string" + }, + { + "indexed": false, + "name": "newUrl", + "type": "string" + } + ], + "name": "LogTokenUrlChange", + "type": "event" + }, + "0xe46a8f26cfc48c12e40cf50c1063e5913b2a17da6aa396f9b008b2dfd6f273b5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "oldIpfsHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "newIpfsHash", + "type": "bytes32" + } + ], + "name": "LogTokenIpfsHashChange", + "type": "event" + }, + "0xa9fd216856477e73d11c1a9140fa3d425fce2e10a5475a996440b31c2e8f1ea4": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "token", + "type": "address" + }, + { + "indexed": false, + "name": "oldSwarmHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "newSwarmHash", + "type": "bytes32" + } + ], + "name": "LogTokenSwarmHashChange", + "type": "event" + } + }, + "updated_at": 1496294576947, + "address": "0x0fea265f59495859467e648ec99a87549aa6ede0" + }, "50": { "links": {}, "events": { @@ -792,10 +993,10 @@ "type": "event" } }, - "updated_at": 1496427473665, + "updated_at": 1495030736781, "address": "0x0b1ba0af832d7c05fd64161e0db78e85978e8082" } }, "schema_version": "0.0.5", - "updated_at": 1496427473665 + "updated_at": 1496294576947 }
\ No newline at end of file diff --git a/src/contract_wrappers/contract_wrapper.ts b/src/contract_wrappers/contract_wrapper.ts index f5d2cd4eb..f9c1bc1cf 100644 --- a/src/contract_wrappers/contract_wrapper.ts +++ b/src/contract_wrappers/contract_wrapper.ts @@ -1,5 +1,4 @@ -import includes = require('lodash/includes'); -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import contract = require('truffle-contract'); import {Web3Wrapper} from '../web3_wrapper'; import {ZeroExError, Artifact, ContractInstance} from '../types'; @@ -16,17 +15,17 @@ export class ContractWrapper { c.setProvider(providerObj); const networkIdIfExists = await this._web3Wrapper.getNetworkIdIfExistsAsync(); - const artifactNetworkConfigs = isUndefined(networkIdIfExists) ? + const artifactNetworkConfigs = _.isUndefined(networkIdIfExists) ? undefined : artifact.networks[networkIdIfExists]; let contractAddress; - if (!isUndefined(address)) { + if (!_.isUndefined(address)) { contractAddress = address; - } else if (!isUndefined(artifactNetworkConfigs)) { + } else if (!_.isUndefined(artifactNetworkConfigs)) { contractAddress = artifactNetworkConfigs.address; } - if (!isUndefined(contractAddress)) { + if (!_.isUndefined(contractAddress)) { const doesContractExist = await this._web3Wrapper.doesContractExistAtAddressAsync(contractAddress); if (!doesContractExist) { throw new Error(ZeroExError.CONTRACT_DOES_NOT_EXIST); @@ -34,11 +33,11 @@ export class ContractWrapper { } try { - const contractInstance = isUndefined(address) ? await c.deployed() : await c.at(address); + const contractInstance = _.isUndefined(address) ? await c.deployed() : await c.at(address); return contractInstance; } catch (err) { const errMsg = `${err}`; - if (includes(errMsg, 'not been deployed to detected network')) { + if (_.includes(errMsg, 'not been deployed to detected network')) { throw new Error(ZeroExError.CONTRACT_DOES_NOT_EXIST); } else { utils.consoleLog(`Notice: Error encountered: ${err} ${err.stack}`); diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index 30cdbd101..d6de801a3 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -1,9 +1,4 @@ -import map = require('lodash/map'); -import isEmpty = require('lodash/isEmpty'); -import find = require('lodash/find'); -import each = require('lodash/each'); -import isUndefined = require('lodash/isUndefined'); -import unzip = require('lodash/unzip'); +import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import promisify = require('es6-promisify'); import {Web3Wrapper} from '../web3_wrapper'; @@ -210,7 +205,7 @@ export class ExchangeWrapper extends ContractWrapper { @decorators.contractCallErrorHandler public async fillOrdersUpToAsync(signedOrders: SignedOrder[], takerTokenFillAmount: BigNumber.BigNumber, shouldCheckTransfer: boolean, takerAddress: string): Promise<BigNumber.BigNumber> { - const takerTokenAddresses = map(signedOrders, signedOrder => signedOrder.takerTokenAddress); + const takerTokenAddresses = _map(signedOrders, signedOrder => signedOrder.takerTokenAddress); assert.hasAtMostOneUniqueValue(takerTokenAddresses, ExchangeContractErrs.MULTIPLE_TAKER_TOKENS_IN_FILL_UP_TO_DISALLOWED); assert.isBigNumber('takerTokenFillAmount', takerTokenFillAmount); @@ -221,11 +216,11 @@ export class ExchangeWrapper extends ContractWrapper { await this._validateFillOrderAndThrowIfInvalidAsync( signedOrder, takerTokenFillAmount, takerAddress); } - if (isEmpty(signedOrders)) { + if (_isEmpty(signedOrders)) { return new BigNumber(0); // no-op } - const orderAddressesValuesAndSignatureArray = map(signedOrders, signedOrder => { + const orderAddressesValuesAndSignatureArray = _.map(signedOrders, signedOrder => { return [ ...ExchangeWrapper._getOrderAddressesAndValues(signedOrder), signedOrder.ecSignature.v, @@ -233,8 +228,8 @@ export class ExchangeWrapper extends ContractWrapper { signedOrder.ecSignature.s, ]; }); - // We use unzip<any> because unzip doesn't type check if values have different types :'( - const [orderAddressesArray, orderValuesArray, vArray, rArray, sArray] = unzip<any>( + // We use _.unzip<any> because _.unzip doesn't type check if values have different types :'( + const [orderAddressesArray, orderValuesArray, vArray, rArray, sArray] = _.unzip<any>( orderAddressesValuesAndSignatureArray, ); @@ -294,11 +289,11 @@ export class ExchangeWrapper extends ContractWrapper { await this._validateFillOrderAndThrowIfInvalidAsync( orderFillRequest.signedOrder, orderFillRequest.takerTokenFillAmount, takerAddress); } - if (isEmpty(orderFillRequests)) { + if (_.isEmpty(orderFillRequests)) { return; // no-op } - const orderAddressesValuesAmountsAndSignatureArray = map(orderFillRequests, orderFillRequest => { + const orderAddressesValuesAmountsAndSignatureArray = _.map(orderFillRequests, orderFillRequest => { return [ ...ExchangeWrapper._getOrderAddressesAndValues(orderFillRequest.signedOrder), orderFillRequest.takerTokenFillAmount, @@ -307,8 +302,8 @@ export class ExchangeWrapper extends ContractWrapper { orderFillRequest.signedOrder.ecSignature.s, ]; }); - // We use unzip<any> because unzip doesn't type check if values have different types :'( - const [orderAddressesArray, orderValuesArray, takerTokenFillAmountArray, vArray, rArray, sArray] = unzip<any>( + // We use _.unzip<any> because _.unzip doesn't type check if values have different types :'( + const [orderAddressesArray, orderValuesArray, takerTokenFillAmountArray, vArray, rArray, sArray] = _.unzip<any>( orderAddressesValuesAmountsAndSignatureArray, ); @@ -407,7 +402,7 @@ export class ExchangeWrapper extends ContractWrapper { request.fillTakerAmount); } - const orderAddressesValuesAndTakerTokenFillAmounts = map(orderFillOrKillRequests, request => { + const orderAddressesValuesAndTakerTokenFillAmounts = _.map(orderFillOrKillRequests, request => { return [ ...ExchangeWrapper._getOrderAddressesAndValues(request.signedOrder), request.fillTakerAmount, @@ -417,9 +412,9 @@ export class ExchangeWrapper extends ContractWrapper { ]; }); - // We use unzip<any> because unzip doesn't type check if values have different types :'( + // We use _.unzip<any> because _.unzip doesn't type check if values have different types :'( const [orderAddresses, orderValues, fillTakerAmounts, vParams, rParams, sParams] = - unzip<any>(orderAddressesValuesAndTakerTokenFillAmounts); + _.unzip<any>(orderAddressesValuesAndTakerTokenFillAmounts); const gas = await exchangeInstance.batchFillOrKill.estimateGas( orderAddresses, @@ -494,7 +489,7 @@ export class ExchangeWrapper extends ContractWrapper { */ @decorators.contractCallErrorHandler public async batchCancelOrderAsync(orderCancellationRequests: OrderCancellationRequest[]): Promise<void> { - const makers = map(orderCancellationRequests, cancellationRequest => cancellationRequest.order.maker); + const makers = _.map(orderCancellationRequests, cancellationRequest => cancellationRequest.order.maker); assert.hasAtMostOneUniqueValue(makers, ExchangeContractErrs.MULTIPLE_MAKERS_IN_SINGLE_CANCEL_BATCH_DISALLOWED); const maker = makers[0]; await assert.isSenderAddressAsync('maker', maker, this._web3Wrapper); @@ -505,19 +500,19 @@ export class ExchangeWrapper extends ContractWrapper { cancellationRequest.order, cancellationRequest.takerTokenCancelAmount, ); } - if (isEmpty(orderCancellationRequests)) { + if (_.isEmpty(orderCancellationRequests)) { return; // no-op } const exchangeInstance = await this._getExchangeContractAsync(); - const orderAddressesValuesAndTakerTokenCancelAmounts = map(orderCancellationRequests, cancellationRequest => { + const orderAddressesValuesAndTakerTokenCancelAmounts = _.map(orderCancellationRequests, cancellationRequest => { return [ ...ExchangeWrapper._getOrderAddressesAndValues(cancellationRequest.order), cancellationRequest.takerTokenCancelAmount, ]; }); - // We use unzip<any> because unzip doesn't type check if values have different types :'( + // We use _.unzip<any> because _.unzip doesn't type check if values have different types :'( const [orderAddresses, orderValues, takerTokenCancelAmounts] = - unzip<any>(orderAddressesValuesAndTakerTokenCancelAmounts); + _.unzip<any>(orderAddressesValuesAndTakerTokenCancelAmounts); const gas = await exchangeInstance.batchCancel.estimateGas( orderAddresses, orderValues, @@ -582,7 +577,7 @@ export class ExchangeWrapper extends ContractWrapper { * Stops watching for all exchange events */ public async stopWatchingAllEventsAsync(): Promise<void> { - const stopWatchingPromises = map(this._exchangeLogEventEmitters, + const stopWatchingPromises = _.map(this._exchangeLogEventEmitters, logEventObj => logEventObj.stopWatchingAsync()); await Promise.all(stopWatchingPromises); this._exchangeLogEventEmitters = []; @@ -736,8 +731,8 @@ export class ExchangeWrapper extends ContractWrapper { } } private _throwErrorLogsAsErrors(logs: ContractEvent[]): void { - const errEvent = find(logs, {event: 'LogError'}); - if (!isUndefined(errEvent)) { + const errEvent = _.find(logs, {event: 'LogError'}); + if (!_.isUndefined(errEvent)) { const errCode = (errEvent.args as LogErrorContractEventArgs).errorId.toNumber(); const errMessage = this._exchangeContractErrCodesToMsg[errCode]; throw new Error(errMessage); @@ -754,7 +749,7 @@ export class ExchangeWrapper extends ContractWrapper { return isRoundingError; } private async _getExchangeContractAsync(): Promise<ExchangeContract> { - if (!isUndefined(this._exchangeContractIfExists)) { + if (!_.isUndefined(this._exchangeContractIfExists)) { return this._exchangeContractIfExists; } const contractInstance = await this._instantiateContractIfExistsAsync((ExchangeArtifacts as any)); diff --git a/src/contract_wrappers/token_registry_wrapper.ts b/src/contract_wrappers/token_registry_wrapper.ts index 971b2d43c..3e87e4852 100644 --- a/src/contract_wrappers/token_registry_wrapper.ts +++ b/src/contract_wrappers/token_registry_wrapper.ts @@ -1,5 +1,4 @@ -import map = require('lodash/map'); -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import {Web3Wrapper} from '../web3_wrapper'; import {Token, TokenRegistryContract, TokenMetadata} from '../types'; import {assert} from '../utils/assert'; @@ -25,12 +24,12 @@ export class TokenRegistryWrapper extends ContractWrapper { const tokenRegistryContract = await this._getTokenRegistryContractAsync(); const addresses = await tokenRegistryContract.getTokenAddresses.call(); - const tokenMetadataPromises: Array<Promise<TokenMetadata>> = map( + const tokenMetadataPromises: Array<Promise<TokenMetadata>> = _.map( addresses, (address: string) => (tokenRegistryContract.getTokenMetaData.call(address)), ); const tokensMetadata = await Promise.all(tokenMetadataPromises); - const tokens = map(tokensMetadata, metadata => { + const tokens = _.map(tokensMetadata, metadata => { return { address: metadata[0], name: metadata[1], @@ -42,7 +41,7 @@ export class TokenRegistryWrapper extends ContractWrapper { return tokens; } private async _getTokenRegistryContractAsync(): Promise<TokenRegistryContract> { - if (!isUndefined(this._tokenRegistryContractIfExists)) { + if (!_.isUndefined(this._tokenRegistryContractIfExists)) { return this._tokenRegistryContractIfExists; } const contractInstance = await this._instantiateContractIfExistsAsync((TokenRegistryArtifacts as any)); diff --git a/src/contract_wrappers/token_wrapper.ts b/src/contract_wrappers/token_wrapper.ts index 5db7248e8..29f9b2d1c 100644 --- a/src/contract_wrappers/token_wrapper.ts +++ b/src/contract_wrappers/token_wrapper.ts @@ -1,4 +1,4 @@ -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import {Web3Wrapper} from '../web3_wrapper'; import {assert} from '../utils/assert'; @@ -179,7 +179,7 @@ export class TokenWrapper extends ContractWrapper { } private async _getTokenContractAsync(tokenAddress: string): Promise<TokenContract> { let tokenContract = this._tokenContractsByAddress[tokenAddress]; - if (!isUndefined(tokenContract)) { + if (!_.isUndefined(tokenContract)) { return tokenContract; } const contractInstance = await this._instantiateContractIfExistsAsync((TokenArtifacts as any), tokenAddress); @@ -189,10 +189,10 @@ export class TokenWrapper extends ContractWrapper { } private async _getProxyAddressAsync() { const networkIdIfExists = await this._web3Wrapper.getNetworkIdIfExistsAsync(); - const proxyNetworkConfigsIfExists = isUndefined(networkIdIfExists) ? + const proxyNetworkConfigsIfExists = _.isUndefined(networkIdIfExists) ? undefined : (ProxyArtifacts as any).networks[networkIdIfExists]; - if (isUndefined(proxyNetworkConfigsIfExists)) { + if (_.isUndefined(proxyNetworkConfigsIfExists)) { throw new Error(ZeroExError.CONTRACT_NOT_DEPLOYED_ON_NETWORK); } const proxyAddress = proxyNetworkConfigsIfExists.address; diff --git a/src/types.ts b/src/types.ts index d9189c8a0..2b7fba226 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,10 +1,10 @@ -import reduce = require('lodash/reduce'); +import * as _ from 'lodash'; import * as Web3 from 'web3'; // Utility function to create a K:V from a list of strings // Adapted from: https://basarat.gitbooks.io/typescript/content/docs/types/literal-types.html function strEnum(values: string[]): {[key: string]: string} { - return reduce(values, (result, key) => { + return _.reduce(values, (result, key) => { result[key] = key; return result; }, Object.create(null)); diff --git a/src/utils/assert.ts b/src/utils/assert.ts index efc7ed366..94b119d5a 100644 --- a/src/utils/assert.ts +++ b/src/utils/assert.ts @@ -1,10 +1,4 @@ -import uniq = require('lodash/uniq'); -import isEmpty = require('lodash/isEmpty'); -import isObject = require('lodash/isObject'); -import isFinite = require('lodash/isFinite'); -import isString = require('lodash/isString'); -import isBoolean = require('lodash/isBoolean'); -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import * as Web3 from 'web3'; import {Web3Wrapper} from '../web3_wrapper'; @@ -15,17 +9,17 @@ const HEX_REGEX = /^0x[0-9A-F]*$/i; export const assert = { isBigNumber(variableName: string, value: BigNumber.BigNumber): void { - const isBigNumber = isObject(value) && value.isBigNumber; + const isBigNumber = _.isObject(value) && value.isBigNumber; this.assert(isBigNumber, this.typeAssertionMessage(variableName, 'BigNumber', value)); }, isUndefined(value: any, variableName?: string): void { - this.assert(isUndefined(value), this.typeAssertionMessage(variableName, 'undefined', value)); + this.assert(_.isUndefined(value), this.typeAssertionMessage(variableName, 'undefined', value)); }, isString(variableName: string, value: string): void { - this.assert(isString(value), this.typeAssertionMessage(variableName, 'string', value)); + this.assert(_.isString(value), this.typeAssertionMessage(variableName, 'string', value)); }, isHexString(variableName: string, value: string): void { - this.assert(isString(value) && HEX_REGEX.test(value), + this.assert(_.isString(value) && HEX_REGEX.test(value), this.typeAssertionMessage(variableName, 'HexString', value)); }, isETHAddressHex(variableName: string, value: string): void { @@ -42,19 +36,19 @@ export const assert = { }, async isUserAddressAvailableAsync(web3Wrapper: Web3Wrapper): Promise<void> { const availableAddresses = await web3Wrapper.getAvailableAddressesAsync(); - this.assert(!isEmpty(availableAddresses), 'No addresses were available on the provided web3 instance'); + this.assert(!_.isEmpty(availableAddresses), 'No addresses were available on the provided web3 instance'); }, hasAtMostOneUniqueValue(value: any[], errMsg: string): void { - this.assert(uniq(value).length <= 1, errMsg); + this.assert(_.uniq(value).length <= 1, errMsg); }, isNumber(variableName: string, value: number): void { - this.assert(isFinite(value), this.typeAssertionMessage(variableName, 'number', value)); + this.assert(_.isFinite(value), this.typeAssertionMessage(variableName, 'number', value)); }, isValidOrderHash(variableName: string, value: string): void { this.assert(utils.isValidOrderHash(value), this.typeAssertionMessage(variableName, 'orderHash', value)); }, isBoolean(variableName: string, value: boolean): void { - this.assert(isBoolean(value), this.typeAssertionMessage(variableName, 'boolean', value)); + this.assert(_.isBoolean(value), this.typeAssertionMessage(variableName, 'boolean', value)); }, doesConformToSchema(variableName: string, value: object, schema: Schema): void { const schemaValidator = new SchemaValidator(); diff --git a/src/utils/decorators.ts b/src/utils/decorators.ts index b06e96747..a25f2cff5 100644 --- a/src/utils/decorators.ts +++ b/src/utils/decorators.ts @@ -1,4 +1,4 @@ -import includes = require('lodash/includes'); +import * as _ from 'lodash'; import {constants} from './constants'; import {AsyncMethod, ZeroExError} from '../types'; @@ -20,10 +20,10 @@ export const decorators = { const result = await originalMethod.apply(this, args); return result; } catch (error) { - if (includes(error.message, constants.INVALID_JUMP_PATTERN)) { + if (_.includes(error.message, constants.INVALID_JUMP_PATTERN)) { throw new Error(ZeroExError.INVALID_JUMP); } - if (includes(error.message, constants.OUT_OF_GAS_PATTERN)) { + if (_.includes(error.message, constants.OUT_OF_GAS_PATTERN)) { throw new Error(ZeroExError.OUT_OF_GAS); } throw error; diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 2db611ccb..bad5b6498 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -1,5 +1,4 @@ -import map = require('lodash/map'); -import includes = require('lodash/includes'); +import * as _ from 'lodash'; import * as BN from 'bn.js'; import * as ethABI from 'ethereumjs-abi'; import * as ethUtil from 'ethereumjs-util'; @@ -21,7 +20,7 @@ export const utils = { console.log(message); }, isParityNode(nodeVersion: string): boolean { - return includes(nodeVersion, 'Parity'); + return _.includes(nodeVersion, 'Parity'); }, isValidOrderHash(orderHashHex: string): boolean { const isValid = /^0x[0-9A-F]{64}$/i.test(orderHashHex); @@ -45,8 +44,8 @@ export const utils = { {value: utils.bigNumberToBN(order.expirationUnixTimestampSec), type: SolidityTypes.uint256}, {value: utils.bigNumberToBN(order.salt), type: SolidityTypes.uint256}, ]; - const types = map(orderParts, o => o.type); - const values = map(orderParts, o => o.value); + const types = _.map(orderParts, o => o.type); + const values = _.map(orderParts, o => o.value); const hashBuff = ethABI.soliditySHA3(types, values); const hashHex = ethUtil.bufferToHex(hashBuff); return hashHex; diff --git a/src/web3_wrapper.ts b/src/web3_wrapper.ts index d7cf6df58..6bdca499f 100644 --- a/src/web3_wrapper.ts +++ b/src/web3_wrapper.ts @@ -1,4 +1,4 @@ -import includes = require('lodash/includes'); +import * as _ from 'lodash'; import * as Web3 from 'web3'; import * as BigNumber from 'bignumber.js'; import promisify = require('es6-promisify'); @@ -17,7 +17,7 @@ export class Web3Wrapper { } public async isSenderAddressAvailableAsync(senderAddress: string): Promise<boolean> { const addresses = await this.getAvailableAddressesAsync(); - return includes(addresses, senderAddress); + return _.includes(addresses, senderAddress); } public async getNodeVersionAsync(): Promise<string> { const nodeVersion = await promisify(this.web3.version.getNode)(); diff --git a/test/0x.js_test.ts b/test/0x.js_test.ts index e50a6018c..9ec0a0c8e 100644 --- a/test/0x.js_test.ts +++ b/test/0x.js_test.ts @@ -1,5 +1,4 @@ -import each = require('lodash/each'); -import assign = require('lodash/assign'); +import * as _ from 'lodash'; import * as chai from 'chai'; import {chaiSetup} from './utils/chai_setup'; import 'mocha'; @@ -68,7 +67,7 @@ describe('ZeroEx library', () => { ).to.become(false); }); it('should return false if the signature doesn\'t pertain to the dataHex & address', async () => { - const wrongSignature = assign({}, signature, {v: 28}); + const wrongSignature = _.assign({}, signature, {v: 28}); expect(ZeroEx.isValidSignature(dataHex, wrongSignature, address)).to.be.false(); return expect( (zeroEx.exchange as any)._isValidSignatureUsingContractCallAsync(dataHex, wrongSignature, address), @@ -145,7 +144,7 @@ describe('ZeroEx library', () => { let stubs: Sinon.SinonStub[] = []; afterEach(() => { // clean up any stubs after the test has completed - each(stubs, s => s.restore()); + _.each(stubs, s => s.restore()); stubs = []; }); it('calculates the order hash', async () => { @@ -172,7 +171,7 @@ describe('ZeroEx library', () => { }); afterEach(() => { // clean up any stubs after the test has completed - each(stubs, s => s.restore()); + _.each(stubs, s => s.restore()); stubs = []; }); it ('Should return the correct ECSignature on TestPRC nodeVersion', async () => { diff --git a/test/schema_test.ts b/test/schema_test.ts index 72b08581a..b251a68f9 100644 --- a/test/schema_test.ts +++ b/test/schema_test.ts @@ -1,5 +1,5 @@ import 'mocha'; -import forEach = require('lodash/forEach'); +import * as _ from 'lodash'; import * as chai from 'chai'; import * as BigNumber from 'bignumber.js'; import promisify = require('es6-promisify'); @@ -19,7 +19,7 @@ const expect = chai.expect; describe('Schema', () => { const validator = new SchemaValidator(); const validateAgainstSchema = (testCases: any[], schema: any, shouldFail = false) => { - forEach(testCases, (testCase: any) => { + _.forEach(testCases, (testCase: any) => { if (shouldFail) { expect(validator.validate(testCase, schema).errors).to.be.lengthOf.at.least(1); } else { @@ -285,7 +285,7 @@ describe('Schema', () => { '00.00': '0', '.3': '0.3', }; - forEach(testCases, (serialized: string, input: string) => { + _.forEach(testCases, (serialized: string, input: string) => { expect(JSON.parse(JSON.stringify(new BigNumber(input)))).to.be.equal(serialized); }); }); diff --git a/test/token_registry_wrapper_test.ts b/test/token_registry_wrapper_test.ts index d7c8a7a95..da436161c 100644 --- a/test/token_registry_wrapper_test.ts +++ b/test/token_registry_wrapper_test.ts @@ -1,4 +1,4 @@ -import each = require('lodash/each'); +import * as _ from 'lodash'; import 'mocha'; import * as chai from 'chai'; import {chaiSetup} from './utils/chai_setup'; @@ -32,7 +32,7 @@ describe('TokenRegistryWrapper', () => { expect(tokens).to.have.lengthOf(TOKEN_REGISTRY_SIZE_AFTER_MIGRATION); const schemaValidator = new SchemaValidator(); - each(tokens, token => { + _.each(tokens, token => { const validationResult = schemaValidator.validate(token, tokenSchema); expect(validationResult.errors).to.have.lengthOf(0); }); diff --git a/test/utils/order_factory.ts b/test/utils/order_factory.ts index 939d5df20..ef19f2c4c 100644 --- a/test/utils/order_factory.ts +++ b/test/utils/order_factory.ts @@ -1,5 +1,4 @@ -import assign = require('lodash/assign'); -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import {ZeroEx, SignedOrder} from '../../src'; @@ -17,7 +16,7 @@ export const orderFactory = { feeRecipient: string, expirationUnixTimestampSec?: BigNumber.BigNumber): Promise<SignedOrder> { const defaultExpirationUnixTimestampSec = new BigNumber(2524604400); // Close to infinite - expirationUnixTimestampSec = isUndefined(expirationUnixTimestampSec) ? + expirationUnixTimestampSec = _.isUndefined(expirationUnixTimestampSec) ? defaultExpirationUnixTimestampSec : expirationUnixTimestampSec; const order = { @@ -35,7 +34,7 @@ export const orderFactory = { }; const orderHash = await zeroEx.getOrderHashHexAsync(order); const ecSignature = await zeroEx.signOrderHashAsync(orderHash, maker); - const signedOrder: SignedOrder = assign(order, {ecSignature}); + const signedOrder: SignedOrder = _.assign(order, {ecSignature}); return signedOrder; }, }; diff --git a/test/utils/token_utils.ts b/test/utils/token_utils.ts index 00fa55260..f4fa7ac31 100644 --- a/test/utils/token_utils.ts +++ b/test/utils/token_utils.ts @@ -1,6 +1,4 @@ -import find = require('lodash/find'); -import filter = require('lodash/filter'); -import isUndefined = require('lodash/isUndefined'); +import * as _ from 'lodash'; import {Token, ZeroExError} from '../../src'; const PROTOCOL_TOKEN_SYMBOL = 'ZRX'; @@ -11,14 +9,14 @@ export class TokenUtils { this.tokens = tokens; } public getProtocolTokenOrThrow(): Token { - const zrxToken = find(this.tokens, {symbol: PROTOCOL_TOKEN_SYMBOL}); - if (isUndefined(zrxToken)) { + const zrxToken = _.find(this.tokens, {symbol: PROTOCOL_TOKEN_SYMBOL}); + if (_.isUndefined(zrxToken)) { throw new Error(ZeroExError.ZRX_NOT_IN_TOKEN_REGISTRY); } return zrxToken; } public getNonProtocolTokens(): Token[] { - const nonProtocolTokens = filter(this.tokens, token => { + const nonProtocolTokens = _.filter(this.tokens, token => { return token.symbol !== PROTOCOL_TOKEN_SYMBOL; }); return nonProtocolTokens; |