/
deploy_rinkeby_Oedax.js
54 lines (44 loc) · 44.1 KB
/
deploy_rinkeby_Oedax.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const Web3 = require('web3');
const Tx = require('ethereumjs-tx');
const web3 = new Web3(new Web3.providers.HttpProvider("https://rinkeby.infura.io/hM4sFGiBdqbnGTxk5YT2"));
const contractABI = '[{"constant":false,"inputs":[{"name":"_feeRecipient","type":"address"},{"name":"_curve","type":"address"},{"name":"_settleGracePeriodBaseMinutes","type":"uint16"},{"name":"_settleGracePeriodPerUserSeconds","type":"uint16"},{"name":"_minDurationMinutes","type":"uint16"},{"name":"_maxDurationMinutes","type":"uint16"},{"name":"_protocolFeeBips","type":"uint16"},{"name":"_ownerFeeBips","type":"uint16"},{"name":"_takerFeeBips","type":"uint16"},{"name":"_creatorEtherStake","type":"uint256"}],"name":"updateSettings","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creatorEtherStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeRecipient","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"particationMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minDuration","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"auctionId","type":"uint256"},{"name":"askToken","type":"address"},{"name":"bidToken","type":"address"},{"name":"askAmount","type":"uint256"},{"name":"bidAmount","type":"uint256"}],"name":"logSettlement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"auctions","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"askToken","type":"address"},{"name":"bidToken","type":"address"},{"name":"minAskAmount","type":"uint256"},{"name":"minBidAmount","type":"uint256"},{"name":"P","type":"uint64"},{"name":"S","type":"uint64"},{"name":"M","type":"uint8"},{"name":"T1","type":"uint256"},{"name":"T2","type":"uint256"}],"name":"createAuction","outputs":[{"name":"auctionAddr","type":"address"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"ownerFeeBips","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxDuration","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"settleGracePeriodPerUser","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"creatorAuctions","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"}],"name":"logParticipant","outputs":[{"name":"isNewUser","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"settleGracePeriodBase","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"tradeHistory","outputs":[{"name":"auctionId","type":"uint256"},{"name":"bidAmount","type":"uint256"},{"name":"askAmount","type":"uint256"},{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"takerFeeBips","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"protocolFeeBips","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"userAuctions","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"auctionIdMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"curveAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"rank","type":"uint256"}],"name":"setTokenRank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenRankMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"},{"name":"amount","type":"uint256"}],"name":"depositToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"SettingsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"rank","type":"uint256"}],"name":"TokenRankUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"auctionId","type":"uint256"},{"indexed":false,"name":"auctionAddr","type":"address"}],"name":"AuctionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"auctionId","type":"uint256"},{"indexed":false,"name":"askToken","type":"address"},{"indexed":false,"name":"bidToken","type":"address"},{"indexed":false,"name":"askAmount","type":"uint256"},{"indexed":false,"name":"bidAmount","type":"uint256"}],"name":"AuctionSettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]';
// Notice: binData must startsWith 0x.
const binData = '0x608060405234801561001057600080fd5b50600080546001600160a01b03191633178155610054907f8000000000000000000000000000000000000000000000000000000000000000610059602090811b901c565b61012b565b6000546001600160a01b031633146100d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0382166000818152600a60209081526040918290208490558151928352820183905280517f6ad518f598a48ceb625b33d5cea400e6fb945c4d45f46d636f21fdb4696b14199281900390910190a15050565b61474f8061013a6000396000f3fe608060405260043610620001885760003560e01c80637bfcb7fd11620000e5578063b4fbe80a1162000097578063d89521d9116200006d578063d89521d9146200064e578063f2fde38b146200068b578063f84ab0b914620006c2578063fb0f97a814620006f95762000188565b8063b4fbe80a14620005c2578063ba7050b314620005ff578063c15e120514620006365762000188565b80637bfcb7fd14620004be5780638da497e614620004f55780638da5cb5b146200050d5780639063122414620005255780639a73f4f51462000592578063abadbf1614620005aa5762000188565b8063571a26a0116200013f578063571a26a014620003845780635941b39d14620003b25780636467dd7514620004225780636db5c8fd1462000451578063793db3991462000469578063794a613314620004815762000188565b80631926352e14620001c9578063232f2725146200024f5780634690484014620002795780634f4d10f014620002ad578063567157611462000300578063571763131462000331575b60408051600160e51b62461bcd02815260206004820152600b6024820152600160aa1b6a155394d5541413d495115102604482015290519081900360640190fd5b348015620001d657600080fd5b506200024d6004803603610140811015620001f057600080fd5b506001600160a01b03813581169160208101359091169061ffff60408201358116916060810135821691608082013581169160a081013582169160c082013581169160e08101358216916101008201351690610120013562000740565b005b3480156200025c57600080fd5b506200026762000c3b565b60408051918252519081900360200190f35b3480156200028657600080fd5b506200029162000c41565b604080516001600160a01b039092168252519081900360200190f35b348015620002ba57600080fd5b50620002ec60048036036040811015620002d357600080fd5b506001600160a01b038135811691602001351662000c50565b604080519115158252519081900360200190f35b3480156200030d57600080fd5b506200031862000c70565b6040805163ffffffff9092168252519081900360200190f35b3480156200033e57600080fd5b506200024d600480360360a08110156200035757600080fd5b508035906001600160a01b0360208201358116916040810135909116906060810135906080013562000c83565b3480156200039157600080fd5b506200029160048036036020811015620003aa57600080fd5b503562000dd9565b620002916004803603610120811015620003cb57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359067ffffffffffffffff608082013581169160a08101359091169060ff60c0820135169060e081013590610100013562000e01565b3480156200042f57600080fd5b506200043a62001205565b6040805161ffff9092168252519081900360200190f35b3480156200045e57600080fd5b506200031862001215565b3480156200047657600080fd5b506200043a62001228565b3480156200048e57600080fd5b506200029160048036036040811015620004a757600080fd5b506001600160a01b03813516906020013562001239565b348015620004cb57600080fd5b50620002ec60048036036020811015620004e457600080fd5b50356001600160a01b03166200126f565b3480156200050257600080fd5b506200043a6200135a565b3480156200051a57600080fd5b50620002916200136b565b3480156200053257600080fd5b506200056c600480360360608110156200054b57600080fd5b506001600160a01b038135811691602081013590911690604001356200137a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156200059f57600080fd5b506200043a620013cd565b348015620005b757600080fd5b506200043a620013df565b348015620005cf57600080fd5b506200029160048036036040811015620005e857600080fd5b506001600160a01b038135169060200135620013e9565b3480156200060c57600080fd5b5062000267600480360360208110156200062557600080fd5b50356001600160a01b031662001403565b3480156200064357600080fd5b506200029162001415565b3480156200065b57600080fd5b506200024d600480360360408110156200067457600080fd5b506001600160a01b03813516906020013562001424565b3480156200069857600080fd5b506200024d60048036036020811015620006b157600080fd5b50356001600160a01b0316620014d2565b348015620006cf57600080fd5b506200026760048036036020811015620006e857600080fd5b50356001600160a01b0316620015e1565b3480156200070657600080fd5b50620002ec600480360360608110156200071f57600080fd5b506001600160a01b03813581169160208101359091169060400135620015f3565b6000546001600160a01b03163314620007955760408051600160e51b62461bcd02815260206004820152600c6024820152600160a21b6b15539055551213d49256915102604482015290519081900360640190fd5b6001600160a01b038a16620007e65760408051600160e51b62461bcd02815260206004820152600c6024820152600160a01b6b7a65726f206164647265737302604482015290519081900360640190fd5b6001600160a01b038916620008375760408051600160e51b62461bcd02815260206004820152600c6024820152600160a01b6b7a65726f206164647265737302604482015290519081900360640190fd5b60008861ffff1611620008845760408051600160e51b62461bcd02815260206004820152600a6024820152600160b01b697a65726f2076616c756502604482015290519081900360640190fd5b60008761ffff1611620008d15760408051600160e51b62461bcd02815260206004820152600a6024820152600160b01b697a65726f2076616c756502604482015290519081900360640190fd5b60008661ffff16116200091e5760408051600160e51b62461bcd02815260206004820152600a6024820152600160b01b697a65726f2076616c756502604482015290519081900360640190fd5b8561ffff168561ffff16116200097e5760408051600160e51b62461bcd02815260206004820152600d60248201527f696e76616c69642076616c756500000000000000000000000000000000000000604482015290519081900360640190fd5b60fa8461ffff161115620009d15760408051600160e51b62461bcd02815260206004820152600f6024820152600160881b6e76616c756520746f6f206c6172676502604482015290519081900360640190fd5b60fa8361ffff16111562000a245760408051600160e51b62461bcd02815260206004820152600f6024820152600160881b6e76616c756520746f6f206c6172676502604482015290519081900360640190fd5b60fa8261ffff16111562000a775760408051600160e51b62461bcd02815260206004820152600f6024820152600160881b6e76616c756520746f6f206c6172676502604482015290519081900360640190fd5b6000811162000ac05760408051600160e51b62461bcd02815260206004820152600a6024820152600160b01b697a65726f2076616c756502604482015290519081900360640190fd5b88600260006101000a8154816001600160a01b0302191690836001600160a01b0316021790555089600160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555087603c02600260146101000a81548161ffff021916908361ffff16021790555086600260166101000a81548161ffff021916908361ffff16021790555085603c0261ffff16600260186101000a81548163ffffffff021916908363ffffffff16021790555084603c0261ffff166002601c6101000a81548163ffffffff021916908363ffffffff16021790555083600360006101000a81548161ffff021916908361ffff16021790555082600360026101000a81548161ffff021916908361ffff16021790555081600360046101000a81548161ffff021916908361ffff16021790555080670de0b6b3a7640000026004819055507f7c98a0e54e3d959a008c6978e0f8492849c33c7075f4b35e00ef60c0088c370760405160405180910390a150505050505050505050565b60045481565b6001546001600160a01b031681565b600860209081526000928352604080842090915290825290205460ff1681565b600254600160c01b900463ffffffff1681565b3360009081526006602052604090205462000cdc5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d3737ba1030b71030bab1ba34b7b702604482015290519081900360640190fd5b60008511801562000ced5750600082115b801562000cfa5750600081115b62000d0157fe5b62000d0b620017bd565b50604080516080808201835287825260208083018681528385018681524260608087019182526001600160a01b03808c166000818152600b88528a8120928f168082529288528a8120805460018181018355918352918990208b5160049093020191825596519681019690965593516002860155915160039094019390935586518c815293840152828601528101869052908101849052915190917ff2c88560a571e69247330e22df504ac9cd88ebd638c975954fddf870a9039177919081900360a00190a1505050505050565b6005818154811062000de757fe5b6000918252602090912001546001600160a01b0316905081565b600060045434101562000e5e5760408051600160e51b62461bcd02815260206004820152601360248201527f696e737566666369656e74204554482066656500000000000000000000000000604482015290519081900360640190fd5b6002546001600160a01b031662000eb05760408051600160e51b62461bcd02815260206004820152600b6024820152600160a81b6a656d70747920637572766502604482015290519081900360640190fd5b600254600160c01b900463ffffffff16821080159062000edf5750600254600160e01b900463ffffffff168211155b62000f345760408051600160e51b62461bcd02815260206004820152601060248201527f696e76616c6964206475726174696f6e00000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03808b166000908152600a602052604080822054928c1682529020541162000f9857604051600160e51b62461bcd02815260040180806020018281038252603f815260200180620046e5603f913960400191505060405180910390fd5b60006005805490506001019050600030828d8d8d8d8d8d8d8d8d60405162000fc090620017e5565b6001600160a01b039b8c168152602081019a909a52978a166040808b0191909152969099166060890152608088019490945260a087019290925267ffffffffffffffff90811660c08701521660e085015260ff1661010084015261012083019390935261014082015290519081900361016001906000f0801580156200104a573d6000803e3d6000fd5b506004546040519194508492506000916001600160a01b03841691908381818185875af1925050503d8060008114620010a0576040519150601f19603f3d011682016040523d82523d6000602084013e620010a5565b606091505b5050905080620010ff5760408051600160e51b62461bcd02815260206004820152601660248201527f63616c6c20746f2061756374696f6e206661696c656400000000000000000000604482015290519081900360640190fd5b600454340380156200113b57604051339082156108fc029083906000818181858888f1935050505015801562001139573d6000803e3d6000fd5b505b6001600160a01b03851660008181526006602090815260408083208890556005805460018181019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b031990811687179091553385526007845282852080549283018155855293839020018054909316841790925581518781529081019290925280517f5d551e2a2cc977fd8c530317059b4f2d9f504fb82f7dfad736f8d56679bcdfd09281900390910190a1505050509998505050505050505050565b60035462010000900461ffff1681565b600254600160e01b900463ffffffff1681565b600254600160b01b900461ffff1681565b600760205281600052604060002081815481106200125357fe5b6000918252602090912001546001600160a01b03169150829050565b33600090815260066020526040812054620012c85760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d3737ba1030b71030bab1ba34b7b702604482015290519081900360640190fd5b506001600160a01b038116600090815260086020908152604080832033845290915290205460ff1615801562001355576001600160a01b038216600081815260086020908152604080832033808552908352818420805460ff1916600190811790915594845260098352908320805494850181558352912090910180546001600160a01b03191690911790555b919050565b600254600160a01b900461ffff1681565b6000546001600160a01b031681565b600b6020528260005260406000206020528160005260406000208181548110620013a057fe5b60009182526020909120600490910201805460018201546002830154600390930154919550935090915084565b600354640100000000900461ffff1681565b60035461ffff1681565b600960205281600052604060002081815481106200125357fe5b60066020526000908152604090205481565b6002546001600160a01b031681565b6000546001600160a01b03163314620014795760408051600160e51b62461bcd02815260206004820152600c6024820152600160a21b6b15539055551213d49256915102604482015290519081900360640190fd5b6001600160a01b0382166000818152600a60209081526040918290208490558151928352820183905280517f6ad518f598a48ceb625b33d5cea400e6fb945c4d45f46d636f21fdb4696b14199281900390910190a15050565b6000546001600160a01b03163314620015275760408051600160e51b62461bcd02815260206004820152600c6024820152600160a21b6b15539055551213d49256915102604482015290519081900360640190fd5b6001600160a01b038116620015865760408051600160e51b62461bcd02815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600a6020526000908152604090205481565b336000908152600660205260408120546200164c5760408051600160e51b62461bcd02815260206004820152600e6024820152600160911b6d3737ba1030b71030bab1ba34b7b702604482015290519081900360640190fd5b620016696001600160a01b03851684338563ffffffff6200167116565b949350505050565b604080516001600160a01b0380861660248301528085166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b0316600160e01b6323b872dd0217815292518251600094928916928492918291908083835b60208310620016f95780518252601f199092019160209182019101620016d8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146200175d576040519150601f19603f3d011682016040523d82523d6000602084013e62001762565b606091505b50508092505062001773826200177d565b9695505050505050565b60008115620017b9573d8015620017a15760208114620017ab5760009250620017b7565b60019250620017b7565b60206000803e60005192505b505b5090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b612ef180620017f48339019056fe60806040523480156200001157600080fd5b506040516101608062002ef183398101806040526101608110156200003557600080fd5b508051602082015160408301516060840151608085015160a086015160c087015160e08801516101008901516101208a0151610140909a0151600080546001600160a01b03191633179055989997989697959694959394929391929091906001600160a01b038b166200010957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f696e76616c6964206f6564617820616464726573730000000000000000000000604482015290519081900360640190fd5b60008a116200017957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f696e76616c69642061756374696f6e2069640000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0389161515806200019957506001600160a01b03881615155b6200020557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f696e76616c696420746f6b656e20616464726573730000000000000000000000604482015290519081900360640190fd5b6005846001600160401b0316101580156200022a5750600a846001600160401b031611155b6200029657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f696e76616c696420707269636520707265636973696f6e000000000000000000604482015290519081900360640190fd5b6000856001600160401b0316118015620002c2575068056bc75e2d63100000856001600160401b031611155b6200032e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c696420746172676574207072696365000000000000000000000000604482015290519081900360640190fd5b60018360ff1611801562000346575060648360ff1611155b620003b257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c696420707269636520666163746f72000000000000000000000000604482015290519081900360640190fd5b600082118015620003c257508082105b6200042e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f696e76616c6964206475726174696f6e2076616c756500000000000000000000604482015290519081900360640190fd5b600080546001600160a01b03199081163217909155600180546001600160a01b038e8116919093161790819055604080517fc15e12050000000000000000000000000000000000000000000000000000000081529051919092169163c15e1205916004808301926020929190829003018186803b158015620004af57600080fd5b505afa158015620004c4573d6000803e3d6000fd5b505050506040513d6020811015620004db57600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790819055604080517fea3c340300000000000000000000000000000000000000000000000000000000815260ff8716600482015260248101869052604481018590529051919092169163ea3c3403916064808301926020929190829003018186803b1580156200056657600080fd5b505afa1580156200057b573d6000803e3d6000fd5b505050506040513d60208110156200059257600080fd5b505160035560408051608081018083526001547fabadbf16000000000000000000000000000000000000000000000000000000009091529151909182916001600160a01b039091169063abadbf1690608480850191602091818703018186803b158015620005ff57600080fd5b505afa15801562000614573d6000803e3d6000fd5b505050506040513d60208110156200062b57600080fd5b505161ffff168152600154604080517f6467dd7500000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b0390931692636467dd759260048082019391829003018186803b1580156200069357600080fd5b505afa158015620006a8573d6000803e3d6000fd5b505050506040513d6020811015620006bf57600080fd5b505161ffff168152600154604080517f9a73f4f500000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b0390931692639a73f4f59260048082019391829003018186803b1580156200072757600080fd5b505afa1580156200073c573d6000803e3d6000fd5b505050506040513d60208110156200075357600080fd5b505161ffff168152600154604080517f232f272500000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b039093169263232f27259260048082019391829003018186803b158015620007bb57600080fd5b505afa158015620007d0573d6000803e3d6000fd5b505050506040513d6020811015620007e757600080fd5b505190528051600580546020840151604085015161ffff1990921661ffff9485161763ffff0000191662010000918516919091021765ffff00000000191664010000000093909116929092029190911790556060015160065560048a9055600780546001600160a01b03199081166001600160a01b038c81169190911790925560088054909116918a16919091179055600b879055600c86905542600d556001600160401b03858116600e819055908516600a0a600f5560ff8416601081905560118390558181620008b557fe5b04106200092357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f696e76616c6964207072696365206f7220666163746f72202d20646976000000604482015290519081900360640190fd5b600e546010546200094290829062000ae6602090811b620012f417901c565b11620009af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f696e76616c6964207072696365206f7220666163746f72202d206d756c000000604482015290519081900360640190fd5b886001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015620009e957600080fd5b505afa158015620009fe573d6000803e3d6000fd5b505050506040513d602081101562000a1557600080fd5b505160ff16600a0a600955604080517f313ce56700000000000000000000000000000000000000000000000000000000815290516001600160a01b038a169163313ce567916004808301926020929190829003018186803b15801562000a7a57600080fd5b505afa15801562000a8f573d6000803e3d6000fd5b505050506040513d602081101562000aa657600080fd5b505160ff16600a90810a905562000ac48962000b72602090811b901c565b62000ad58862000b7260201b60201c565b505050505050505050505062000c37565b81810282158062000b0057508183828162000afd57fe5b04145b62000b6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d554c5f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b92915050565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000bae57600080fd5b505afa15801562000bc3573d6000803e3d6000fd5b505050506040513d602081101562000bda57600080fd5b5051600f5490915062000c139062000bff838262000ae6602090811b620012f417901c565b62000ae660201b620012f41790919060201c565b5062000c326014600a0a8262000ae660201b620012f41790919060201c565b505050565b6122aa8062000c476000396000f3fe60806040526004361061007b5760003560e01c80637a9b0e161161004e5780637a9b0e16146102465780638da5cb5b146102c3578063e47e7e66146102f4578063f2fde38b1461031e5761007b565b806311da60b4146101915780633ccfd60b146101a6578063454a2ab3146101bb5780634e69d560146101f7575b601e5460ff16610130576000546001600160a01b031632146100d65760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b683737ba1037bbb732b902604482015290519081900360640190fd5b6000341161011e5760408051600160e51b62461bcd02815260206004820152600a6024820152600160b01b697a65726f2076616c756502604482015290519081900360640190fd5b601e805460ff1916600117905561018f565b346101425761013d610351565b61018f565b6008546001600160a01b03166101695761016360013463ffffffff61037116565b5061018f565b6007546001600160a01b031661018a5761016360013463ffffffff61074016565b600080fd5b005b34801561019d57600080fd5b5061018f610351565b3480156101b257600080fd5b5061018f610b05565b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b5035610b2b565b60408051918252519081900360200190f35b34801561020357600080fd5b5061020c610b65565b6040805197151588526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b34801561025257600080fd5b5061018f6004803603602081101561026957600080fd5b81019060208101813564010000000081111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111640100000000831117156102b857600080fd5b509092509050610be2565b3480156102cf57600080fd5b506102d8610c40565b604080516001600160a01b039092168252519081900360200190f35b34801561030057600080fd5b506101e56004803603602081101561031757600080fd5b5035610c4f565b34801561032a57600080fd5b5061018f6004803603602081101561034157600080fd5b50356001600160a01b0316610c83565b6000546001600160a01b031661036e60018263ffffffff610d9e16565b50565b60008082116103bb5760408051600160e51b62461bcd02815260206004820152600b6024820152600160aa1b6a1e995c9bc8185b5bdd5b9d02604482015290519081900360640190fd5b82600b01548210156104175760408051600160e51b62461bcd02815260206004820152601460248201527f62696420616d6f756e7420746f6f20736d616c6c000000000000000000000000604482015290519081900360640190fd5b61041f6121fa565b61042884610ec9565b905061043a848263ffffffff61116516565b61048e5760408051600160e51b62461bcd02815260206004820152601860248201527f61756374696f6e206e6565647320746f206265206f70656e0000000000000000604482015290519081900360640190fd5b6000816101000151116104dc5760408051600160e51b62461bcd02815260206004820152600b6024820152600160aa1b6a1b9bdd08185b1b1bddd95902604482015290519081900360640190fd5b80610100015183111561051357610100810151600785015490925061050e9033906001600160a01b0316848603611176565b610517565b8291505b835460408051600160e01b637bfcb7fd02815233600482015290516001600160a01b0390921691637bfcb7fd916024808201926020929091908290030181600087803b15801561056657600080fd5b505af115801561057a573d6000803e3d6000fd5b505050506040513d602081101561059057600080fd5b5051156105bf57601a84018054600181018255600091825260209091200180546001600160a01b031916331790555b3360009081526019850160205260409020600c85015481544291909103906105ed908563ffffffff61123916565b825560108601546000906106189061060b908463ffffffff61129416565b869063ffffffff6112f416565b6001840154909150610630908263ffffffff61123916565b6001840155601787015461064a908263ffffffff61123916565b60178801556012870154610664908663ffffffff61123916565b601288015560c08401516014880154146106b05760c084015160148801908155601688018054600181810183556000838152602090209182018690559254825493840190925591909101555b8360a001518760130154146106f75760a084015160138801908155601588018054600181810183556000838152602090209182018690559254825493840190925591909101555b6040805133815260208101879052428183015290517f19421268847f42dd61705778018ddfc43bcdce8517e7a630acb12f122c7094819181900360600190a15050505092915050565b600080821161078a5760408051600160e51b62461bcd02815260206004820152600b6024820152600160aa1b6a1e995c9bc8185b5bdd5b9d02604482015290519081900360640190fd5b82600a01548210156107e65760408051600160e51b62461bcd02815260206004820152601460248201527f61736b20616d6f756e7420746f6f20736d616c6c000000000000000000000000604482015290519081900360640190fd5b6107ee6121fa565b6107f784610ec9565b9050610809848263ffffffff61116516565b61085d5760408051600160e51b62461bcd02815260206004820152601860248201527f61756374696f6e206e6565647320746f206265206f70656e0000000000000000604482015290519081900360640190fd5b60008160e00151116108aa5760408051600160e51b62461bcd02815260206004820152600b6024820152600160aa1b6a1b9bdd08185b1b1bddd95902604482015290519081900360640190fd5b8060e001518311156108df5760e081015160068501549092506108da9033906001600160a01b0316848603611176565b6108e3565b8291505b835460408051600160e01b637bfcb7fd02815233600482015290516001600160a01b0390921691637bfcb7fd916024808201926020929091908290030181600087803b15801561093257600080fd5b505af1158015610946573d6000803e3d6000fd5b505050506040513d602081101561095c57600080fd5b50511561098b57601a84018054600181018255600091825260209091200180546001600160a01b031916331790555b3360009081526019850160205260409020600c85015460028201544291909103906109bc908563ffffffff61123916565b600283015560108601546000906109dd9061060b908463ffffffff61129416565b60038401549091506109f5908263ffffffff61123916565b60038401556018870154610a0f908263ffffffff61123916565b60188801556011870154610a29908663ffffffff61123916565b601188015560c0840151601488015414610a755760c084015160148801908155601688018054600181810183556000838152602090209182018690559254825493840190925591909101555b8360a00151876013015414610abc5760a084015160138801908155601588018054600181810183556000838152602090209182018690559254825493840190925591909101555b6040805133815260208101879052428183015290517ff200b09dd7c67aa57db7b904692130ffededf03e80a5f2105605d50c0c187d699181900360600190a15050505092915050565b610b0d6121fa565b610b176001610ec9565b905061036e6001823363ffffffff61136016565b600854600090610b5f90610b51906001906001600160a01b03168563ffffffff61141716565b60019063ffffffff61037116565b92915050565b6000806000806000806000610b786121fa565b610b826001610ec9565b9050806000015197508060400151955080606001519450806080015193508060e001519250806101000151915060006001600c01544203905080826020015111610bcd576000610bd5565b808260200151035b9750505090919293949596565b610bea6121fa565b610bf46001610ec9565b905060005b82811015610c3a57610c3282858584818110610c1157fe5b905060200201356001600160a01b031660016113609092919063ffffffff16565b600101610bf9565b50505050565b6000546001600160a01b031681565b600754600090610b5f90610c75906001906001600160a01b03168563ffffffff61141716565b60019063ffffffff61074016565b6000546001600160a01b03163314610ce55760408051600160e51b62461bcd02815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038116610d435760408051600160e51b62461bcd02815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610da66121fa565b610daf83610ec9565b9050610dc1838263ffffffff61116516565b15610e165760408051600160e51b62461bcd02815260206004820152601a60248201527f61756374696f6e206e6565647320746f20626520636c6f736564000000000000604482015290519081900360640190fd5b601c83015415610e705760408051600160e51b62461bcd02815260206004820152601d60248201527f736574746c656d656e7420686173206265656e20636f6d706c65746564000000604482015290519081900360640190fd5b601a830154601b8401546000911115610e9157610e8d8483611674565b5060015b601a840154601b8501541415610c3a57801580610eb15750620186a05a10155b15610c3a5782610ec28584836116e0565b5050505050565b610ed16121fa565b600082600f015483600d015481610ee457fe5b0490506000610f0484600f015485600d01546112f490919063ffffffff16565b9050600082118015610f1557508181115b610f1b57fe5b600c840154601185015442919091039015610f5857610f3985611a5f565b604085018190528311801590610f53575081846040015111155b151584525b8351610fed576013850154158015610f7257506014850154155b610f7857fe5b600d8501546060850181905260808501819052610f96908690611abd565b60208501819052811015610fe857610fae8582611b92565b60608501819052600d860154610fca908063ffffffff6112f416565b81610fd157fe5b04608085015260001960e085018190526101008501525b61115d565b604084015160608501819052608085018190526013860154600091611013908890611abd565b0190506000866014015461104e8888604001516110418b600d01548c600d01546112f490919063ffffffff16565b8161104857fe5b04611abd565b019050611061828263ffffffff611bc216565b6020870181905283101561115a57828211156110d0576110878788601301548503611b92565b606087018190526012880154600e89015460118a01546110c5936110b1919063ffffffff6112f416565b816110b857fe5b049063ffffffff61129416565b6101008701526110e0565b6013870154830182900360a08701525b8281111561114a576110f88788601401548503611b92565b600d88015461110d908063ffffffff6112f416565b8161111457fe5b04608087018190526011880154600e89015460128a015461114093916110b1919063ffffffff6112f416565b60e087015261115a565b6014870154830181900360c08701525b50505b505050919050565b60200151600c919091015401421090565b8015611234576001600160a01b0382166111c6576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156111c0573d6000803e3d6000fd5b50611234565b6111e06001600160a01b038316848363ffffffff611bda16565b6112345760408051600160e51b62461bcd02815260206004820152600f60248201527f7472616e73666572206661696c65640000000000000000000000000000000000604482015290519081900360640190fd5b505050565b81810182811015610b5f5760408051600160e51b62461bcd02815260206004820152600c60248201527f4144445f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b6000828211156112ee5760408051600160e51b62461bcd02815260206004820152600d60248201527f5355425f554e444552464c4f5700000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b81810282158061130c57508183828161130957fe5b04145b610b5f5760408051600160e51b62461bcd02815260206004820152600c60248201527f4d554c5f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b611370838363ffffffff61116516565b156113c55760408051600160e51b62461bcd02815260206004820152601a60248201527f61756374696f6e206e6565647320746f20626520636c6f736564000000000000604482015290519081900360640190fd5b8151156113db576113d68382611cd7565b6113e5565b6113e58382611f68565b6001600160a01b0316600090815260199092016020525060408120818155600181018290556002810182905560030155565b60006001600160a01b03831661142957fe5b835460408051600160e11b636eb1769f0281523360048201526001600160a01b03928316602482015290518592611543929084169163dd62ed3e91604480820192602092909190829003018186803b15801561148457600080fd5b505afa158015611498573d6000803e3d6000fd5b505050506040513d60208110156114ae57600080fd5b505160408051600160e01b6370a082310281523360048201529051611537916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156114fe57600080fd5b505afa158015611512573d6000803e3d6000fd5b505050506040513d602081101561152857600080fd5b5051869063ffffffff611fbc16565b9063ffffffff611fbc16565b91506000821161158e5760408051600160e51b62461bcd02815260206004820152600b6024820152600160aa1b6a1e995c9bc8185b5bdd5b9d02604482015290519081900360640190fd5b845460408051600160e31b631f61f2f50281526001600160a01b038781166004830152336024830152604482018690529151919092169163fb0f97a89160648083019260209291908290030181600087803b1580156115ec57600080fd5b505af1158015611600573d6000803e3d6000fd5b505050506040513d602081101561161657600080fd5b505161166c5760408051600160e51b62461bcd02815260206004820152601560248201527f746f6b656e207472616e73666572206661696c65640000000000000000000000604482015290519081900360640190fd5b509392505050565b601b820154601a8301546201388091905b80821080156116945750825a10155b156116d2576116c7858587601a0185815481106116ad57fe5b6000918252602090912001546001600160a01b0316611360565b600190910190611685565b50601b909301929092555050565b6005830154602080840151600c860154865460408051600160e11b6346d24bf302815290518796956000959490940193859361180d936001600160a01b0390911692638da497e692600483810193919291829003018186803b15801561174557600080fd5b505afa158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b5051895460408051600160e01b63793db399028152905161ffff90931692611801926001600160a01b03169163793db399916004808301926020929190829003018186803b1580156117c057600080fd5b505afa1580156117d4573d6000803e3d6000fd5b505050506040513d60208110156117ea57600080fd5b5051601a8c01549061ffff1663ffffffff6112f416565b9063ffffffff61123916565b905080611820428463ffffffff61129416565b1115611839576005880154600094506004900492503394505b8651611846576002840493505b61185286600086611176565b61185e33600085611176565b875460408051600160e61b63011a41210281529051611901926001600160a01b0316916346904840916004808301926020929190829003018186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d60208110156118d057600080fd5b505160058a01546000906118fc9087906118f0908a63ffffffff61129416565b9063ffffffff61129416565b611176565b8651156119a557600488015461192390899062010000900461ffff1687611fd1565b600480890154895460408051600160e61b63011a412102815290516119a5948d9461ffff16936001600160a01b03169263469048409281830192602092829003018186803b15801561197457600080fd5b505afa158015611988573d6000803e3d6000fd5b505050506040513d602081101561199e57600080fd5b5051611fd1565b600588015415611a4c578754600389015460068a015460078b015460118c015460128d015460408051600160e01b635717631302815260048101969096526001600160a01b0394851660248701529284166044860152606485019190915260848401525192169163571763139160a48082019260009290919082900301818387803b158015611a3357600080fd5b505af1158015611a47573d6000803e3d6000fd5b505050505b4288601c01819055505050505050505050565b600080826011015411611a6e57fe5b81600901548260110154611aa78460080154611a9b866012015487600e01546112f490919063ffffffff16565b9063ffffffff6112f416565b81611aae57fe5b0481611ab657fe5b0492915050565b60018201546002830154600f840154600d8501546000936001600160a01b031692631c5683f792909181611aed57fe5b04611b0987600f015488600d01546112f490919063ffffffff16565b8760100154876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611b5f57600080fd5b505afa158015611b73573d6000803e3d6000fd5b505050506040513d6020811015611b8957600080fd5b50519392505050565b60018201546002830154600f840154600d8501546000936001600160a01b03169263bcdda46092909181611aed57fe5b6000818311611bd15781611bd3565b825b9392505050565b604080516001600160a01b038085166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b0316600160e01b63a9059cbb0217815292518251600094928816928492918291908083835b60208310611c585780518252601f199092019160209182019101611c39565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611cba576040519150601f19603f3d011682016040523d82523d6000602084013e611cbf565b606091505b505080925050611cce82612053565b95945050505050565b6000611ce3838361208e565b6004840154601185015491925060009161271091611d0b919062010000900461ffff166112f4565b81611d1257fe5b6004860154601187015492909104925060009161271091611d3f9190640100000000900461ffff166112f4565b81611d4657fe5b60048701546011880154929091049250600091611d979161271091611d749161ffff1663ffffffff6112f416565b81611d7b57fe5b046118f0846118f0878b6011015461129490919063ffffffff16565b6004870154601288015491925060009161271091611dbf919062010000900461ffff166112f4565b81611dc657fe5b600489015460128a015492909104925060009161271091611df39190640100000000900461ffff166112f4565b81611dfa57fe5b60048a015460128b0154929091049250600091611e4b9161271091611e289161ffff1663ffffffff6112f416565b81611e2f57fe5b046118f0846118f0878e6012015461129490919063ffffffff16565b9050611e55612248565b506040805160c08101825260008082526020808301829052828401829052606083018290526080830182905260a083018290526001600160a01b038c16825260198d019052919091206002810154825260128b01548154611ebd90889063ffffffff6112f416565b81611ec457fe5b046020830152612710611edd888b63ffffffff6112f416565b81611ee457fe5b0460408301528054606083015260118b01546002820154611f0c90859063ffffffff6112f416565b81611f1357fe5b046080830152612710611f2c858b63ffffffff6112f416565b81611f3357fe5b0460a083015260068b015460078c0154611f5b916001600160a01b0390811691168c85612129565b5050505050505050505050565b6001600160a01b0380821660009081526019840160205260409020600684015460028201549192611f9e92859290911690611176565b600783015481546112349184916001600160a01b0390911690611176565b6000818311611fcb5782611bd3565b50919050565b6000612710611fed8486601101546112f490919063ffffffff16565b81611ff457fe5b04905060006127106120138587601201546112f490919063ffffffff16565b8161201a57fe5b600687015491900491506120399084906001600160a01b031684611176565b6007850154610ec29084906001600160a01b031683611176565b6000811561208a573d8015612073576020811461207c5760009250612088565b60019250612088565b60206000803e60005192505b505b5090565b6001600160a01b038116600090815260198301602052604081206011840154601885015483916120de91816120bf57fe5b0486601201548760170154816120d157fe5b049063ffffffff61123916565b905061210685601101548360030154816120f457fe5b0486601201548460010154816120d157fe5b9250612710900480612116575060015b80838161211f57fe5b0495945050505050565b61214982856118fc8460400151856020015161123990919063ffffffff16565b61216982846118fc8460a00151856080015161123990919063ffffffff16565b7fd5be22e057354a2acd7baadad3a29aa0d7b3b4504dcc1b1f01efb55b9ec9bfe58282600001516121ab8460400151856020015161123990919063ffffffff16565b0383606001516121cc8560a00151866080015161123990919063ffffffff16565b604080516001600160a01b03909516855260208501939093520382820152519081900360600190a150505050565b60405180610120016040528060001515815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060c00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152509056fea165627a7a72305820b7a3117788590356ff4b192292581098233d5ee2dd7110a74b3ee2b88465b3bc0029626964202871756f74652920746f6b656e206d75737420686176652061206869676865722072616e6b207468616e2061736b2028626173652920746f6b656ea165627a7a72305820f6cf800de5923f77a4107d2f4f60bf605b6be815420cc69ec2fd7bfb4b98bb2f0029';
// test account:
const privKey = "7c71142c72a019568cf848ac7b805d21f2e0fd8bc341e8314580de11c6a397bf";
const deployAddr = "0xe20cf871f1646d8651ee9dc95aab1d93160b3467";
// sign and send
// @param txData { nonce, gasLimit, gasPrice, to, from, value }
function sendSigned(txData, cb) {
const privateKey = new Buffer(privKey, 'hex');
const transaction = new Tx(txData);
transaction.sign(privateKey);
const serializedTx = transaction.serialize().toString('hex');
console.log("serializedTx:", serializedTx);
web3.eth.sendSignedTransaction('0x' + serializedTx, cb);
}
async function doDeploy() {
const addressFrom = deployAddr;
const myContract = new web3.eth.Contract(JSON.parse(contractABI));
const txCount = await web3.eth.getTransactionCount(addressFrom);
const contractBin = myContract.deploy({
data: binData,
// arguments: [''],
}).encodeABI();
console.log("contractBin:", contractBin);
const txData = {
nonce: web3.utils.toHex(txCount),
gasLimit: web3.utils.toHex(6500000),
gasPrice: web3.utils.toHex(5e9),
from: addressFrom,
data: contractBin,
};
sendSigned(txData, function(err, result) {
if (err) {
console.log(err);
} else {
console.log("deploy succeeded!");
}
});
}
doDeploy();