From 8db25eaa24c8e9a69d56b43f4cffaf8f438c1246 Mon Sep 17 00:00:00 2001 From: Anton Matveenko Date: Tue, 27 Nov 2018 17:04:40 +0300 Subject: [PATCH] fix: stable smart contract compilation (#1741) * fix: use relative paths for truffle compile in order to maintain same byte code for contracts * fix: regenerate ABI --- blockchain/source/api/AddressHashMap.go | 2 +- blockchain/source/api/Blacklist.go | 2 +- blockchain/source/api/DeployList.go | 2 +- blockchain/source/api/Market.go | 2 +- blockchain/source/api/Migrations.go | 2 +- blockchain/source/api/MultiSigWallet.go | 2 +- blockchain/source/api/OracleUSD.go | 2 +- blockchain/source/api/ProfileRegistry.go | 2 +- blockchain/source/api/SNM.go | 2 +- blockchain/source/api/SNMMasterchain.go | 2 +- .../source/api/SimpleGatekeeperWithLimit.go | 2 +- .../api/SimpleGatekeeperWithLimitLive.go | 2 +- blockchain/source/api/TestnetFaucet.go | 2 +- blockchain/source/package-lock.json | 488 +++++++++++++++++- blockchain/source/package.json | 5 +- .../source/patches/truffle+4.1.14.patch | 15 + .../patches/truffle-resolver+4.0.4.patch | 15 + blockchain/source/truffle.js | 2 + 18 files changed, 516 insertions(+), 35 deletions(-) create mode 100644 blockchain/source/patches/truffle+4.1.14.patch create mode 100644 blockchain/source/patches/truffle-resolver+4.0.4.patch diff --git a/blockchain/source/api/AddressHashMap.go b/blockchain/source/api/AddressHashMap.go index d57e107d8..7b5a43763 100644 --- a/blockchain/source/api/AddressHashMap.go +++ b/blockchain/source/api/AddressHashMap.go @@ -18,7 +18,7 @@ import ( const AddressHashMapABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_key\",\"type\":\"bytes32\"},{\"name\":\"_value\",\"type\":\"address\"}],\"name\":\"write\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_key\",\"type\":\"bytes32\"}],\"name\":\"read\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // AddressHashMapBin is the compiled bytecode used for deploying new contracts. -const AddressHashMapBin = `0x608060405234801561001057600080fd5b5060008054600160a060020a0319908116339081179091161790556102ca8061003a6000396000f30060806040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166361da14398114610071578063715018a6146100a5578063853eadce146100bc5780638da5cb5b146100e0578063f2fde38b146100f5575b600080fd5b34801561007d57600080fd5b50610089600435610116565b60408051600160a060020a039092168252519081900360200190f35b3480156100b157600080fd5b506100ba610131565b005b3480156100c857600080fd5b506100ba600435600160a060020a036024351661019d565b3480156100ec57600080fd5b506100896101ef565b34801561010157600080fd5b506100ba600160a060020a03600435166101fe565b600090815260016020526040902054600160a060020a031690565b600054600160a060020a0316331461014857600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031633146101b457600080fd5b600091825260016020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600054600160a060020a031681565b600054600160a060020a0316331461021557600080fd5b61021e81610221565b50565b600160a060020a038116151561023657600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820a8a77f8a09bb23bc4ed941e91ae8c2a8df64827ad0c26005d0146f66ee09107a0029` +const AddressHashMapBin = `0x608060405234801561001057600080fd5b5060008054600160a060020a0319908116339081179091161790556102ca8061003a6000396000f30060806040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166361da14398114610071578063715018a6146100a5578063853eadce146100bc5780638da5cb5b146100e0578063f2fde38b146100f5575b600080fd5b34801561007d57600080fd5b50610089600435610116565b60408051600160a060020a039092168252519081900360200190f35b3480156100b157600080fd5b506100ba610131565b005b3480156100c857600080fd5b506100ba600435600160a060020a036024351661019d565b3480156100ec57600080fd5b506100896101ef565b34801561010157600080fd5b506100ba600160a060020a03600435166101fe565b600090815260016020526040902054600160a060020a031690565b600054600160a060020a0316331461014857600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031633146101b457600080fd5b600091825260016020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600054600160a060020a031681565b600054600160a060020a0316331461021557600080fd5b61021e81610221565b50565b600160a060020a038116151561023657600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820340b8814c5dff86d3df4626968a28d1c26ec2426b7000f292970c596e17269e20029` // DeployAddressHashMap deploys a new Ethereum contract, binding an instance of AddressHashMap to it. func DeployAddressHashMap(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *AddressHashMap, error) { diff --git a/blockchain/source/api/Blacklist.go b/blockchain/source/api/Blacklist.go index b295a20b4..fd5a2ad59 100644 --- a/blockchain/source/api/Blacklist.go +++ b/blockchain/source/api/Blacklist.go @@ -18,7 +18,7 @@ import ( const BlacklistABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"market\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"adder\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"addee\",\"type\":\"address\"}],\"name\":\"AddedToBlacklist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"remover\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"removee\",\"type\":\"address\"}],\"name\":\"RemovedFromBlacklist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"name\":\"_who\",\"type\":\"address\"},{\"name\":\"_whom\",\"type\":\"address\"}],\"name\":\"Check\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_who\",\"type\":\"address\"},{\"name\":\"_whom\",\"type\":\"address\"}],\"name\":\"Add\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_whom\",\"type\":\"address\"}],\"name\":\"Remove\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_root\",\"type\":\"address\"}],\"name\":\"AddMaster\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_root\",\"type\":\"address\"}],\"name\":\"RemoveMaster\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_market\",\"type\":\"address\"}],\"name\":\"SetMarketAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // BlacklistBin is the compiled bytecode used for deploying new contracts. -const BlacklistBin = `0x608060405260038054600160a060020a031916905534801561002057600080fd5b5060008054600160a060020a0319908116339081179091161790556105e68061004a6000396000f3006080604052600436106100a35763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663473b736f81146100a8578063584720f5146100e3578063715018a61461010457806377d58a151461011b57806380f556051461013c5780638a1051f81461016d5780638da5cb5b1461018e578063968f600c146101a3578063be7c7ac3146101ca578063f2fde38b146101eb575b600080fd5b3480156100b457600080fd5b506100cf600160a060020a036004358116906024351661020c565b604080519115158252519081900360200190f35b3480156100ef57600080fd5b506100cf600160a060020a03600435166102bc565b34801561011057600080fd5b50610119610323565b005b34801561012757600080fd5b506100cf600160a060020a036004351661038f565b34801561014857600080fd5b506101516103d9565b60408051600160a060020a039092168252519081900360200190f35b34801561017957600080fd5b506100cf600160a060020a03600435166103e8565b34801561019a57600080fd5b5061015161044f565b3480156101af57600080fd5b506100cf600160a060020a036004358116906024351661045e565b3480156101d657600080fd5b506100cf600160a060020a036004351661048c565b3480156101f757600080fd5b50610119600160a060020a036004351661051a565b600354600090600160a060020a0316151561022657600080fd5b600354600160a060020a031633148061024e57503360009081526002602052604090205460ff165b151561025957600080fd5b600160a060020a03808416600081815260016020818152604080842095881680855295909152808320805460ff1916909217909155517f708802ac7da0a63d9f6b2df693b53345ad263e42d74c245110e1ec1e03a1567e9190a350600192915050565b60008054600160a060020a031633146102d457600080fd5b600160a060020a03821660009081526002602052604090205460ff1615156001146102fe57600080fd5b50600160a060020a03166000908152600260205260409020805460ff19169055600190565b600054600160a060020a0316331461033a57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60008054600160a060020a031633146103a757600080fd5b5060038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600354600160a060020a031681565b60008054600160a060020a0316331461040057600080fd5b600160a060020a03821660009081526002602052604090205460ff161561042657600080fd5b50600160a060020a03166000908152600260205260409020805460ff1916600190811790915590565b600054600160a060020a031681565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205460ff1690565b336000908152600160208181526040808420600160a060020a038616855290915282205460ff161515146104bf57600080fd5b336000818152600160209081526040808320600160a060020a0387168085529252808320805460ff19169055519092917f576a9aef294e1b4baf3617fde4cbc80ba5344d5eb508222f29e558981704a45791a3506001919050565b600054600160a060020a0316331461053157600080fd5b61053a8161053d565b50565b600160a060020a038116151561055257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582075ca915b22455bc4d5d71004222db406266b573f7cc1dd5c3ac8d0aaac2c754b0029` +const BlacklistBin = `0x608060405260038054600160a060020a031916905534801561002057600080fd5b5060008054600160a060020a0319908116339081179091161790556105e68061004a6000396000f3006080604052600436106100a35763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663473b736f81146100a8578063584720f5146100e3578063715018a61461010457806377d58a151461011b57806380f556051461013c5780638a1051f81461016d5780638da5cb5b1461018e578063968f600c146101a3578063be7c7ac3146101ca578063f2fde38b146101eb575b600080fd5b3480156100b457600080fd5b506100cf600160a060020a036004358116906024351661020c565b604080519115158252519081900360200190f35b3480156100ef57600080fd5b506100cf600160a060020a03600435166102bc565b34801561011057600080fd5b50610119610323565b005b34801561012757600080fd5b506100cf600160a060020a036004351661038f565b34801561014857600080fd5b506101516103d9565b60408051600160a060020a039092168252519081900360200190f35b34801561017957600080fd5b506100cf600160a060020a03600435166103e8565b34801561019a57600080fd5b5061015161044f565b3480156101af57600080fd5b506100cf600160a060020a036004358116906024351661045e565b3480156101d657600080fd5b506100cf600160a060020a036004351661048c565b3480156101f757600080fd5b50610119600160a060020a036004351661051a565b600354600090600160a060020a0316151561022657600080fd5b600354600160a060020a031633148061024e57503360009081526002602052604090205460ff165b151561025957600080fd5b600160a060020a03808416600081815260016020818152604080842095881680855295909152808320805460ff1916909217909155517f708802ac7da0a63d9f6b2df693b53345ad263e42d74c245110e1ec1e03a1567e9190a350600192915050565b60008054600160a060020a031633146102d457600080fd5b600160a060020a03821660009081526002602052604090205460ff1615156001146102fe57600080fd5b50600160a060020a03166000908152600260205260409020805460ff19169055600190565b600054600160a060020a0316331461033a57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60008054600160a060020a031633146103a757600080fd5b5060038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600354600160a060020a031681565b60008054600160a060020a0316331461040057600080fd5b600160a060020a03821660009081526002602052604090205460ff161561042657600080fd5b50600160a060020a03166000908152600260205260409020805460ff1916600190811790915590565b600054600160a060020a031681565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205460ff1690565b336000908152600160208181526040808420600160a060020a038616855290915282205460ff161515146104bf57600080fd5b336000818152600160209081526040808320600160a060020a0387168085529252808320805460ff19169055519092917f576a9aef294e1b4baf3617fde4cbc80ba5344d5eb508222f29e558981704a45791a3506001919050565b600054600160a060020a0316331461053157600080fd5b61053a8161053d565b50565b600160a060020a038116151561055257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820464d7612eb697c84e91586dcfd1cadb3322d3aa9c03146de08040a490ef5fd2b0029` // DeployBlacklist deploys a new Ethereum contract, binding an instance of Blacklist to it. func DeployBlacklist(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Blacklist, error) { diff --git a/blockchain/source/api/DeployList.go b/blockchain/source/api/DeployList.go index b00ecb0f2..424f0570b 100644 --- a/blockchain/source/api/DeployList.go +++ b/blockchain/source/api/DeployList.go @@ -18,7 +18,7 @@ import ( const DeployListABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_deployers\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"DeployerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"DeployerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_deployer\",\"type\":\"address\"}],\"name\":\"addDeployer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_deployer\",\"type\":\"address\"}],\"name\":\"removeDeployer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getDeployers\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // DeployListBin is the compiled bytecode used for deploying new contracts. -const DeployListBin = `0x608060405234801561001057600080fd5b5060405161063e38038061063e8339810160405280516000805433600160a060020a0319918216811790911617905501805161005390600190602084019061005a565b50506100e6565b8280548282559060005260206000209081019282156100af579160200282015b828111156100af5782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019061007a565b506100bb9291506100bf565b5090565b6100e391905b808211156100bb578054600160a060020a03191681556001016100c5565b90565b610549806100f56000396000f3006080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663607c12b5811461007c578063715018a6146100e1578063880f4039146100f85780638da5cb5b14610119578063f2fde38b1461014a578063f315df861461016b575b600080fd5b34801561008857600080fd5b5061009161018c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100cd5781810151838201526020016100b5565b505050509050019250505060405180910390f35b3480156100ed57600080fd5b506100f66101ef565b005b34801561010457600080fd5b506100f6600160a060020a036004351661025b565b34801561012557600080fd5b5061012e610302565b60408051600160a060020a039092168252519081900360200190f35b34801561015657600080fd5b506100f6600160a060020a0360043516610311565b34801561017757600080fd5b506100f6600160a060020a0360043516610334565b606060018054806020026020016040519081016040528092919081815260200182805480156101e457602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116101c6575b505050505090505b90565b600054600160a060020a0316331461020657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a0316331461027257600080fd5b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f861a21548a3ee34d896ccac3668a9d65030aaf2cb7367a2ed13608014016a0329181900360200190a150565b600054600160a060020a031681565b600054600160a060020a0316331461032857600080fd5b61033181610459565b50565b60008054600160a060020a0316331461034c57600080fd5b5060005b600154600019018110156104055781600160a060020a031660018281548110151561037757fe5b600091825260209091200154600160a060020a031614156103fd576001805460001981019081106103a457fe5b60009182526020909120015460018054600160a060020a0390921691839081106103ca57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610405565b600101610350565b60018054600019019061041890826104d6565b5060408051600160a060020a038416815290517ffdb22628e87f888d060acc53d048a6a8400a5024f81f9dcb0606e723f238864a9181900360200190a15050565b600160a060020a038116151561046e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8154818355818111156104fa576000838152602090206104fa9181019083016104ff565b505050565b6101ec91905b808211156105195760008155600101610505565b50905600a165627a7a72305820c7173b06448fa04179ebbe11acdf2d3c14cc72bdbb6587d0878c25897df3e1bb0029` +const DeployListBin = `0x608060405234801561001057600080fd5b5060405161063e38038061063e8339810160405280516000805433600160a060020a0319918216811790911617905501805161005390600190602084019061005a565b50506100e6565b8280548282559060005260206000209081019282156100af579160200282015b828111156100af5782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019061007a565b506100bb9291506100bf565b5090565b6100e391905b808211156100bb578054600160a060020a03191681556001016100c5565b90565b610549806100f56000396000f3006080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663607c12b5811461007c578063715018a6146100e1578063880f4039146100f85780638da5cb5b14610119578063f2fde38b1461014a578063f315df861461016b575b600080fd5b34801561008857600080fd5b5061009161018c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100cd5781810151838201526020016100b5565b505050509050019250505060405180910390f35b3480156100ed57600080fd5b506100f66101ef565b005b34801561010457600080fd5b506100f6600160a060020a036004351661025b565b34801561012557600080fd5b5061012e610302565b60408051600160a060020a039092168252519081900360200190f35b34801561015657600080fd5b506100f6600160a060020a0360043516610311565b34801561017757600080fd5b506100f6600160a060020a0360043516610334565b606060018054806020026020016040519081016040528092919081815260200182805480156101e457602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116101c6575b505050505090505b90565b600054600160a060020a0316331461020657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a0316331461027257600080fd5b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f861a21548a3ee34d896ccac3668a9d65030aaf2cb7367a2ed13608014016a0329181900360200190a150565b600054600160a060020a031681565b600054600160a060020a0316331461032857600080fd5b61033181610459565b50565b60008054600160a060020a0316331461034c57600080fd5b5060005b600154600019018110156104055781600160a060020a031660018281548110151561037757fe5b600091825260209091200154600160a060020a031614156103fd576001805460001981019081106103a457fe5b60009182526020909120015460018054600160a060020a0390921691839081106103ca57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610405565b600101610350565b60018054600019019061041890826104d6565b5060408051600160a060020a038416815290517ffdb22628e87f888d060acc53d048a6a8400a5024f81f9dcb0606e723f238864a9181900360200190a15050565b600160a060020a038116151561046e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8154818355818111156104fa576000838152602090206104fa9181019083016104ff565b505050565b6101ec91905b808211156105195760008155600101610505565b50905600a165627a7a72305820e9fc8432afc30cdd5dc2cb14c650ee92c84cddf8014f5d38b3a7dc97efabcbc90029` // DeployDeployList deploys a new Ethereum contract, binding an instance of DeployList to it. func DeployDeployList(auth *bind.TransactOpts, backend bind.ContractBackend, _deployers []common.Address) (common.Address, *types.Transaction, *DeployList, error) { diff --git a/blockchain/source/api/Market.go b/blockchain/source/api/Market.go index 242b20e0f..2fd8f1638 100644 --- a/blockchain/source/api/Market.go +++ b/blockchain/source/api/Market.go @@ -19,7 +19,7 @@ import ( const MarketABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"deals\",\"outputs\":[{\"name\":\"supplierID\",\"type\":\"address\"},{\"name\":\"consumerID\",\"type\":\"address\"},{\"name\":\"masterID\",\"type\":\"address\"},{\"name\":\"askID\",\"type\":\"uint256\"},{\"name\":\"bidID\",\"type\":\"uint256\"},{\"name\":\"duration\",\"type\":\"uint256\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"endTime\",\"type\":\"uint256\"},{\"name\":\"status\",\"type\":\"uint8\"},{\"name\":\"blockedBalance\",\"type\":\"uint256\"},{\"name\":\"totalPayout\",\"type\":\"uint256\"},{\"name\":\"lastBillTS\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"orders\",\"outputs\":[{\"name\":\"orderType\",\"type\":\"uint8\"},{\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"name\":\"author\",\"type\":\"address\"},{\"name\":\"counterparty\",\"type\":\"address\"},{\"name\":\"duration\",\"type\":\"uint256\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"identityLevel\",\"type\":\"uint8\"},{\"name\":\"blacklist\",\"type\":\"address\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"frozenSum\",\"type\":\"uint256\"},{\"name\":\"dealID\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_blacklist\",\"type\":\"address\"},{\"name\":\"_oracle\",\"type\":\"address\"},{\"name\":\"_profileRegistry\",\"type\":\"address\"},{\"name\":\"_benchmarksQuantity\",\"type\":\"uint256\"},{\"name\":\"_netflagsQuantity\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"orderID\",\"type\":\"uint256\"}],\"name\":\"OrderPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"orderID\",\"type\":\"uint256\"}],\"name\":\"OrderUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"dealID\",\"type\":\"uint256\"}],\"name\":\"DealOpened\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"dealID\",\"type\":\"uint256\"}],\"name\":\"DealUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"dealID\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"paidAmount\",\"type\":\"uint256\"}],\"name\":\"Billed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"changeRequestID\",\"type\":\"uint256\"}],\"name\":\"DealChangeRequestSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"changeRequestID\",\"type\":\"uint256\"}],\"name\":\"DealChangeRequestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"master\",\"type\":\"address\"}],\"name\":\"WorkerAnnounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"master\",\"type\":\"address\"}],\"name\":\"WorkerConfirmed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"master\",\"type\":\"address\"}],\"name\":\"WorkerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"newNum\",\"type\":\"uint256\"}],\"name\":\"NumBenchmarksUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"newNum\",\"type\":\"uint256\"}],\"name\":\"NumNetflagsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orderType\",\"type\":\"uint8\"},{\"name\":\"_id_counterparty\",\"type\":\"address\"},{\"name\":\"_duration\",\"type\":\"uint256\"},{\"name\":\"_price\",\"type\":\"uint256\"},{\"name\":\"_netflags\",\"type\":\"bool[]\"},{\"name\":\"_identityLevel\",\"type\":\"uint8\"},{\"name\":\"_blacklist\",\"type\":\"address\"},{\"name\":\"_tag\",\"type\":\"bytes32\"},{\"name\":\"_benchmarks\",\"type\":\"uint64[]\"}],\"name\":\"PlaceOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"orderID\",\"type\":\"uint256\"}],\"name\":\"CancelOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"askID\",\"type\":\"uint256\"},{\"name\":\"buyoutDuration\",\"type\":\"uint256\"}],\"name\":\"QuickBuy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_askID\",\"type\":\"uint256\"},{\"name\":\"_bidID\",\"type\":\"uint256\"}],\"name\":\"OpenDeal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"dealID\",\"type\":\"uint256\"},{\"name\":\"blacklisted\",\"type\":\"uint8\"}],\"name\":\"CloseDeal\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"dealID\",\"type\":\"uint256\"}],\"name\":\"Bill\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"dealID\",\"type\":\"uint256\"},{\"name\":\"newPrice\",\"type\":\"uint256\"},{\"name\":\"newDuration\",\"type\":\"uint256\"}],\"name\":\"CreateChangeRequest\",\"outputs\":[{\"name\":\"changeRequestID\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"changeRequestID\",\"type\":\"uint256\"}],\"name\":\"CancelChangeRequest\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_master\",\"type\":\"address\"}],\"name\":\"RegisterWorker\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_worker\",\"type\":\"address\"}],\"name\":\"ConfirmWorker\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_worker\",\"type\":\"address\"},{\"name\":\"_master\",\"type\":\"address\"}],\"name\":\"RemoveWorker\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"orderID\",\"type\":\"uint256\"}],\"name\":\"GetOrderInfo\",\"outputs\":[{\"name\":\"orderType\",\"type\":\"uint8\"},{\"name\":\"author\",\"type\":\"address\"},{\"name\":\"counterparty\",\"type\":\"address\"},{\"name\":\"duration\",\"type\":\"uint256\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"netflags\",\"type\":\"bool[]\"},{\"name\":\"identityLevel\",\"type\":\"uint8\"},{\"name\":\"blacklist\",\"type\":\"address\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"benchmarks\",\"type\":\"uint64[]\"},{\"name\":\"frozenSum\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"orderID\",\"type\":\"uint256\"}],\"name\":\"GetOrderParams\",\"outputs\":[{\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"name\":\"dealID\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"dealID\",\"type\":\"uint256\"}],\"name\":\"GetDealInfo\",\"outputs\":[{\"name\":\"benchmarks\",\"type\":\"uint64[]\"},{\"name\":\"supplierID\",\"type\":\"address\"},{\"name\":\"consumerID\",\"type\":\"address\"},{\"name\":\"masterID\",\"type\":\"address\"},{\"name\":\"askID\",\"type\":\"uint256\"},{\"name\":\"bidID\",\"type\":\"uint256\"},{\"name\":\"startTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"dealID\",\"type\":\"uint256\"}],\"name\":\"GetDealParams\",\"outputs\":[{\"name\":\"duration\",\"type\":\"uint256\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"endTime\",\"type\":\"uint256\"},{\"name\":\"status\",\"type\":\"uint8\"},{\"name\":\"blockedBalance\",\"type\":\"uint256\"},{\"name\":\"totalPayout\",\"type\":\"uint256\"},{\"name\":\"lastBillTS\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_worker\",\"type\":\"address\"}],\"name\":\"GetMaster\",\"outputs\":[{\"name\":\"master\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"changeRequestID\",\"type\":\"uint256\"}],\"name\":\"GetChangeRequestInfo\",\"outputs\":[{\"name\":\"dealID\",\"type\":\"uint256\"},{\"name\":\"requestType\",\"type\":\"uint8\"},{\"name\":\"price\",\"type\":\"uint256\"},{\"name\":\"duration\",\"type\":\"uint256\"},{\"name\":\"status\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetDealsAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetOrdersAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetChangeRequestsAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetBenchmarksQuantity\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetNetflagsQuantity\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newPR\",\"type\":\"address\"}],\"name\":\"SetProfileRegistryAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newBL\",\"type\":\"address\"}],\"name\":\"SetBlacklistAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOracle\",\"type\":\"address\"}],\"name\":\"SetOracleAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newQuantity\",\"type\":\"uint256\"}],\"name\":\"SetBenchmarksQuantity\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newQuantity\",\"type\":\"uint256\"}],\"name\":\"SetNetflagsQuantity\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"KillMarket\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // MarketBin is the compiled bytecode used for deploying new contracts. -const MarketBin = `0x60806040526000805460a060020a60ff02191681556005819055600681905560075534801561002d57600080fd5b5060405160c0806153ce83398101604090815281516020830151918301516060840151608085015160a09095015160008054600160a060020a0319908116331790915560018054600160a060020a0396871690831617905560028054968616968216969096179095556003805493851693861693909317909255600480549390911692909316919091179091556008919091556009556152fc806100d26000396000f3006080604052600436106101a85763ffffffff60e060020a60003504166303988f8481146101ad5780630adef86c146102735780631a3d5f82146102a8578063289e77b3146102c9578063348843cf146103065780633a9072271461032d5780633c1cbb34146103705780633f4ba83a1461038e5780634fabdd4b146103a55780635ad5f6ae1461040b5780635c975abb146104d7578063616451c5146104ec57806363fb292914610552578063715018a6146105675780638456cb591461057c5780638bce1fdf146105915780638da5cb5b146105ac57806391e75fc0146105c1578063935c9ad2146105d95780639a1ea609146105f1578063a70a7af014610609578063a85c38ef1461062a578063b1defc89146106de578063b4bf396e146106f9578063c4b22e7d1461070e578063c86c16f214610723578063d0cca9221461073b578063d362343214610759578063d85e677614610780578063de4e86c5146107a1578063e217866c146107b6578063e45ea8d3146108dd578063e67d7dd8146108f2578063ef78b8d3146109bb578063f1bf6fd5146109d3578063f2fde38b146109f4575b600080fd5b3480156101b957600080fd5b506101c5600435610a15565b604051808e600160a060020a0316600160a060020a031681526020018d600160a060020a0316600160a060020a031681526020018c600160a060020a0316600160a060020a031681526020018b81526020018a815260200189815260200188815260200187815260200186815260200185600281111561024157fe5b60ff1681526020018481526020018381526020018281526020019d505050505050505050505050505060405180910390f35b34801561027f57600080fd5b50610294600160a060020a0360043516610a93565b604080519115158252519081900360200190f35b3480156102b457600080fd5b50610294600160a060020a0360043516610b44565b3480156102d557600080fd5b506102ea600160a060020a0360043516610c1e565b60408051600160a060020a039092168252519081900360200190f35b34801561031257600080fd5b5061031b610c8c565b60408051918252519081900360200190f35b34801561033957600080fd5b50610345600435610c93565b6040518083600281111561035557fe5b60ff1681526020018281526020019250505060405180910390f35b34801561037c57600080fd5b5061031b600435602435604435610ebe565b34801561039a57600080fd5b506103a3611646565b005b3480156103b157600080fd5b506103bd6004356116bc565b604051808881526020018781526020018681526020018560028111156103df57fe5b60ff16815260200184815260200183815260200182815260200197505050505050505060405180910390f35b34801561041757600080fd5b50610423600435611700565b604051808060200188600160a060020a0316600160a060020a0316815260200187600160a060020a0316600160a060020a0316815260200186600160a060020a0316600160a060020a03168152602001858152602001848152602001838152602001828103825289818151815260200191508051906020019060200280838360005b838110156104bd5781810151838201526020016104a5565b505050509050019850505050505050505060405180910390f35b3480156104e357600080fd5b506102946117ef565b3480156104f857600080fd5b506105046004356117ff565b6040518086815260200185600281111561051a57fe5b60ff16815260200184815260200183815260200182600481111561053a57fe5b60ff1681526020019550505050505060405180910390f35b34801561055e57600080fd5b5061031b611836565b34801561057357600080fd5b506103a361183c565b34801561058857600080fd5b506103a361189b565b34801561059d57600080fd5b506103a3600435602435611916565b3480156105b857600080fd5b506102ea611e6c565b3480156105cd57600080fd5b50610294600435611e7b565b3480156105e557600080fd5b50610294600435611ed5565b3480156105fd57600080fd5b50610294600435612025565b34801561061557600080fd5b50610294600160a060020a0360043516612298565b34801561063657600080fd5b5061064260043561236d565b604051808c600281111561065257fe5b60ff1681526020018b600281111561066657fe5b60ff168152600160a060020a03808c1660208301528a166040820152606081018990526080810188905260a00186600481111561069f57fe5b60ff168152600160a060020a0390951660208601525060408085019390935260608401919091526080830152519081900360a001975095505050505050f35b3480156106ea57600080fd5b506103a36004356024356123d6565b34801561070557600080fd5b5061031b613380565b34801561071a57600080fd5b506103a3613386565b34801561072f57600080fd5b506102946004356134c4565b34801561074757600080fd5b5061029460043560ff602435166134d9565b34801561076557600080fd5b50610294600160a060020a03600435811690602435166135fd565b34801561078c57600080fd5b50610294600160a060020a03600435166136bd565b3480156107ad57600080fd5b5061031b6136fa565b3480156107c257600080fd5b506107ce600435613700565b604051808c60028111156107de57fe5b60ff168152600160a060020a03808d1660208301528b166040820152606081018a90526080810189905260a081019060c00187600481111561081c57fe5b60ff168152600160a060020a038716602080830191909152604082018790526080820185905260a0848303810184528a51908301528951606083019260c001918b8101910280838360005b8381101561087f578181015183820152602001610867565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156108be5781810151838201526020016108a6565b505050509050019d505050505050505050505050505060405180910390f35b3480156108e957600080fd5b5061031b61398d565b3480156108fe57600080fd5b50604080516020600460843581810135838102808601850190965280855261031b95833560ff169560248035600160a060020a03169660443596606435963696919560a4959490910192829190850190849080828437505060408051602060608901358a01803582810280850184018652818552999c8b3560ff169c848d0135600160a060020a03169c968701359b919a509850608090950196509294508101928291850190849080828437509497506139939650505050505050565b3480156109c757600080fd5b50610294600435613d86565b3480156109df57600080fd5b50610294600160a060020a0360043516613de0565b348015610a0057600080fd5b506103a3600160a060020a0360043516613e1d565b600b602081905260009182526040909120600181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a01549a8a0154600c8b0154600d909b0154600160a060020a039a8b169c998b169b9a9098169996989597949693959294919360ff9093169290918d565b60008054600160a060020a03163314610aab57600080fd5b81600160a060020a031663eb91d37e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ae957600080fd5b505af1158015610afd573d6000803e3d6000fd5b505050506040513d6020811015610b1357600080fd5b50511515610b2057600080fd5b5060038054600160a060020a031916600160a060020a03831617905560015b919050565b6000805460a060020a900460ff1615610b5c57600080fd5b336000908152601160209081526040808320600160a060020a038616845290915290205460ff161515600114610b9157600080fd5b600160a060020a0382166000818152600f602090815260408083208054600160a060020a0319163390811790915580845260108352818420805460ff19908116600117909155601184528285208686529093528184208054909316909255519092917f4940ef08d5aed63b7d3d3db293d69d6ed1d624995b90e9e944839c8ea0ae450d91a3506001919050565b600160a060020a038082166000908152600f60205260408120549091161580610c615750600160a060020a038083166000818152600f6020526040902054909116145b15610c6d575080610b3f565b50600160a060020a039081166000908152600f60205260409020541690565b6008545b90565b600080610c9e614fe5565b6000848152600a60205260409081902081516101a081019092528054829060ff166002811115610cca57fe5b6002811115610cd557fe5b81528154602090910190610100900460ff166002811115610cf257fe5b6002811115610cfd57fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a0909401939192909190830182828015610daf57602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411610d7e5790505b5050509183525050600582015460209091019060ff166004811115610dd057fe5b6004811115610ddb57fe5b815260058201546101009004600160a060020a031660208083019190915260068301546040808401919091526007840180548251818502810185019093528083526060909401939192909190830182828015610e8a57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411610e455790505b5050505050815260200160088201548152602001600982015481525050905080602001518161018001519250925050915091565b600080610ec961504f565b6000868152600b6020526040902060020154600160a060020a0316331480610f0a57506000868152600b6020526040902060030154600160a060020a031633145b80610f2e57506000868152600b6020526040902060010154600160a060020a031633145b1515610f3957600080fd5b60016000878152600b60205260409020600a015460ff166002811115610f5b57fe5b14610f6557600080fd5b610f6e86613e40565b15610f7e578315610f7e57600080fd5b600754610f9290600163ffffffff613e5616565b6007556000868152600b6020526040902060020154600160a060020a0316331415610fc05760019150610fc5565b600291505b60a060405190810160405280878152602001836002811115610fe357fe5b81526020810187905260408101869052606001600190526007546000908152600d60209081526040909120825181559082015160018083018054909160ff199091169083600281111561103257fe5b0217905550604082015181600201556060820151816003015560808201518160040160006101000a81548160ff0219169083600481111561106f57fe5b0217905550506007546040519091507f7ff56b2eb3ce318aad93d0ba39a3e4a406992a136f9554f17f6bcc43509275d190600090a260018260028111156110b257fe5b1415611394576000868152600e60205260409020600101546040516000805160206152b183398151915290600090a26000868152600e60209081526040808320600180820180548652600d8552838620600401805460ff191660029081179091556007549091559154855293829020825160a08101909352805483529384015491939284019160ff169081111561114557fe5b600281111561115057fe5b8152600282015460208201526003820154604082015260048083015460609092019160ff169081111561117f57fe5b600481111561118a57fe5b9052506000878152600b6020526040902060060154909150841480156111c057506000868152600b602052604090206007015485115b15611231576007546000908152600d602052604090206004908101805460ff191690911790556111ef866134c4565b506000868152600b60209081526040808320600701889055600e9091528120600101556007546040516000805160206152b183398151915290600090a2611333565b60018160800151600481111561124357fe5b148015611254575083816060015110155b8015611264575084816040015111155b15611329576007546000908152600d602081815260408084206004908101805460ff1990811683179091558b8652600e808552838720805488529585528387208301805490921690921790558a85529091529054905190916000805160206152b183398151915291a26000868152600e60205260408120818155600101556112eb866134c4565b506040808201516000888152600b602052828120600780820193909355600601879055905491516000805160206152b18339815191529190a2611333565b600754925061163d565b6000868152600e6020818152604080842060010180548552600d8352818520600401805460ff191660021790558a8552929091529054905190916000805160206152b183398151915291a26007546000878152600e60205260409020600101555b60028260028111156113a257fe5b14156115fd576000868152600e6020526040812001546040516000805160206152b183398151915290600090a26000868152600e6020908152604080832080548452600d8352818420600401805460ff191660029081179091556007548255600191820154855293829020825160a0810190935280548352908101549193909284019160ff169081111561143257fe5b600281111561143d57fe5b8152600282015460208201526003820154604082015260048083015460609092019160ff169081111561146c57fe5b600481111561147757fe5b9052506000878152600b6020526040902060060154909150841480156114ad57506000868152600b602052604090206007015485105b1561151d576007546000908152600d602052604090206004908101805460ff191690911790556114dc866134c4565b506000868152600b60209081526040808320600701889055600e90915281208101556007546040516000805160206152b183398151915290600090a26115fd565b60018160800151600481111561152f57fe5b148015611540575083816060015111155b8015611550575084816040015110155b15611329576007546000908152600d602052604090206004908101805460ff191660018302179055506000868152600e60205260409020600101546040516000805160206152b183398151915290600090a26000868152600e60205260408120818155600101556115c0866134c4565b506000868152600b60205260408082206007808201899055606085015160069092019190915554905190916000805160206152b183398151915291a25b6000868152600b6020526040902060068101546008909101546116259163ffffffff613e5616565b6000878152600b602052604090206009015560075492505b50509392505050565b600054600160a060020a0316331461165d57600080fd5b60005460a060020a900460ff16151561167557600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b6000908152600b60208190526040909120600681015460078201546009830154600a84015494840154600c850154600d9095015493969295919460ff909216939092565b6000818152600b6020908152604080832060018101546002820154600383015460048401546005850154600886015486548851818b0281018b0190995280895260609a998a998a998a998a998a999298600160a060020a0392831698918316979390921695919490939189918301828280156117cf57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff168152602001906008019060208260070104928301926001038202915080841161178a5790505b505050505096509650965096509650965096509650919395979092949650565b60005460a060020a900460ff1681565b6000908152600d602052604090208054600182015460028301546003840154600490940154929460ff928316949193919290911690565b60055490565b600054600160a060020a0316331461185357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a260008054600160a060020a0319169055565b600054600160a060020a031633146118b257600080fd5b60005460a060020a900460ff16156118c957600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b61191e614fe5565b60005460a060020a900460ff161561193557600080fd5b6000838152600a60205260409081902081516101a081019092528054829060ff16600281111561196157fe5b600281111561196c57fe5b81528154602090910190610100900460ff16600281111561198957fe5b600281111561199457fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a0909401939192909190830182828015611a4657602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411611a155790505b5050509183525050600582015460209091019060ff166004811115611a6757fe5b6004811115611a7257fe5b815260058201546101009004600160a060020a031660208083019190915260068301546040808401919091526007840180548251818502810185019093528083526060909401939192909190830182828015611b2157602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611adc5790505b5050509183525050600882015460208201526009909101546040909101529050600281516002811115611b5057fe5b14611b5a57600080fd5b600281602001516002811115611b6c57fe5b14611b7657600080fd5b6080810151821115611b8757600080fd5b8060e001516004811115611b9757fe5b60048054604080517f23eee3e6000000000000000000000000000000000000000000000000000000008152339381019390935251600160a060020a03909116916323eee3e69160248083019260209291908290030181600087803b158015611bfe57600080fd5b505af1158015611c12573d6000803e3d6000fd5b505050506040513d6020811015611c2857600080fd5b50516004811115611c3557fe5b1015611c4057600080fd5b6002546040820151600160a060020a039091169063968f600c903390611c6590610c1e565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b158015611cc957600080fd5b505af1158015611cdd573d6000803e3d6000fd5b505050506040513d6020811015611cf357600080fd5b5051158015611d865750600254604080830151815160e260020a6325a3d803028152600160a060020a039182166004820152336024820152915192169163968f600c916044808201926020929091908290030181600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050506040513d6020811015611d8257600080fd5b5051155b1515611d9157600080fd5b6002546101008201516040805160e260020a6325a3d803028152600160a060020a0392831660048201523360248201529051919092169163968f600c9160448083019260209291908290030181600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b505115611e2557600080fd5b611e556001611e378360400151610c1e565b848460a001518560c001516001600080600102896101400151613993565b50611e6783611e62611836565b6123d6565b505050565b600054600160a060020a031681565b60008054600160a060020a03163314611e9357600080fd5b6009548211611ea157600080fd5b60405182907f1bd10793763c43c1a677f0975376032cebc657fd07cfd7c58ded8e8cce79f1c490600090a250600955600190565b600554600090821115611ee757600080fd5b60026000838152600a6020526040902054610100900460ff166002811115611f0b57fe5b14611f1557600080fd5b6000828152600a6020526040902054620100009004600160a060020a03163314611f3e57600080fd5b6001546000838152600a6020908152604080832060080154815160e060020a63a9059cbb02815233600482015260248101919091529051600160a060020a039094169363a9059cbb93604480840194938390030190829087803b158015611fa457600080fd5b505af1158015611fb8573d6000803e3d6000fd5b505050506040513d6020811015611fce57600080fd5b50511515611fdb57600080fd5b6000828152600a6020526040808220805461ff0019166101001790555183917fb8b459bc0688c37baf5f735d17f1711684bc14ab7db116f88bc18bf409b9309a91a2506001919050565b600061202f61504f565b6000838152600d6020908152604091829020825160a08101909352805483526001810154909183019060ff16600281111561206657fe5b600281111561207157fe5b8152600282015460208201526003820154604082015260048083015460609092019160ff16908111156120a057fe5b60048111156120ab57fe5b90525080516000908152600b6020526040902060010154909150600160a060020a03163314806120f6575080516000908152600b6020526040902060030154600160a060020a031633145b8061211c575080516000908152600b6020526040902060020154600160a060020a031633145b151561212757600080fd5b60048160800151600481111561213957fe5b141561214457600080fd5b60028160200151600281111561215657fe5b14156121e75780516000908152600b6020526040902060020154600160a060020a03163314156121a1576000838152600d60205260409020600401805460ff191660031790556121be565b6000838152600d60205260409020600401805460ff191660021790555b80516000908152600e60205260408082208290555184916000805160206152b183398151915291a25b6001816020015160028111156121f957fe5b141561228f5780516000908152600b6020526040902060020154600160a060020a0316331415612244576000838152600d60205260409020600401805460ff19166002179055612261565b6000838152600d60205260409020600401805460ff191660031790555b80516000908152600e602052604081206001015560405183906000805160206152b183398151915290600090a25b50600192915050565b6000805460a060020a900460ff16156122b057600080fd5b336122ba81610c1e565b600160a060020a0316146122cd57600080fd5b3360009081526010602052604090205460ff16156122ea57600080fd5b81600160a060020a03166122fd83610c1e565b600160a060020a03161461231057600080fd5b600160a060020a0382166000818152601160209081526040808320338085529252808320805460ff191660011790555190917fe398d33bf7e881cdfc9f34c743822904d4e45a0be0db740dd88cb132e4ce2ed991a3506001919050565b600a602052600090815260409020805460018201546002830154600384015460058501546006860154600887015460099097015460ff80881698610100808a04831699600160a060020a036201000090910481169981169897969384169591909304909216928b565b6123de614fe5565b6123e6614fe5565b60008054819081908190819060a060020a900460ff161561240657600080fd5b6000898152600a60205260409081902081516101a081019092528054829060ff16600281111561243257fe5b600281111561243d57fe5b81528154602090910190610100900460ff16600281111561245a57fe5b600281111561246557fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a090940193919290919083018282801561251757602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116124e65790505b5050509183525050600582015460209091019060ff16600481111561253857fe5b600481111561254357fe5b815260058201546101009004600160a060020a0316602080830191909152600683015460408084019190915260078401805482518185028101850190935280835260609094019391929091908301828280156125f257602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116125ad5790505b5050509183525050600882015460208083019190915260099092015460409182015260008b8152600a9092529081902081516101a0810190925280549299509091829060ff16600281111561264357fe5b600281111561264e57fe5b81528154602090910190610100900460ff16600281111561266b57fe5b600281111561267657fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a090940193919290919083018282801561272857602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116126f75790505b5050509183525050600582015460209091019060ff16600481111561274957fe5b600481111561275457fe5b815260058201546101009004600160a060020a03166020808301919091526006830154604080840191909152600784018054825181850281018501909352808352606090940193919290919083018282801561280357602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116127be5790505b505050918352505060088201546020820152600990910154604090910152955060028760200151600281111561283557fe5b148015612851575060028660200151600281111561284f57fe5b145b151561285c57600080fd5b6060870151600160a060020a03161580612897575061287e8660400151610c1e565b600160a060020a03168760600151600160a060020a0316145b80156128d957506060860151600160a060020a031615806128d957506128c08760400151610c1e565b600160a060020a03168660600151600160a060020a0316145b15156128e457600080fd5b6002875160028111156128f357fe5b146128fd57600080fd5b60018651600281111561290c57fe5b1461291657600080fd5b6002546101008701516040890151600160a060020a039092169163968f600c919061294090610c1e565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b1580156129a457600080fd5b505af11580156129b8573d6000803e3d6000fd5b505050506040513d60208110156129ce57600080fd5b5051158015612a6a57506002546101008701516040808a0151815160e260020a6325a3d803028152600160a060020a03938416600482015290831660248201529051919092169163968f600c9160448083019260209291908290030181600087803b158015612a3c57600080fd5b505af1158015612a50573d6000803e3d6000fd5b505050506040513d6020811015612a6657600080fd5b5051155b8015612b2c575060025460408088015190890151600160a060020a039092169163968f600c9190612a9a90610c1e565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b158015612afe57600080fd5b505af1158015612b12573d6000803e3d6000fd5b505050506040513d6020811015612b2857600080fd5b5051155b8015612bc2575060025460408088015189820151825160e260020a6325a3d803028152600160a060020a0392831660048201529082166024820152915192169163968f600c916044808201926020929091908290030181600087803b158015612b9457600080fd5b505af1158015612ba8573d6000803e3d6000fd5b505050506040513d6020811015612bbe57600080fd5b5051155b8015612c5b5750600254610100880151604080890151815160e260020a6325a3d803028152600160a060020a03938416600482015290831660248201529051919092169163968f600c9160448083019260209291908290030181600087803b158015612c2d57600080fd5b505af1158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b5051155b8015612d0357506002546040880151600160a060020a039091169063968f600c90612c8590610c1e565b6040808a0151815160e060020a63ffffffff8616028152600160a060020a039384166004820152921660248301525160448083019260209291908290030181600087803b158015612cd557600080fd5b505af1158015612ce9573d6000803e3d6000fd5b505050506040513d6020811015612cff57600080fd5b5051155b8015612d99575060025460408089015188820151825160e260020a6325a3d803028152600160a060020a0392831660048201529082166024820152915192169163968f600c916044808201926020929091908290030181600087803b158015612d6b57600080fd5b505af1158015612d7f573d6000803e3d6000fd5b505050506040513d6020811015612d9557600080fd5b5051155b1515612da457600080fd5b60a080870151908801511115612db957600080fd5b608080870151908801511015612dce57600080fd5b8660e001516004811115612dde57fe5b600480546040808a015181517f23eee3e6000000000000000000000000000000000000000000000000000000008152600160a060020a039182169481019490945290519116916323eee3e69160248083019260209291908290030181600087803b158015612e4b57600080fd5b505af1158015612e5f573d6000803e3d6000fd5b505050506040513d6020811015612e7557600080fd5b50516004811115612e8257fe5b1015612e8d57600080fd5b8560e001516004811115612e9d57fe5b600480546040808b015181517f23eee3e6000000000000000000000000000000000000000000000000000000008152600160a060020a039182169481019490945290519116916323eee3e69160248083019260209291908290030181600087803b158015612f0a57600080fd5b505af1158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b50516004811115612f4157fe5b1015612f4c57600080fd5b6009548760c00151511015612f6e57612f688760c00151613e63565b60c08801525b6009548660c00151511015612f9057612f8a8760c00151613e63565b60c08701525b600094505b8660c0015151851015612ff65760c0860151805186908110612fb357fe5b906020019060200201511580612fe0575060c0870151805186908110612fd557fe5b906020019060200201515b1515612feb57600080fd5b600190940193612f95565b60085487610140015151101561301b57613014876101400151613eed565b6101408801525b60085486610140015151101561304057613039866101400151613eed565b6101408701525b600094505b866101400151518510156130b65761014086015180518690811061306557fe5b9060200190602002015167ffffffffffffffff168761014001518681518110151561308c57fe5b6020908102909101015167ffffffffffffffff1610156130ab57600080fd5b600190940193613045565b6006546130ca90600163ffffffff613e5616565b60065560408701516130db90610c1e565b60008a8152600a6020526040808220805461010061ff0019918216811783558d855283852080549092161781556006546009928301819055910155519195508a917fb8b459bc0688c37baf5f735d17f1711684bc14ab7db116f88bc18bf409b9309a9190a260405188907fb8b459bc0688c37baf5f735d17f1711684bc14ab7db116f88bc18bf409b9309a90600090a26080870151429350600092501561319557608086015161319290849063ffffffff613e5616565b91505b85610160015190506101c06040519081016040528088610140015181526020018860400151600160a060020a031681526020018760400151600160a060020a0316815260200185600160a060020a031681526020018a8152602001898152602001876080015181526020018860a0015181526020018481526020018381526020016001600281111561322357fe5b81526020018281526020016000815260200142815250600b60006006548152602001908152602001600020600082015181600001908051906020019061326a92919061507b565b50602082015160018281018054600160a060020a0319908116600160a060020a0394851617909155604085015160028086018054841692861692909217909155606086015160038601805490931694169390931790556080840151600484015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840180549193909260ff199092169190849081111561332157fe5b0217905550610160820151600b820155610180820151600c8201556101a090910151600d909101556006546040517fb9ffc65567b7238dd641372277b8c93ed03df73945932dd84fd3cbb33f3eddbf90600090a2505050505050505050565b60075490565b600054600160a060020a0316331461339d57600080fd5b60015460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561341157600080fd5b505af1158015613425573d6000803e3d6000fd5b505050506040513d602081101561343b57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561348a57600080fd5b505af115801561349e573d6000803e3d6000fd5b505050506040513d60208110156134b457600080fd5b5050600054600160a060020a0316ff5b60006134cf82613f75565b5061228f82614668565b600060016000848152600b60205260409020600a015460ff1660028111156134fd57fe5b1461350757600080fd5b6000838152600b6020526040902060010154600160a060020a031633148061354857506000838152600b6020526040902060020154600160a060020a031633145b8061356c57506000838152600b6020526040902060030154600160a060020a031633145b151561357757600080fd5b6000838152600b60205260409020600681015460089091015461359f9163ffffffff613e5616565b42116135cb576000838152600b6020526040902060020154600160a060020a031633146135cb57600080fd5b6135d58383614aaa565b6135de83613f75565b506135e883614c7f565b6135f183614d96565b50600190505b92915050565b6000805460a060020a900460ff161561361557600080fd5b81600160a060020a031661362884610c1e565b600160a060020a0316148015613658575033600160a060020a0384161480613658575033600160a060020a038316145b151561366357600080fd5b600160a060020a038084166000818152600f60205260408082208054600160a060020a031916905551928516927f7822736ed69a5fe0ad6dc2c6669e8053495d711118e5435b047f9b83deda4c379190a350600192915050565b60008054600160a060020a031633146136d557600080fd5b5060028054600160a060020a038316600160a060020a03199091161790556001919050565b60095490565b6000806000806000606060008060006060600061371b614fe5565b60008d8152600a60205260409081902081516101a081019092528054829060ff16600281111561374757fe5b600281111561375257fe5b81528154602090910190610100900460ff16600281111561376f57fe5b600281111561377a57fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a090940193919290919083018282801561382c57602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116137fb5790505b5050509183525050600582015460209091019060ff16600481111561384d57fe5b600481111561385857fe5b815260058201546101009004600160a060020a03166020808301919091526006830154604080840191909152600784018054825181850281018501909352808352606090940193919290919083018282801561390757602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116138c25790505b5050505050815260200160088201548152602001600982015481525050905080600001518160400151826060015183608001518460a001518560c001518660e001518761010001518861012001518961014001518a61016001518595508191509b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b60065490565b6000805481908190819060a060020a900460ff16156139b157600080fd5b60018860048111156139bf57fe5b10156139ca57600080fd5b600954895111156139da57600080fd5b600854855111156139ea57600080fd5b600092505b8451831015613a38576780000000000000008584815181101515613a0f57fe5b6020908102909101015167ffffffffffffffff1610613a2d57600080fd5b6001909201916139ef565b6000915060018d6002811115613a4a57fe5b1415613b39578a1515613a6a57613a638a610e10614e61565b9150613a8f565b620151808b1015613a7f57613a638a8c614e61565b613a8c8a62015180614e61565b91505b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015613b0257600080fd5b505af1158015613b16573d6000803e3d6000fd5b505050506040513d6020811015613b2c57600080fd5b50511515613b3957600080fd5b600554613b4d90600163ffffffff613e5616565b6005819055604080516101a08101909152909150808e6002811115613b6e57fe5b81526020016002815260200133600160a060020a031681526020018d600160a060020a031681526020018c81526020018b81526020018a8152602001896004811115613bb657fe5b8152600160a060020a03891660208083019190915260408083018a90526060830189905260808301869052600060a0909301839052848352600a909152902081518154829060ff19166001836002811115613c0d57fe5b021790555060208201518154829061ff001916610100836002811115613c2f57fe5b02179055506040820151815475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a03928316021782556060830151600183018054600160a060020a031916919092161790556080820151600282015560a0820151600382015560c08201518051613cb2916004840191602090910190615136565b5060e082015160058201805460ff19166001836004811115613cd057fe5b02179055506101008281015160058301805474ffffffffffffffffffffffffffffffffffffffff001916600160a060020a0390921690920217905561012082015160068201556101408201518051613d3291600784019160209091019061507b565b5061016082015160088201556101809091015160099091015560405181907fffa896d8919f0556f53ace1395617969a3b53ab5271a085e28ac0c4a3724e63d90600090a29c9b505050505050505050505050565b60008054600160a060020a03163314613d9e57600080fd5b6008548211613dac57600080fd5b60405182907f1acf16d0a0451282e1d2cac3f5473ca7c931bcda610ff6e061041af50e2abc1390600090a250600855600190565b60008054600160a060020a03163314613df857600080fd5b5060048054600160a060020a038316600160a060020a03199091161790556001919050565b600054600160a060020a03163314613e3457600080fd5b613e3d81614f25565b50565b6000908152600b60205260409020600601541590565b818101828110156135f757fe5b6060806000600954604051908082528060200260200182016040528015613e94578160200160208202803883390190505b509150600090505b8351811015613ee2578381815181101515613eb357fe5b906020019060200201518282815181101515613ecb57fe5b911515602092830290910190910152600101613e9c565b8192505b5050919050565b6060806000600854604051908082528060200260200182016040528015613f1e578160200160208202803883390190505b509150600090505b8351811015613ee2578381815181101515613f3d57fe5b906020019060200201518282815181101515613f5557fe5b67ffffffffffffffff909216602092830290910190910152600101613f26565b6000613f7f6151d7565b600060016000858152600b60205260409020600a015460ff166002811115613fa357fe5b14613fad57600080fd5b6000848152600b6020526040902060010154600160a060020a0316331480613fee57506000848152600b6020526040902060020154600160a060020a031633145b8061401257506000848152600b6020526040902060030154600160a060020a031633145b151561401d57600080fd5b6000848152600b6020908152604091829020825181546101e0938102820184019094526101c0810184815290939192849284918401828280156140b357602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff168152602001906008019060208260070104928301926001038202915080841161406e5790505b50505091835250506001820154600160a060020a039081166020830152600280840154821660408401526003840154909116606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a8301546101409092019160ff169081111561414157fe5b600281111561414c57fe5b8152602001600b8201548152602001600c8201548152602001600d82015481525050915061417984613e40565b1580156141905750816101200151826101a0015110155b1561419e5760019250613ee6565b6141a784613e40565b1580156141b8575081610120015142115b80156141cd5750816101200151826101a00151105b15614203576141fc8260e001516141f7846101a00151856101200151614f9590919063ffffffff16565b614e61565b9050614226565b6142238260e001516141f7846101a0015142614f9590919063ffffffff16565b90505b81610160015181111561452f5761016082015161424a90829063ffffffff614f9516565b60015460408085015181517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015291519216916370a08231916024808201926020929091908290030181600087803b1580156142b557600080fd5b505af11580156142c9573d6000803e3d6000fd5b505050506040513d60208110156142df57600080fd5b5051106143f7576001546040830151610160840151600160a060020a03909216916323b872dd9190309061431a90869063ffffffff614f9516565b6040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b15801561436e57600080fd5b505af1158015614382573d6000803e3d6000fd5b505050506040513d602081101561439857600080fd5b505115156143a557600080fd5b6143df6143c083610160015183614f9590919063ffffffff16565b6000868152600b6020819052604090912001549063ffffffff613e5616565b6000858152600b60208190526040909120015561452f565b6000848152600b60208190526040808320909101549051909186917f51f87cd83a2ce6c4ff7957861f7aba400dc3857d2325e0c94cc69f468874515c9190a361443f84614c7f565b60015460608301516101608401516040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b1580156144a357600080fd5b505af11580156144b7573d6000803e3d6000fd5b505050506040513d60208110156144cd57600080fd5b505115156144da57600080fd5b6000848152600b6020526040902042600d820155610160830151600c909101546145099163ffffffff613e5616565b6000858152600b602081905260408220600c810193909355919091015560019250613ee6565b60015460608301516040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561458d57600080fd5b505af11580156145a1573d6000803e3d6000fd5b505050506040513d60208110156145b757600080fd5b505115156145c457600080fd5b6000848152600b6020819052604090912001546145e7908263ffffffff614f9516565b6000858152600b6020819052604090912090810191909155600c0154614613908263ffffffff613e5616565b6000858152600b6020526040808220600c81019390935542600d909301929092559051829186917f51f87cd83a2ce6c4ff7957861f7aba400dc3857d2325e0c94cc69f468874515c9190a35060019392505050565b6000806146736151d7565b6000848152600b60209081526040808320815181546101e0948102820185019093526101c0810183815290939192849284919084018282801561470957602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116146c45790505b50505091835250506001820154600160a060020a039081166020830152600280840154821660408401526003840154909116606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a8301546101409092019160ff169081111561479757fe5b60028111156147a257fe5b8152602001600b8201548152602001600c8201548152602001600d8201548152505091506147cf85613e40565b1561480057600282610140015160028111156147e757fe5b14156147f65760019350614aa2565b610e10925061485b565b8161012001514211156148165760019350614aa2565b6101208201516201518090614831904263ffffffff614f9516565b10156148545761012082015161484d904263ffffffff614f9516565b925061485b565b6201518092505b6000858152600b60208190526040909120015460e083015161487d9085614e61565b1115614a9d576148b7600b6000878152602001908152602001600020600b01546148ab8460e0015186614e61565b9063ffffffff614f9516565b60015460408085015181517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152915193945084939216916370a08231916024808201926020929091908290030181600087803b15801561492757600080fd5b505af115801561493b573d6000803e3d6000fd5b505050506040513d602081101561495157600080fd5b505110614a425760015460408084015181517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201523060248201526044810185905291519216916323b872dd916064808201926020929091908290030181600087803b1580156149d057600080fd5b505af11580156149e4573d6000803e3d6000fd5b505050506040513d60208110156149fa57600080fd5b50511515614a0757600080fd5b6000858152600b602081905260409091200154614a2a908263ffffffff613e5616565b6000868152600b602081905260409091200155614a9d565b6000858152600b60208190526040808320909101549051909187917f51f87cd83a2ce6c4ff7957861f7aba400dc3857d2325e0c94cc69f468874515c9190a3614a8a85614c7f565b614a9385614d96565b5060019350614aa2565b600193505b505050919050565b6000828152600b6020526040902060020154600160a060020a0316331480614add57506000816002811115614adb57fe5b145b1515614ae857600080fd5b6001816002811115614af657fe5b1415614bb457600280546000848152600b602090815260408083209485015460019095015481517f473b736f000000000000000000000000000000000000000000000000000000008152600160a060020a03968716600482015290861660248201529051949093169363473b736f93604480820194918390030190829087803b158015614b8257600080fd5b505af1158015614b96573d6000803e3d6000fd5b505050506040513d6020811015614bac57600080fd5b50614c7b9050565b6002816002811115614bc257fe5b1415614c7b57600280546000848152600b602090815260408083209485015460039095015481517f473b736f000000000000000000000000000000000000000000000000000000008152600160a060020a03968716600482015290861660248201529051949093169363473b736f93604480820194918390030190829087803b158015614c4e57600080fd5b505af1158015614c62573d6000803e3d6000fd5b505050506040513d6020811015614c7857600080fd5b50505b5050565b60026000828152600b60205260409020600a015460ff166002811115614ca157fe5b1415614cac57613e3d565b60016000828152600b60205260409020600a015460ff166002811115614cce57fe5b14614cd857600080fd5b6000818152600b6020526040902060020154600160a060020a0316331480614d1957506000818152600b6020526040902060010154600160a060020a031633145b80614d3d57506000818152600b6020526040902060030154600160a060020a031633145b1515614d4857600080fd5b6000818152600b6020526040808220600a8101805460ff19166002179055426009909101555182917f0b27183934cfdbeb1fbbe288c2e163ed7aa8f458a954054970f78446bccb36e091a250565b6000818152600b602081905260408220015415614e59576001546000838152600b602081815260408084206002810154930154815160e060020a63a9059cbb028152600160a060020a03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b158015614e1a57600080fd5b505af1158015614e2e573d6000803e3d6000fd5b505050506040513d6020811015614e4457600080fd5b50506000828152600b60208190526040822001555b506001919050565b600080600360009054906101000a9004600160a060020a0316600160a060020a031663eb91d37e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614eb757600080fd5b505af1158015614ecb573d6000803e3d6000fd5b505050506040513d6020811015614ee157600080fd5b50519050614f1d670de0b6b3a7640000614f1185614f05858963ffffffff614fa716565b9063ffffffff614fa716565b9063ffffffff614fd016565b949350505050565b600160a060020a0381161515614f3a57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b600082821115614fa157fe5b50900390565b6000821515614fb8575060006135f7565b50818102818382811515614fc857fe5b04146135f757fe5b60008183811515614fdd57fe5b049392505050565b604080516101a081019091528060008152602001600081526000602082018190526040820181905260608083018290526080830182905260a083015260c0909101908152600060208201819052604082018190526060808301526080820181905260a09091015290565b6040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b828054828255906000526020600020906003016004900481019282156151265791602002820160005b838211156150f057835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026150a4565b80156151245782816101000a81549067ffffffffffffffff02191690556008016020816007010492830192600103026150f0565b505b5061513292915061526d565b5090565b82805482825590600052602060002090601f016020900481019282156151cb5791602002820160005b8382111561519c57835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030261515f565b80156151c95782816101000a81549060ff021916905560010160208160000104928301926001030261519c565b505b50615132929150615292565b6101c060405190810160405280606081526020016000600160a060020a031681526020016000600160a060020a031681526020016000600160a060020a031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000600281111561525257fe5b81526020016000815260200160008152602001600081525090565b610c9091905b8082111561513257805467ffffffffffffffff19168155600101615273565b610c9091905b8082111561513257805460ff1916815560010161529856004b92d35447745e95b7344414a41ae94984787d0ebcd2c12021169197bb59af39a165627a7a7230582023c1be43d166d9cf973eba2bf9d5d39d1623e8d0ca41c982c47f30f66801033b0029` +const MarketBin = `0x60806040526000805460a060020a60ff02191681556005819055600681905560075534801561002d57600080fd5b5060405160c0806153ce83398101604090815281516020830151918301516060840151608085015160a09095015160008054600160a060020a0319908116331790915560018054600160a060020a0396871690831617905560028054968616968216969096179095556003805493851693861693909317909255600480549390911692909316919091179091556008919091556009556152fc806100d26000396000f3006080604052600436106101a85763ffffffff60e060020a60003504166303988f8481146101ad5780630adef86c146102735780631a3d5f82146102a8578063289e77b3146102c9578063348843cf146103065780633a9072271461032d5780633c1cbb34146103705780633f4ba83a1461038e5780634fabdd4b146103a55780635ad5f6ae1461040b5780635c975abb146104d7578063616451c5146104ec57806363fb292914610552578063715018a6146105675780638456cb591461057c5780638bce1fdf146105915780638da5cb5b146105ac57806391e75fc0146105c1578063935c9ad2146105d95780639a1ea609146105f1578063a70a7af014610609578063a85c38ef1461062a578063b1defc89146106de578063b4bf396e146106f9578063c4b22e7d1461070e578063c86c16f214610723578063d0cca9221461073b578063d362343214610759578063d85e677614610780578063de4e86c5146107a1578063e217866c146107b6578063e45ea8d3146108dd578063e67d7dd8146108f2578063ef78b8d3146109bb578063f1bf6fd5146109d3578063f2fde38b146109f4575b600080fd5b3480156101b957600080fd5b506101c5600435610a15565b604051808e600160a060020a0316600160a060020a031681526020018d600160a060020a0316600160a060020a031681526020018c600160a060020a0316600160a060020a031681526020018b81526020018a815260200189815260200188815260200187815260200186815260200185600281111561024157fe5b60ff1681526020018481526020018381526020018281526020019d505050505050505050505050505060405180910390f35b34801561027f57600080fd5b50610294600160a060020a0360043516610a93565b604080519115158252519081900360200190f35b3480156102b457600080fd5b50610294600160a060020a0360043516610b44565b3480156102d557600080fd5b506102ea600160a060020a0360043516610c1e565b60408051600160a060020a039092168252519081900360200190f35b34801561031257600080fd5b5061031b610c8c565b60408051918252519081900360200190f35b34801561033957600080fd5b50610345600435610c93565b6040518083600281111561035557fe5b60ff1681526020018281526020019250505060405180910390f35b34801561037c57600080fd5b5061031b600435602435604435610ebe565b34801561039a57600080fd5b506103a3611646565b005b3480156103b157600080fd5b506103bd6004356116bc565b604051808881526020018781526020018681526020018560028111156103df57fe5b60ff16815260200184815260200183815260200182815260200197505050505050505060405180910390f35b34801561041757600080fd5b50610423600435611700565b604051808060200188600160a060020a0316600160a060020a0316815260200187600160a060020a0316600160a060020a0316815260200186600160a060020a0316600160a060020a03168152602001858152602001848152602001838152602001828103825289818151815260200191508051906020019060200280838360005b838110156104bd5781810151838201526020016104a5565b505050509050019850505050505050505060405180910390f35b3480156104e357600080fd5b506102946117ef565b3480156104f857600080fd5b506105046004356117ff565b6040518086815260200185600281111561051a57fe5b60ff16815260200184815260200183815260200182600481111561053a57fe5b60ff1681526020019550505050505060405180910390f35b34801561055e57600080fd5b5061031b611836565b34801561057357600080fd5b506103a361183c565b34801561058857600080fd5b506103a361189b565b34801561059d57600080fd5b506103a3600435602435611916565b3480156105b857600080fd5b506102ea611e6c565b3480156105cd57600080fd5b50610294600435611e7b565b3480156105e557600080fd5b50610294600435611ed5565b3480156105fd57600080fd5b50610294600435612025565b34801561061557600080fd5b50610294600160a060020a0360043516612298565b34801561063657600080fd5b5061064260043561236d565b604051808c600281111561065257fe5b60ff1681526020018b600281111561066657fe5b60ff168152600160a060020a03808c1660208301528a166040820152606081018990526080810188905260a00186600481111561069f57fe5b60ff168152600160a060020a0390951660208601525060408085019390935260608401919091526080830152519081900360a001975095505050505050f35b3480156106ea57600080fd5b506103a36004356024356123d6565b34801561070557600080fd5b5061031b613380565b34801561071a57600080fd5b506103a3613386565b34801561072f57600080fd5b506102946004356134c4565b34801561074757600080fd5b5061029460043560ff602435166134d9565b34801561076557600080fd5b50610294600160a060020a03600435811690602435166135fd565b34801561078c57600080fd5b50610294600160a060020a03600435166136bd565b3480156107ad57600080fd5b5061031b6136fa565b3480156107c257600080fd5b506107ce600435613700565b604051808c60028111156107de57fe5b60ff168152600160a060020a03808d1660208301528b166040820152606081018a90526080810189905260a081019060c00187600481111561081c57fe5b60ff168152600160a060020a038716602080830191909152604082018790526080820185905260a0848303810184528a51908301528951606083019260c001918b8101910280838360005b8381101561087f578181015183820152602001610867565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156108be5781810151838201526020016108a6565b505050509050019d505050505050505050505050505060405180910390f35b3480156108e957600080fd5b5061031b61398d565b3480156108fe57600080fd5b50604080516020600460843581810135838102808601850190965280855261031b95833560ff169560248035600160a060020a03169660443596606435963696919560a4959490910192829190850190849080828437505060408051602060608901358a01803582810280850184018652818552999c8b3560ff169c848d0135600160a060020a03169c968701359b919a509850608090950196509294508101928291850190849080828437509497506139939650505050505050565b3480156109c757600080fd5b50610294600435613d86565b3480156109df57600080fd5b50610294600160a060020a0360043516613de0565b348015610a0057600080fd5b506103a3600160a060020a0360043516613e1d565b600b602081905260009182526040909120600181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a01549a8a0154600c8b0154600d909b0154600160a060020a039a8b169c998b169b9a9098169996989597949693959294919360ff9093169290918d565b60008054600160a060020a03163314610aab57600080fd5b81600160a060020a031663eb91d37e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ae957600080fd5b505af1158015610afd573d6000803e3d6000fd5b505050506040513d6020811015610b1357600080fd5b50511515610b2057600080fd5b5060038054600160a060020a031916600160a060020a03831617905560015b919050565b6000805460a060020a900460ff1615610b5c57600080fd5b336000908152601160209081526040808320600160a060020a038616845290915290205460ff161515600114610b9157600080fd5b600160a060020a0382166000818152600f602090815260408083208054600160a060020a0319163390811790915580845260108352818420805460ff19908116600117909155601184528285208686529093528184208054909316909255519092917f4940ef08d5aed63b7d3d3db293d69d6ed1d624995b90e9e944839c8ea0ae450d91a3506001919050565b600160a060020a038082166000908152600f60205260408120549091161580610c615750600160a060020a038083166000818152600f6020526040902054909116145b15610c6d575080610b3f565b50600160a060020a039081166000908152600f60205260409020541690565b6008545b90565b600080610c9e614fe5565b6000848152600a60205260409081902081516101a081019092528054829060ff166002811115610cca57fe5b6002811115610cd557fe5b81528154602090910190610100900460ff166002811115610cf257fe5b6002811115610cfd57fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a0909401939192909190830182828015610daf57602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411610d7e5790505b5050509183525050600582015460209091019060ff166004811115610dd057fe5b6004811115610ddb57fe5b815260058201546101009004600160a060020a031660208083019190915260068301546040808401919091526007840180548251818502810185019093528083526060909401939192909190830182828015610e8a57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411610e455790505b5050505050815260200160088201548152602001600982015481525050905080602001518161018001519250925050915091565b600080610ec961504f565b6000868152600b6020526040902060020154600160a060020a0316331480610f0a57506000868152600b6020526040902060030154600160a060020a031633145b80610f2e57506000868152600b6020526040902060010154600160a060020a031633145b1515610f3957600080fd5b60016000878152600b60205260409020600a015460ff166002811115610f5b57fe5b14610f6557600080fd5b610f6e86613e40565b15610f7e578315610f7e57600080fd5b600754610f9290600163ffffffff613e5616565b6007556000868152600b6020526040902060020154600160a060020a0316331415610fc05760019150610fc5565b600291505b60a060405190810160405280878152602001836002811115610fe357fe5b81526020810187905260408101869052606001600190526007546000908152600d60209081526040909120825181559082015160018083018054909160ff199091169083600281111561103257fe5b0217905550604082015181600201556060820151816003015560808201518160040160006101000a81548160ff0219169083600481111561106f57fe5b0217905550506007546040519091507f7ff56b2eb3ce318aad93d0ba39a3e4a406992a136f9554f17f6bcc43509275d190600090a260018260028111156110b257fe5b1415611394576000868152600e60205260409020600101546040516000805160206152b183398151915290600090a26000868152600e60209081526040808320600180820180548652600d8552838620600401805460ff191660029081179091556007549091559154855293829020825160a08101909352805483529384015491939284019160ff169081111561114557fe5b600281111561115057fe5b8152600282015460208201526003820154604082015260048083015460609092019160ff169081111561117f57fe5b600481111561118a57fe5b9052506000878152600b6020526040902060060154909150841480156111c057506000868152600b602052604090206007015485115b15611231576007546000908152600d602052604090206004908101805460ff191690911790556111ef866134c4565b506000868152600b60209081526040808320600701889055600e9091528120600101556007546040516000805160206152b183398151915290600090a2611333565b60018160800151600481111561124357fe5b148015611254575083816060015110155b8015611264575084816040015111155b15611329576007546000908152600d602081815260408084206004908101805460ff1990811683179091558b8652600e808552838720805488529585528387208301805490921690921790558a85529091529054905190916000805160206152b183398151915291a26000868152600e60205260408120818155600101556112eb866134c4565b506040808201516000888152600b602052828120600780820193909355600601879055905491516000805160206152b18339815191529190a2611333565b600754925061163d565b6000868152600e6020818152604080842060010180548552600d8352818520600401805460ff191660021790558a8552929091529054905190916000805160206152b183398151915291a26007546000878152600e60205260409020600101555b60028260028111156113a257fe5b14156115fd576000868152600e6020526040812001546040516000805160206152b183398151915290600090a26000868152600e6020908152604080832080548452600d8352818420600401805460ff191660029081179091556007548255600191820154855293829020825160a0810190935280548352908101549193909284019160ff169081111561143257fe5b600281111561143d57fe5b8152600282015460208201526003820154604082015260048083015460609092019160ff169081111561146c57fe5b600481111561147757fe5b9052506000878152600b6020526040902060060154909150841480156114ad57506000868152600b602052604090206007015485105b1561151d576007546000908152600d602052604090206004908101805460ff191690911790556114dc866134c4565b506000868152600b60209081526040808320600701889055600e90915281208101556007546040516000805160206152b183398151915290600090a26115fd565b60018160800151600481111561152f57fe5b148015611540575083816060015111155b8015611550575084816040015110155b15611329576007546000908152600d602052604090206004908101805460ff191660018302179055506000868152600e60205260409020600101546040516000805160206152b183398151915290600090a26000868152600e60205260408120818155600101556115c0866134c4565b506000868152600b60205260408082206007808201899055606085015160069092019190915554905190916000805160206152b183398151915291a25b6000868152600b6020526040902060068101546008909101546116259163ffffffff613e5616565b6000878152600b602052604090206009015560075492505b50509392505050565b600054600160a060020a0316331461165d57600080fd5b60005460a060020a900460ff16151561167557600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b6000908152600b60208190526040909120600681015460078201546009830154600a84015494840154600c850154600d9095015493969295919460ff909216939092565b6000818152600b6020908152604080832060018101546002820154600383015460048401546005850154600886015486548851818b0281018b0190995280895260609a998a998a998a998a998a999298600160a060020a0392831698918316979390921695919490939189918301828280156117cf57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff168152602001906008019060208260070104928301926001038202915080841161178a5790505b505050505096509650965096509650965096509650919395979092949650565b60005460a060020a900460ff1681565b6000908152600d602052604090208054600182015460028301546003840154600490940154929460ff928316949193919290911690565b60055490565b600054600160a060020a0316331461185357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a260008054600160a060020a0319169055565b600054600160a060020a031633146118b257600080fd5b60005460a060020a900460ff16156118c957600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b61191e614fe5565b60005460a060020a900460ff161561193557600080fd5b6000838152600a60205260409081902081516101a081019092528054829060ff16600281111561196157fe5b600281111561196c57fe5b81528154602090910190610100900460ff16600281111561198957fe5b600281111561199457fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a0909401939192909190830182828015611a4657602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411611a155790505b5050509183525050600582015460209091019060ff166004811115611a6757fe5b6004811115611a7257fe5b815260058201546101009004600160a060020a031660208083019190915260068301546040808401919091526007840180548251818502810185019093528083526060909401939192909190830182828015611b2157602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611adc5790505b5050509183525050600882015460208201526009909101546040909101529050600281516002811115611b5057fe5b14611b5a57600080fd5b600281602001516002811115611b6c57fe5b14611b7657600080fd5b6080810151821115611b8757600080fd5b8060e001516004811115611b9757fe5b60048054604080517f23eee3e6000000000000000000000000000000000000000000000000000000008152339381019390935251600160a060020a03909116916323eee3e69160248083019260209291908290030181600087803b158015611bfe57600080fd5b505af1158015611c12573d6000803e3d6000fd5b505050506040513d6020811015611c2857600080fd5b50516004811115611c3557fe5b1015611c4057600080fd5b6002546040820151600160a060020a039091169063968f600c903390611c6590610c1e565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b158015611cc957600080fd5b505af1158015611cdd573d6000803e3d6000fd5b505050506040513d6020811015611cf357600080fd5b5051158015611d865750600254604080830151815160e260020a6325a3d803028152600160a060020a039182166004820152336024820152915192169163968f600c916044808201926020929091908290030181600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050506040513d6020811015611d8257600080fd5b5051155b1515611d9157600080fd5b6002546101008201516040805160e260020a6325a3d803028152600160a060020a0392831660048201523360248201529051919092169163968f600c9160448083019260209291908290030181600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b505115611e2557600080fd5b611e556001611e378360400151610c1e565b848460a001518560c001516001600080600102896101400151613993565b50611e6783611e62611836565b6123d6565b505050565b600054600160a060020a031681565b60008054600160a060020a03163314611e9357600080fd5b6009548211611ea157600080fd5b60405182907f1bd10793763c43c1a677f0975376032cebc657fd07cfd7c58ded8e8cce79f1c490600090a250600955600190565b600554600090821115611ee757600080fd5b60026000838152600a6020526040902054610100900460ff166002811115611f0b57fe5b14611f1557600080fd5b6000828152600a6020526040902054620100009004600160a060020a03163314611f3e57600080fd5b6001546000838152600a6020908152604080832060080154815160e060020a63a9059cbb02815233600482015260248101919091529051600160a060020a039094169363a9059cbb93604480840194938390030190829087803b158015611fa457600080fd5b505af1158015611fb8573d6000803e3d6000fd5b505050506040513d6020811015611fce57600080fd5b50511515611fdb57600080fd5b6000828152600a6020526040808220805461ff0019166101001790555183917fb8b459bc0688c37baf5f735d17f1711684bc14ab7db116f88bc18bf409b9309a91a2506001919050565b600061202f61504f565b6000838152600d6020908152604091829020825160a08101909352805483526001810154909183019060ff16600281111561206657fe5b600281111561207157fe5b8152600282015460208201526003820154604082015260048083015460609092019160ff16908111156120a057fe5b60048111156120ab57fe5b90525080516000908152600b6020526040902060010154909150600160a060020a03163314806120f6575080516000908152600b6020526040902060030154600160a060020a031633145b8061211c575080516000908152600b6020526040902060020154600160a060020a031633145b151561212757600080fd5b60048160800151600481111561213957fe5b141561214457600080fd5b60028160200151600281111561215657fe5b14156121e75780516000908152600b6020526040902060020154600160a060020a03163314156121a1576000838152600d60205260409020600401805460ff191660031790556121be565b6000838152600d60205260409020600401805460ff191660021790555b80516000908152600e60205260408082208290555184916000805160206152b183398151915291a25b6001816020015160028111156121f957fe5b141561228f5780516000908152600b6020526040902060020154600160a060020a0316331415612244576000838152600d60205260409020600401805460ff19166002179055612261565b6000838152600d60205260409020600401805460ff191660031790555b80516000908152600e602052604081206001015560405183906000805160206152b183398151915290600090a25b50600192915050565b6000805460a060020a900460ff16156122b057600080fd5b336122ba81610c1e565b600160a060020a0316146122cd57600080fd5b3360009081526010602052604090205460ff16156122ea57600080fd5b81600160a060020a03166122fd83610c1e565b600160a060020a03161461231057600080fd5b600160a060020a0382166000818152601160209081526040808320338085529252808320805460ff191660011790555190917fe398d33bf7e881cdfc9f34c743822904d4e45a0be0db740dd88cb132e4ce2ed991a3506001919050565b600a602052600090815260409020805460018201546002830154600384015460058501546006860154600887015460099097015460ff80881698610100808a04831699600160a060020a036201000090910481169981169897969384169591909304909216928b565b6123de614fe5565b6123e6614fe5565b60008054819081908190819060a060020a900460ff161561240657600080fd5b6000898152600a60205260409081902081516101a081019092528054829060ff16600281111561243257fe5b600281111561243d57fe5b81528154602090910190610100900460ff16600281111561245a57fe5b600281111561246557fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a090940193919290919083018282801561251757602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116124e65790505b5050509183525050600582015460209091019060ff16600481111561253857fe5b600481111561254357fe5b815260058201546101009004600160a060020a0316602080830191909152600683015460408084019190915260078401805482518185028101850190935280835260609094019391929091908301828280156125f257602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116125ad5790505b5050509183525050600882015460208083019190915260099092015460409182015260008b8152600a9092529081902081516101a0810190925280549299509091829060ff16600281111561264357fe5b600281111561264e57fe5b81528154602090910190610100900460ff16600281111561266b57fe5b600281111561267657fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a090940193919290919083018282801561272857602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116126f75790505b5050509183525050600582015460209091019060ff16600481111561274957fe5b600481111561275457fe5b815260058201546101009004600160a060020a03166020808301919091526006830154604080840191909152600784018054825181850281018501909352808352606090940193919290919083018282801561280357602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116127be5790505b505050918352505060088201546020820152600990910154604090910152955060028760200151600281111561283557fe5b148015612851575060028660200151600281111561284f57fe5b145b151561285c57600080fd5b6060870151600160a060020a03161580612897575061287e8660400151610c1e565b600160a060020a03168760600151600160a060020a0316145b80156128d957506060860151600160a060020a031615806128d957506128c08760400151610c1e565b600160a060020a03168660600151600160a060020a0316145b15156128e457600080fd5b6002875160028111156128f357fe5b146128fd57600080fd5b60018651600281111561290c57fe5b1461291657600080fd5b6002546101008701516040890151600160a060020a039092169163968f600c919061294090610c1e565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b1580156129a457600080fd5b505af11580156129b8573d6000803e3d6000fd5b505050506040513d60208110156129ce57600080fd5b5051158015612a6a57506002546101008701516040808a0151815160e260020a6325a3d803028152600160a060020a03938416600482015290831660248201529051919092169163968f600c9160448083019260209291908290030181600087803b158015612a3c57600080fd5b505af1158015612a50573d6000803e3d6000fd5b505050506040513d6020811015612a6657600080fd5b5051155b8015612b2c575060025460408088015190890151600160a060020a039092169163968f600c9190612a9a90610c1e565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b158015612afe57600080fd5b505af1158015612b12573d6000803e3d6000fd5b505050506040513d6020811015612b2857600080fd5b5051155b8015612bc2575060025460408088015189820151825160e260020a6325a3d803028152600160a060020a0392831660048201529082166024820152915192169163968f600c916044808201926020929091908290030181600087803b158015612b9457600080fd5b505af1158015612ba8573d6000803e3d6000fd5b505050506040513d6020811015612bbe57600080fd5b5051155b8015612c5b5750600254610100880151604080890151815160e260020a6325a3d803028152600160a060020a03938416600482015290831660248201529051919092169163968f600c9160448083019260209291908290030181600087803b158015612c2d57600080fd5b505af1158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b5051155b8015612d0357506002546040880151600160a060020a039091169063968f600c90612c8590610c1e565b6040808a0151815160e060020a63ffffffff8616028152600160a060020a039384166004820152921660248301525160448083019260209291908290030181600087803b158015612cd557600080fd5b505af1158015612ce9573d6000803e3d6000fd5b505050506040513d6020811015612cff57600080fd5b5051155b8015612d99575060025460408089015188820151825160e260020a6325a3d803028152600160a060020a0392831660048201529082166024820152915192169163968f600c916044808201926020929091908290030181600087803b158015612d6b57600080fd5b505af1158015612d7f573d6000803e3d6000fd5b505050506040513d6020811015612d9557600080fd5b5051155b1515612da457600080fd5b60a080870151908801511115612db957600080fd5b608080870151908801511015612dce57600080fd5b8660e001516004811115612dde57fe5b600480546040808a015181517f23eee3e6000000000000000000000000000000000000000000000000000000008152600160a060020a039182169481019490945290519116916323eee3e69160248083019260209291908290030181600087803b158015612e4b57600080fd5b505af1158015612e5f573d6000803e3d6000fd5b505050506040513d6020811015612e7557600080fd5b50516004811115612e8257fe5b1015612e8d57600080fd5b8560e001516004811115612e9d57fe5b600480546040808b015181517f23eee3e6000000000000000000000000000000000000000000000000000000008152600160a060020a039182169481019490945290519116916323eee3e69160248083019260209291908290030181600087803b158015612f0a57600080fd5b505af1158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b50516004811115612f4157fe5b1015612f4c57600080fd5b6009548760c00151511015612f6e57612f688760c00151613e63565b60c08801525b6009548660c00151511015612f9057612f8a8760c00151613e63565b60c08701525b600094505b8660c0015151851015612ff65760c0860151805186908110612fb357fe5b906020019060200201511580612fe0575060c0870151805186908110612fd557fe5b906020019060200201515b1515612feb57600080fd5b600190940193612f95565b60085487610140015151101561301b57613014876101400151613eed565b6101408801525b60085486610140015151101561304057613039866101400151613eed565b6101408701525b600094505b866101400151518510156130b65761014086015180518690811061306557fe5b9060200190602002015167ffffffffffffffff168761014001518681518110151561308c57fe5b6020908102909101015167ffffffffffffffff1610156130ab57600080fd5b600190940193613045565b6006546130ca90600163ffffffff613e5616565b60065560408701516130db90610c1e565b60008a8152600a6020526040808220805461010061ff0019918216811783558d855283852080549092161781556006546009928301819055910155519195508a917fb8b459bc0688c37baf5f735d17f1711684bc14ab7db116f88bc18bf409b9309a9190a260405188907fb8b459bc0688c37baf5f735d17f1711684bc14ab7db116f88bc18bf409b9309a90600090a26080870151429350600092501561319557608086015161319290849063ffffffff613e5616565b91505b85610160015190506101c06040519081016040528088610140015181526020018860400151600160a060020a031681526020018760400151600160a060020a0316815260200185600160a060020a031681526020018a8152602001898152602001876080015181526020018860a0015181526020018481526020018381526020016001600281111561322357fe5b81526020018281526020016000815260200142815250600b60006006548152602001908152602001600020600082015181600001908051906020019061326a92919061507b565b50602082015160018281018054600160a060020a0319908116600160a060020a0394851617909155604085015160028086018054841692861692909217909155606086015160038601805490931694169390931790556080840151600484015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840180549193909260ff199092169190849081111561332157fe5b0217905550610160820151600b820155610180820151600c8201556101a090910151600d909101556006546040517fb9ffc65567b7238dd641372277b8c93ed03df73945932dd84fd3cbb33f3eddbf90600090a2505050505050505050565b60075490565b600054600160a060020a0316331461339d57600080fd5b60015460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561341157600080fd5b505af1158015613425573d6000803e3d6000fd5b505050506040513d602081101561343b57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561348a57600080fd5b505af115801561349e573d6000803e3d6000fd5b505050506040513d60208110156134b457600080fd5b5050600054600160a060020a0316ff5b60006134cf82613f75565b5061228f82614668565b600060016000848152600b60205260409020600a015460ff1660028111156134fd57fe5b1461350757600080fd5b6000838152600b6020526040902060010154600160a060020a031633148061354857506000838152600b6020526040902060020154600160a060020a031633145b8061356c57506000838152600b6020526040902060030154600160a060020a031633145b151561357757600080fd5b6000838152600b60205260409020600681015460089091015461359f9163ffffffff613e5616565b42116135cb576000838152600b6020526040902060020154600160a060020a031633146135cb57600080fd5b6135d58383614aaa565b6135de83613f75565b506135e883614c7f565b6135f183614d96565b50600190505b92915050565b6000805460a060020a900460ff161561361557600080fd5b81600160a060020a031661362884610c1e565b600160a060020a0316148015613658575033600160a060020a0384161480613658575033600160a060020a038316145b151561366357600080fd5b600160a060020a038084166000818152600f60205260408082208054600160a060020a031916905551928516927f7822736ed69a5fe0ad6dc2c6669e8053495d711118e5435b047f9b83deda4c379190a350600192915050565b60008054600160a060020a031633146136d557600080fd5b5060028054600160a060020a038316600160a060020a03199091161790556001919050565b60095490565b6000806000806000606060008060006060600061371b614fe5565b60008d8152600a60205260409081902081516101a081019092528054829060ff16600281111561374757fe5b600281111561375257fe5b81528154602090910190610100900460ff16600281111561376f57fe5b600281111561377a57fe5b81528154600160a060020a036201000090910481166020808401919091526001840154909116604080840191909152600284015460608401526003840154608084015260048401805482518185028101850190935280835260a090940193919290919083018282801561382c57602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116137fb5790505b5050509183525050600582015460209091019060ff16600481111561384d57fe5b600481111561385857fe5b815260058201546101009004600160a060020a03166020808301919091526006830154604080840191909152600784018054825181850281018501909352808352606090940193919290919083018282801561390757602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116138c25790505b5050505050815260200160088201548152602001600982015481525050905080600001518160400151826060015183608001518460a001518560c001518660e001518761010001518861012001518961014001518a61016001518595508191509b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b60065490565b6000805481908190819060a060020a900460ff16156139b157600080fd5b60018860048111156139bf57fe5b10156139ca57600080fd5b600954895111156139da57600080fd5b600854855111156139ea57600080fd5b600092505b8451831015613a38576780000000000000008584815181101515613a0f57fe5b6020908102909101015167ffffffffffffffff1610613a2d57600080fd5b6001909201916139ef565b6000915060018d6002811115613a4a57fe5b1415613b39578a1515613a6a57613a638a610e10614e61565b9150613a8f565b620151808b1015613a7f57613a638a8c614e61565b613a8c8a62015180614e61565b91505b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015613b0257600080fd5b505af1158015613b16573d6000803e3d6000fd5b505050506040513d6020811015613b2c57600080fd5b50511515613b3957600080fd5b600554613b4d90600163ffffffff613e5616565b6005819055604080516101a08101909152909150808e6002811115613b6e57fe5b81526020016002815260200133600160a060020a031681526020018d600160a060020a031681526020018c81526020018b81526020018a8152602001896004811115613bb657fe5b8152600160a060020a03891660208083019190915260408083018a90526060830189905260808301869052600060a0909301839052848352600a909152902081518154829060ff19166001836002811115613c0d57fe5b021790555060208201518154829061ff001916610100836002811115613c2f57fe5b02179055506040820151815475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a03928316021782556060830151600183018054600160a060020a031916919092161790556080820151600282015560a0820151600382015560c08201518051613cb2916004840191602090910190615136565b5060e082015160058201805460ff19166001836004811115613cd057fe5b02179055506101008281015160058301805474ffffffffffffffffffffffffffffffffffffffff001916600160a060020a0390921690920217905561012082015160068201556101408201518051613d3291600784019160209091019061507b565b5061016082015160088201556101809091015160099091015560405181907fffa896d8919f0556f53ace1395617969a3b53ab5271a085e28ac0c4a3724e63d90600090a29c9b505050505050505050505050565b60008054600160a060020a03163314613d9e57600080fd5b6008548211613dac57600080fd5b60405182907f1acf16d0a0451282e1d2cac3f5473ca7c931bcda610ff6e061041af50e2abc1390600090a250600855600190565b60008054600160a060020a03163314613df857600080fd5b5060048054600160a060020a038316600160a060020a03199091161790556001919050565b600054600160a060020a03163314613e3457600080fd5b613e3d81614f25565b50565b6000908152600b60205260409020600601541590565b818101828110156135f757fe5b6060806000600954604051908082528060200260200182016040528015613e94578160200160208202803883390190505b509150600090505b8351811015613ee2578381815181101515613eb357fe5b906020019060200201518282815181101515613ecb57fe5b911515602092830290910190910152600101613e9c565b8192505b5050919050565b6060806000600854604051908082528060200260200182016040528015613f1e578160200160208202803883390190505b509150600090505b8351811015613ee2578381815181101515613f3d57fe5b906020019060200201518282815181101515613f5557fe5b67ffffffffffffffff909216602092830290910190910152600101613f26565b6000613f7f6151d7565b600060016000858152600b60205260409020600a015460ff166002811115613fa357fe5b14613fad57600080fd5b6000848152600b6020526040902060010154600160a060020a0316331480613fee57506000848152600b6020526040902060020154600160a060020a031633145b8061401257506000848152600b6020526040902060030154600160a060020a031633145b151561401d57600080fd5b6000848152600b6020908152604091829020825181546101e0938102820184019094526101c0810184815290939192849284918401828280156140b357602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff168152602001906008019060208260070104928301926001038202915080841161406e5790505b50505091835250506001820154600160a060020a039081166020830152600280840154821660408401526003840154909116606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a8301546101409092019160ff169081111561414157fe5b600281111561414c57fe5b8152602001600b8201548152602001600c8201548152602001600d82015481525050915061417984613e40565b1580156141905750816101200151826101a0015110155b1561419e5760019250613ee6565b6141a784613e40565b1580156141b8575081610120015142115b80156141cd5750816101200151826101a00151105b15614203576141fc8260e001516141f7846101a00151856101200151614f9590919063ffffffff16565b614e61565b9050614226565b6142238260e001516141f7846101a0015142614f9590919063ffffffff16565b90505b81610160015181111561452f5761016082015161424a90829063ffffffff614f9516565b60015460408085015181517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015291519216916370a08231916024808201926020929091908290030181600087803b1580156142b557600080fd5b505af11580156142c9573d6000803e3d6000fd5b505050506040513d60208110156142df57600080fd5b5051106143f7576001546040830151610160840151600160a060020a03909216916323b872dd9190309061431a90869063ffffffff614f9516565b6040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b15801561436e57600080fd5b505af1158015614382573d6000803e3d6000fd5b505050506040513d602081101561439857600080fd5b505115156143a557600080fd5b6143df6143c083610160015183614f9590919063ffffffff16565b6000868152600b6020819052604090912001549063ffffffff613e5616565b6000858152600b60208190526040909120015561452f565b6000848152600b60208190526040808320909101549051909186917f51f87cd83a2ce6c4ff7957861f7aba400dc3857d2325e0c94cc69f468874515c9190a361443f84614c7f565b60015460608301516101608401516040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919092169163a9059cbb9160448083019260209291908290030181600087803b1580156144a357600080fd5b505af11580156144b7573d6000803e3d6000fd5b505050506040513d60208110156144cd57600080fd5b505115156144da57600080fd5b6000848152600b6020526040902042600d820155610160830151600c909101546145099163ffffffff613e5616565b6000858152600b602081905260408220600c810193909355919091015560019250613ee6565b60015460608301516040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561458d57600080fd5b505af11580156145a1573d6000803e3d6000fd5b505050506040513d60208110156145b757600080fd5b505115156145c457600080fd5b6000848152600b6020819052604090912001546145e7908263ffffffff614f9516565b6000858152600b6020819052604090912090810191909155600c0154614613908263ffffffff613e5616565b6000858152600b6020526040808220600c81019390935542600d909301929092559051829186917f51f87cd83a2ce6c4ff7957861f7aba400dc3857d2325e0c94cc69f468874515c9190a35060019392505050565b6000806146736151d7565b6000848152600b60209081526040808320815181546101e0948102820185019093526101c0810183815290939192849284919084018282801561470957602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116146c45790505b50505091835250506001820154600160a060020a039081166020830152600280840154821660408401526003840154909116606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a8301546101409092019160ff169081111561479757fe5b60028111156147a257fe5b8152602001600b8201548152602001600c8201548152602001600d8201548152505091506147cf85613e40565b1561480057600282610140015160028111156147e757fe5b14156147f65760019350614aa2565b610e10925061485b565b8161012001514211156148165760019350614aa2565b6101208201516201518090614831904263ffffffff614f9516565b10156148545761012082015161484d904263ffffffff614f9516565b925061485b565b6201518092505b6000858152600b60208190526040909120015460e083015161487d9085614e61565b1115614a9d576148b7600b6000878152602001908152602001600020600b01546148ab8460e0015186614e61565b9063ffffffff614f9516565b60015460408085015181517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152915193945084939216916370a08231916024808201926020929091908290030181600087803b15801561492757600080fd5b505af115801561493b573d6000803e3d6000fd5b505050506040513d602081101561495157600080fd5b505110614a425760015460408084015181517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201523060248201526044810185905291519216916323b872dd916064808201926020929091908290030181600087803b1580156149d057600080fd5b505af11580156149e4573d6000803e3d6000fd5b505050506040513d60208110156149fa57600080fd5b50511515614a0757600080fd5b6000858152600b602081905260409091200154614a2a908263ffffffff613e5616565b6000868152600b602081905260409091200155614a9d565b6000858152600b60208190526040808320909101549051909187917f51f87cd83a2ce6c4ff7957861f7aba400dc3857d2325e0c94cc69f468874515c9190a3614a8a85614c7f565b614a9385614d96565b5060019350614aa2565b600193505b505050919050565b6000828152600b6020526040902060020154600160a060020a0316331480614add57506000816002811115614adb57fe5b145b1515614ae857600080fd5b6001816002811115614af657fe5b1415614bb457600280546000848152600b602090815260408083209485015460019095015481517f473b736f000000000000000000000000000000000000000000000000000000008152600160a060020a03968716600482015290861660248201529051949093169363473b736f93604480820194918390030190829087803b158015614b8257600080fd5b505af1158015614b96573d6000803e3d6000fd5b505050506040513d6020811015614bac57600080fd5b50614c7b9050565b6002816002811115614bc257fe5b1415614c7b57600280546000848152600b602090815260408083209485015460039095015481517f473b736f000000000000000000000000000000000000000000000000000000008152600160a060020a03968716600482015290861660248201529051949093169363473b736f93604480820194918390030190829087803b158015614c4e57600080fd5b505af1158015614c62573d6000803e3d6000fd5b505050506040513d6020811015614c7857600080fd5b50505b5050565b60026000828152600b60205260409020600a015460ff166002811115614ca157fe5b1415614cac57613e3d565b60016000828152600b60205260409020600a015460ff166002811115614cce57fe5b14614cd857600080fd5b6000818152600b6020526040902060020154600160a060020a0316331480614d1957506000818152600b6020526040902060010154600160a060020a031633145b80614d3d57506000818152600b6020526040902060030154600160a060020a031633145b1515614d4857600080fd5b6000818152600b6020526040808220600a8101805460ff19166002179055426009909101555182917f0b27183934cfdbeb1fbbe288c2e163ed7aa8f458a954054970f78446bccb36e091a250565b6000818152600b602081905260408220015415614e59576001546000838152600b602081815260408084206002810154930154815160e060020a63a9059cbb028152600160a060020a03948516600482015260248101919091529051929094169363a9059cbb93604480830194928390030190829087803b158015614e1a57600080fd5b505af1158015614e2e573d6000803e3d6000fd5b505050506040513d6020811015614e4457600080fd5b50506000828152600b60208190526040822001555b506001919050565b600080600360009054906101000a9004600160a060020a0316600160a060020a031663eb91d37e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614eb757600080fd5b505af1158015614ecb573d6000803e3d6000fd5b505050506040513d6020811015614ee157600080fd5b50519050614f1d670de0b6b3a7640000614f1185614f05858963ffffffff614fa716565b9063ffffffff614fa716565b9063ffffffff614fd016565b949350505050565b600160a060020a0381161515614f3a57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b600082821115614fa157fe5b50900390565b6000821515614fb8575060006135f7565b50818102818382811515614fc857fe5b04146135f757fe5b60008183811515614fdd57fe5b049392505050565b604080516101a081019091528060008152602001600081526000602082018190526040820181905260608083018290526080830182905260a083015260c0909101908152600060208201819052604082018190526060808301526080820181905260a09091015290565b6040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b828054828255906000526020600020906003016004900481019282156151265791602002820160005b838211156150f057835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026150a4565b80156151245782816101000a81549067ffffffffffffffff02191690556008016020816007010492830192600103026150f0565b505b5061513292915061526d565b5090565b82805482825590600052602060002090601f016020900481019282156151cb5791602002820160005b8382111561519c57835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030261515f565b80156151c95782816101000a81549060ff021916905560010160208160000104928301926001030261519c565b505b50615132929150615292565b6101c060405190810160405280606081526020016000600160a060020a031681526020016000600160a060020a031681526020016000600160a060020a031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000600281111561525257fe5b81526020016000815260200160008152602001600081525090565b610c9091905b8082111561513257805467ffffffffffffffff19168155600101615273565b610c9091905b8082111561513257805460ff1916815560010161529856004b92d35447745e95b7344414a41ae94984787d0ebcd2c12021169197bb59af39a165627a7a72305820408bfacbeecd1fc4ca7528f2c7ac1eb0ff6868c895f4511b583e9f0b0cb030580029` // DeployMarket deploys a new Ethereum contract, binding an instance of Market to it. func DeployMarket(auth *bind.TransactOpts, backend bind.ContractBackend, _token common.Address, _blacklist common.Address, _oracle common.Address, _profileRegistry common.Address, _benchmarksQuantity *big.Int, _netflagsQuantity *big.Int) (common.Address, *types.Transaction, *Market, error) { diff --git a/blockchain/source/api/Migrations.go b/blockchain/source/api/Migrations.go index f34f9fde0..f17628704 100644 --- a/blockchain/source/api/Migrations.go +++ b/blockchain/source/api/Migrations.go @@ -17,7 +17,7 @@ import ( const MigrationsABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":false,\"inputs\":[{\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // MigrationsBin is the compiled bytecode used for deploying new contracts. -const MigrationsBin = `0x608060405234801561001057600080fd5b5060008054600160a060020a0319163317905561023c806100326000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100965780638da5cb5b146100bd578063fdacd576146100fb575b600080fd5b34801561007257600080fd5b5061009473ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100a257600080fd5b506100ab6101c5565b60408051918252519081900360200190f35b3480156100c957600080fd5b506100d26101cb565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010757600080fd5b506100946004356101e7565b6000805473ffffffffffffffffffffffffffffffffffffffff163314156101c1578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156101a857600080fd5b505af11580156101bc573d6000803e3d6000fd5b505050505b5050565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633141561020d5760018190555b505600a165627a7a7230582034acc5057a4a34cdf6e5376510153e83afe0dc9343b621ea902db1d16934b41e0029` +const MigrationsBin = `0x608060405234801561001057600080fd5b5060008054600160a060020a0319163317905561023c806100326000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100965780638da5cb5b146100bd578063fdacd576146100fb575b600080fd5b34801561007257600080fd5b5061009473ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100a257600080fd5b506100ab6101c5565b60408051918252519081900360200190f35b3480156100c957600080fd5b506100d26101cb565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010757600080fd5b506100946004356101e7565b6000805473ffffffffffffffffffffffffffffffffffffffff163314156101c1578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156101a857600080fd5b505af11580156101bc573d6000803e3d6000fd5b505050505b5050565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633141561020d5760018190555b505600a165627a7a723058205ac2b49521ab83e1503dca8c3cee88e11a13eb9c25f29e8aa3d6adfded35e81a0029` // DeployMigrations deploys a new Ethereum contract, binding an instance of Migrations to it. func DeployMigrations(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Migrations, error) { diff --git a/blockchain/source/api/MultiSigWallet.go b/blockchain/source/api/MultiSigWallet.go index eefad0506..eaed84b21 100644 --- a/blockchain/source/api/MultiSigWallet.go +++ b/blockchain/source/api/MultiSigWallet.go @@ -19,7 +19,7 @@ import ( const MultiSigWalletABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"owners\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"confirmations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transactions\",\"outputs\":[{\"name\":\"destination\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"executed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transactionCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OWNER_COUNT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"required\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_required\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Confirmation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Revocation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Submission\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Execution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerAddition\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerRemoval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"RequirementChange\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"replaceOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_required\",\"type\":\"uint256\"}],\"name\":\"changeRequirement\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"destination\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitTransaction\",\"outputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"confirmTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"revokeConfirmation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"executeTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"isConfirmed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"getConfirmationCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"pending\",\"type\":\"bool\"},{\"name\":\"executed\",\"type\":\"bool\"}],\"name\":\"getTransactionCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"getConfirmations\",\"outputs\":[{\"name\":\"_confirmations\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"from\",\"type\":\"uint256\"},{\"name\":\"to\",\"type\":\"uint256\"},{\"name\":\"pending\",\"type\":\"bool\"},{\"name\":\"executed\",\"type\":\"bool\"}],\"name\":\"getTransactionIds\",\"outputs\":[{\"name\":\"_transactionIds\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // MultiSigWalletBin is the compiled bytecode used for deploying new contracts. -const MultiSigWalletBin = `0x60806040523480156200001157600080fd5b50604051620016d5380380620016d583398101604052805160208201519101805190919060009082603282118015906200004b5750818111155b80156200005757508015155b80156200006357508115155b15156200006f57600080fd5b600092505b845183101562000147576002600086858151811015156200009157fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16158015620000e757508483815181101515620000cf57fe5b90602001906020020151600160a060020a0316600014155b1515620000f357600080fd5b60016002600087868151811015156200010857fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001929092019162000074565b84516200015c9060039060208801906200016e565b50505060049190915550620002029050565b828054828255906000526020600020908101928215620001c6579160200282015b82811115620001c65782518254600160a060020a031916600160a060020a039091161782556020909201916001909101906200018f565b50620001d4929150620001d8565b5090565b620001ff91905b80821115620001d4578054600160a060020a0319168155600101620001df565b90565b6114c380620002126000396000f30060806040526004361061011c5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461015e578063173825d91461019257806320ea8d86146101b35780632f54bf6e146101cb5780633411c81c1461020057806354741525146102245780637065cb4814610255578063784547a7146102765780638b51d13f1461028e5780639ace38c2146102a6578063a0e67e2b14610361578063a8abe69a146103c6578063b5dc40c3146103eb578063b77bf60014610403578063ba51a6df14610418578063c01a8c8414610430578063c642747414610448578063d74f8edd146104b1578063dc8452cd146104c6578063e20056e6146104db578063ee22610b14610502575b600034111561015c5760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561016a57600080fd5b5061017660043561051a565b60408051600160a060020a039092168252519081900360200190f35b34801561019e57600080fd5b5061015c600160a060020a0360043516610542565b3480156101bf57600080fd5b5061015c6004356106b9565b3480156101d757600080fd5b506101ec600160a060020a0360043516610773565b604080519115158252519081900360200190f35b34801561020c57600080fd5b506101ec600435600160a060020a0360243516610788565b34801561023057600080fd5b50610243600435151560243515156107a8565b60408051918252519081900360200190f35b34801561026157600080fd5b5061015c600160a060020a0360043516610814565b34801561028257600080fd5b506101ec600435610939565b34801561029a57600080fd5b506102436004356109bd565b3480156102b257600080fd5b506102be600435610a2c565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561032357818101518382015260200161030b565b50505050905090810190601f1680156103505780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561036d57600080fd5b50610376610aea565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103b257818101518382015260200161039a565b505050509050019250505060405180910390f35b3480156103d257600080fd5b5061037660043560243560443515156064351515610b4d565b3480156103f757600080fd5b50610376600435610c86565b34801561040f57600080fd5b50610243610dff565b34801561042457600080fd5b5061015c600435610e05565b34801561043c57600080fd5b5061015c600435610e84565b34801561045457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610243948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610f4f9650505050505050565b3480156104bd57600080fd5b50610243610f6e565b3480156104d257600080fd5b50610243610f73565b3480156104e757600080fd5b5061015c600160a060020a0360043581169060243516610f79565b34801561050e57600080fd5b5061015c600435611103565b600380548290811061052857fe5b600091825260209091200154600160a060020a0316905081565b600033301461055057600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561057957600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106545782600160a060020a03166003838154811015156105c357fe5b600091825260209091200154600160a060020a03161415610649576003805460001981019081106105f057fe5b60009182526020909120015460038054600160a060020a03909216918490811061061657fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610654565b60019091019061059c565b60038054600019019061066790826113d6565b5060035460045411156106805760035461068090610e05565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b3360008181526002602052604090205460ff1615156106d757600080fd5b60008281526001602090815260408083203380855292529091205483919060ff16151561070357600080fd5b600084815260208190526040902060030154849060ff161561072457600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000805b60055481101561080d578380156107d5575060008181526020819052604090206003015460ff16155b806107f957508280156107f9575060008181526020819052604090206003015460ff165b15610805576001820191505b6001016107ac565b5092915050565b33301461082057600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561084857600080fd5b81600160a060020a038116151561085e57600080fd5b6003805490506001016004546032821115801561087b5750818111155b801561088657508015155b801561089157508115155b151561089c57600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b6003548110156109b6576000848152600160205260408120600380549192918490811061096757fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561099b576001820191505b6004548214156109ae57600192506109b6565b60010161093e565b5050919050565b6000805b600354811015610a2657600083815260016020526040812060038054919291849081106109ea57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a1e576001820191505b6001016109c1565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610b4257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b24575b505050505090505b90565b606080600080600554604051908082528060200260200182016040528015610b7f578160200160208202803883390190505b50925060009150600090505b600554811015610c0657858015610bb4575060008181526020819052604090206003015460ff16155b80610bd85750848015610bd8575060008181526020819052604090206003015460ff165b15610bfe57808383815181101515610bec57fe5b60209081029091010152600191909101905b600101610b8b565b878703604051908082528060200260200182016040528015610c32578160200160208202803883390190505b5093508790505b86811015610c7b578281815181101515610c4f57fe5b9060200190602002015184898303815181101515610c6957fe5b60209081029091010152600101610c39565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610cbb578160200160208202803883390190505b50925060009150600090505b600354811015610d785760008581526001602052604081206003805491929184908110610cf057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610d70576003805482908110610d2b57fe5b6000918252602090912001548351600160a060020a0390911690849084908110610d5157fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610cc7565b81604051908082528060200260200182016040528015610da2578160200160208202803883390190505b509350600090505b81811015610df7578281815181101515610dc057fe5b906020019060200201518482815181101515610dd857fe5b600160a060020a03909216602092830290910190910152600101610daa565b505050919050565b60055481565b333014610e1157600080fd5b6003548160328211801590610e265750818111155b8015610e3157508015155b8015610e3c57508115155b1515610e4757600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff161515610ea257600080fd5b6000828152602081905260409020548290600160a060020a03161515610ec757600080fd5b60008381526001602090815260408083203380855292529091205484919060ff1615610ef257600080fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610f4885611103565b5050505050565b6000610f5c8484846112c3565b9050610f6781610e84565b9392505050565b603281565b60045481565b6000333014610f8757600080fd5b600160a060020a038316600090815260026020526040902054839060ff161515610fb057600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615610fd857600080fd5b600092505b6003548310156110695784600160a060020a031660038481548110151561100057fe5b600091825260209091200154600160a060020a0316141561105e578360038481548110151561102b57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611069565b600190920191610fdd565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b3360008181526002602052604081205490919060ff16151561112457600080fd5b60008381526001602090815260408083203380855292529091205484919060ff16151561115057600080fd5b600085815260208190526040902060030154859060ff161561117157600080fd5b61117a86610939565b156112bb576000868152602081815260409182902060038101805460ff19166001908117909155815481830154600280850180548851601f60001997831615610100029790970190911692909204948501879004870282018701909752838152939a5061124e95600160a060020a03909216949093919083908301828280156112445780601f1061121957610100808354040283529160200191611244565b820191906000526020600020905b81548152906001019060200180831161122757829003601f168201915b50505050506113b3565b156112835760405186907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a26112bb565b60405186907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038501805460ff191690555b505050505050565b600083600160a060020a03811615156112db57600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff19169416939093178355516001830155925180519496509193909261135b9260028501929101906113ff565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000806040516020840160008287838a8c6187965a03f198975050505050505050565b8154818355818111156113fa576000838152602090206113fa91810190830161147d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061144057805160ff191683800117855561146d565b8280016001018555821561146d579182015b8281111561146d578251825591602001919060010190611452565b5061147992915061147d565b5090565b610b4a91905b8082111561147957600081556001016114835600a165627a7a723058200b110e853068089338be9d17f55d87631859d0c7c5421206b6c595a8be2703d30029` +const MultiSigWalletBin = `0x60806040523480156200001157600080fd5b50604051620016d5380380620016d583398101604052805160208201519101805190919060009082603282118015906200004b5750818111155b80156200005757508015155b80156200006357508115155b15156200006f57600080fd5b600092505b845183101562000147576002600086858151811015156200009157fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16158015620000e757508483815181101515620000cf57fe5b90602001906020020151600160a060020a0316600014155b1515620000f357600080fd5b60016002600087868151811015156200010857fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001929092019162000074565b84516200015c9060039060208801906200016e565b50505060049190915550620002029050565b828054828255906000526020600020908101928215620001c6579160200282015b82811115620001c65782518254600160a060020a031916600160a060020a039091161782556020909201916001909101906200018f565b50620001d4929150620001d8565b5090565b620001ff91905b80821115620001d4578054600160a060020a0319168155600101620001df565b90565b6114c380620002126000396000f30060806040526004361061011c5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461015e578063173825d91461019257806320ea8d86146101b35780632f54bf6e146101cb5780633411c81c1461020057806354741525146102245780637065cb4814610255578063784547a7146102765780638b51d13f1461028e5780639ace38c2146102a6578063a0e67e2b14610361578063a8abe69a146103c6578063b5dc40c3146103eb578063b77bf60014610403578063ba51a6df14610418578063c01a8c8414610430578063c642747414610448578063d74f8edd146104b1578063dc8452cd146104c6578063e20056e6146104db578063ee22610b14610502575b600034111561015c5760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561016a57600080fd5b5061017660043561051a565b60408051600160a060020a039092168252519081900360200190f35b34801561019e57600080fd5b5061015c600160a060020a0360043516610542565b3480156101bf57600080fd5b5061015c6004356106b9565b3480156101d757600080fd5b506101ec600160a060020a0360043516610773565b604080519115158252519081900360200190f35b34801561020c57600080fd5b506101ec600435600160a060020a0360243516610788565b34801561023057600080fd5b50610243600435151560243515156107a8565b60408051918252519081900360200190f35b34801561026157600080fd5b5061015c600160a060020a0360043516610814565b34801561028257600080fd5b506101ec600435610939565b34801561029a57600080fd5b506102436004356109bd565b3480156102b257600080fd5b506102be600435610a2c565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561032357818101518382015260200161030b565b50505050905090810190601f1680156103505780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561036d57600080fd5b50610376610aea565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103b257818101518382015260200161039a565b505050509050019250505060405180910390f35b3480156103d257600080fd5b5061037660043560243560443515156064351515610b4d565b3480156103f757600080fd5b50610376600435610c86565b34801561040f57600080fd5b50610243610dff565b34801561042457600080fd5b5061015c600435610e05565b34801561043c57600080fd5b5061015c600435610e84565b34801561045457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610243948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610f4f9650505050505050565b3480156104bd57600080fd5b50610243610f6e565b3480156104d257600080fd5b50610243610f73565b3480156104e757600080fd5b5061015c600160a060020a0360043581169060243516610f79565b34801561050e57600080fd5b5061015c600435611103565b600380548290811061052857fe5b600091825260209091200154600160a060020a0316905081565b600033301461055057600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561057957600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106545782600160a060020a03166003838154811015156105c357fe5b600091825260209091200154600160a060020a03161415610649576003805460001981019081106105f057fe5b60009182526020909120015460038054600160a060020a03909216918490811061061657fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610654565b60019091019061059c565b60038054600019019061066790826113d6565b5060035460045411156106805760035461068090610e05565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b3360008181526002602052604090205460ff1615156106d757600080fd5b60008281526001602090815260408083203380855292529091205483919060ff16151561070357600080fd5b600084815260208190526040902060030154849060ff161561072457600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000805b60055481101561080d578380156107d5575060008181526020819052604090206003015460ff16155b806107f957508280156107f9575060008181526020819052604090206003015460ff165b15610805576001820191505b6001016107ac565b5092915050565b33301461082057600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561084857600080fd5b81600160a060020a038116151561085e57600080fd5b6003805490506001016004546032821115801561087b5750818111155b801561088657508015155b801561089157508115155b151561089c57600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b6003548110156109b6576000848152600160205260408120600380549192918490811061096757fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561099b576001820191505b6004548214156109ae57600192506109b6565b60010161093e565b5050919050565b6000805b600354811015610a2657600083815260016020526040812060038054919291849081106109ea57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a1e576001820191505b6001016109c1565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610b4257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b24575b505050505090505b90565b606080600080600554604051908082528060200260200182016040528015610b7f578160200160208202803883390190505b50925060009150600090505b600554811015610c0657858015610bb4575060008181526020819052604090206003015460ff16155b80610bd85750848015610bd8575060008181526020819052604090206003015460ff165b15610bfe57808383815181101515610bec57fe5b60209081029091010152600191909101905b600101610b8b565b878703604051908082528060200260200182016040528015610c32578160200160208202803883390190505b5093508790505b86811015610c7b578281815181101515610c4f57fe5b9060200190602002015184898303815181101515610c6957fe5b60209081029091010152600101610c39565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610cbb578160200160208202803883390190505b50925060009150600090505b600354811015610d785760008581526001602052604081206003805491929184908110610cf057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610d70576003805482908110610d2b57fe5b6000918252602090912001548351600160a060020a0390911690849084908110610d5157fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610cc7565b81604051908082528060200260200182016040528015610da2578160200160208202803883390190505b509350600090505b81811015610df7578281815181101515610dc057fe5b906020019060200201518482815181101515610dd857fe5b600160a060020a03909216602092830290910190910152600101610daa565b505050919050565b60055481565b333014610e1157600080fd5b6003548160328211801590610e265750818111155b8015610e3157508015155b8015610e3c57508115155b1515610e4757600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff161515610ea257600080fd5b6000828152602081905260409020548290600160a060020a03161515610ec757600080fd5b60008381526001602090815260408083203380855292529091205484919060ff1615610ef257600080fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610f4885611103565b5050505050565b6000610f5c8484846112c3565b9050610f6781610e84565b9392505050565b603281565b60045481565b6000333014610f8757600080fd5b600160a060020a038316600090815260026020526040902054839060ff161515610fb057600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615610fd857600080fd5b600092505b6003548310156110695784600160a060020a031660038481548110151561100057fe5b600091825260209091200154600160a060020a0316141561105e578360038481548110151561102b57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611069565b600190920191610fdd565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b3360008181526002602052604081205490919060ff16151561112457600080fd5b60008381526001602090815260408083203380855292529091205484919060ff16151561115057600080fd5b600085815260208190526040902060030154859060ff161561117157600080fd5b61117a86610939565b156112bb576000868152602081815260409182902060038101805460ff19166001908117909155815481830154600280850180548851601f60001997831615610100029790970190911692909204948501879004870282018701909752838152939a5061124e95600160a060020a03909216949093919083908301828280156112445780601f1061121957610100808354040283529160200191611244565b820191906000526020600020905b81548152906001019060200180831161122757829003601f168201915b50505050506113b3565b156112835760405186907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a26112bb565b60405186907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038501805460ff191690555b505050505050565b600083600160a060020a03811615156112db57600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff19169416939093178355516001830155925180519496509193909261135b9260028501929101906113ff565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000806040516020840160008287838a8c6187965a03f198975050505050505050565b8154818355818111156113fa576000838152602090206113fa91810190830161147d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061144057805160ff191683800117855561146d565b8280016001018555821561146d579182015b8281111561146d578251825591602001919060010190611452565b5061147992915061147d565b5090565b610b4a91905b8082111561147957600081556001016114835600a165627a7a72305820657b94e5aec29e0181ec8cd76465fddf57bce25a30e69ade8cc098b949dffd840029` // DeployMultiSigWallet deploys a new Ethereum contract, binding an instance of MultiSigWallet to it. func DeployMultiSigWallet(auth *bind.TransactOpts, backend bind.ContractBackend, _owners []common.Address, _required *big.Int) (common.Address, *types.Transaction, *MultiSigWallet, error) { diff --git a/blockchain/source/api/OracleUSD.go b/blockchain/source/api/OracleUSD.go index 190e919ad..2829239f0 100644 --- a/blockchain/source/api/OracleUSD.go +++ b/blockchain/source/api/OracleUSD.go @@ -19,7 +19,7 @@ import ( const OracleUSDABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"PriceChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"setCurrentPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentPrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // OracleUSDBin is the compiled bytecode used for deploying new contracts. -const OracleUSDBin = `0x60806040526001805534801561001457600080fd5b5060008054600160a060020a0319908116339081179091161790556102c58061003e6000396000f30060806040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318b200718114610071578063715018a61461008b5780638da5cb5b146100a0578063eb91d37e146100d1578063f2fde38b146100f8575b600080fd5b34801561007d57600080fd5b50610089600435610119565b005b34801561009757600080fd5b50610089610178565b3480156100ac57600080fd5b506100b56101e4565b60408051600160a060020a039092168252519081900360200190f35b3480156100dd57600080fd5b506100e66101f3565b60408051918252519081900360200190f35b34801561010457600080fd5b50610089600160a060020a03600435166101f9565b600054600160a060020a0316331461013057600080fd5b6000811161013d57600080fd5b60018190556040805182815290517fa6dc15bdb68da224c66db4b3838d9a2b205138e8cff6774e57d0af91e196d6229181900360200190a150565b600054600160a060020a0316331461018f57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60015490565b600054600160a060020a0316331461021057600080fd5b6102198161021c565b50565b600160a060020a038116151561023157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820fb5a38518164e197193bcbbbc962ef7a246fbe633b9e49250d994c43ecb5d7040029` +const OracleUSDBin = `0x60806040526001805534801561001457600080fd5b5060008054600160a060020a0319908116339081179091161790556102c58061003e6000396000f30060806040526004361061006c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318b200718114610071578063715018a61461008b5780638da5cb5b146100a0578063eb91d37e146100d1578063f2fde38b146100f8575b600080fd5b34801561007d57600080fd5b50610089600435610119565b005b34801561009757600080fd5b50610089610178565b3480156100ac57600080fd5b506100b56101e4565b60408051600160a060020a039092168252519081900360200190f35b3480156100dd57600080fd5b506100e66101f3565b60408051918252519081900360200190f35b34801561010457600080fd5b50610089600160a060020a03600435166101f9565b600054600160a060020a0316331461013057600080fd5b6000811161013d57600080fd5b60018190556040805182815290517fa6dc15bdb68da224c66db4b3838d9a2b205138e8cff6774e57d0af91e196d6229181900360200190a150565b600054600160a060020a0316331461018f57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60015490565b600054600160a060020a0316331461021057600080fd5b6102198161021c565b50565b600160a060020a038116151561023157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820be6f69c6a3f6722d576a1b501aff2cf9b9de7b8c862ddb317bd0d7808c5a41ad0029` // DeployOracleUSD deploys a new Ethereum contract, binding an instance of OracleUSD to it. func DeployOracleUSD(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *OracleUSD, error) { diff --git a/blockchain/source/api/ProfileRegistry.go b/blockchain/source/api/ProfileRegistry.go index 9b1c4fb59..bc5198470 100644 --- a/blockchain/source/api/ProfileRegistry.go +++ b/blockchain/source/api/ProfileRegistry.go @@ -19,7 +19,7 @@ import ( const ProfileRegistryABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"certificates\",\"outputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"attributeType\",\"type\":\"uint256\"},{\"name\":\"value\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"validators\",\"outputs\":[{\"name\":\"\",\"type\":\"int8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"ValidatorCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"}],\"name\":\"ValidatorDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"CertificateCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"CertificateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_level\",\"type\":\"int8\"}],\"name\":\"AddValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"RemoveValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"GetValidatorLevel\",\"outputs\":[{\"name\":\"\",\"type\":\"int8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_type\",\"type\":\"uint256\"},{\"name\":\"_value\",\"type\":\"bytes\"}],\"name\":\"CreateCertificate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"RemoveCertificate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"GetCertificate\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_type\",\"type\":\"uint256\"}],\"name\":\"GetAttributeValue\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_type\",\"type\":\"uint256\"}],\"name\":\"GetAttributeCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"GetProfileLevel\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"AddSonmValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"RemoveSonmValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // ProfileRegistryBin is the compiled bytecode used for deploying new contracts. -const ProfileRegistryBin = `0x60806040526000805460a060020a60ff021916815560015534801561002357600080fd5b5060008054600160a060020a031990811633908117909116811782558152600260205260409020805460ff191660ff179055611311806100646000396000f3006080604052600436106101045763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662707c75811461010957806274fc391461013e5780630553701a146101d75780631af60f72146101f857806323eee3e6146102355780632eb4b2a51461027a5780633e34e129146102945780633f4ba83a1461035d5780635c975abb146103725780636209a63314610387578063663b3e22146103bd578063715018a6146103d55780638456cb59146103ea5780638997d27a146103ff5780638da5cb5b1461043957806393d767421461044e578063e7bcef44146104b7578063f2fde38b146104de578063fa52c7d8146104ff575b600080fd5b34801561011557600080fd5b5061012a600160a060020a0360043516610520565b604080519115158252519081900360200190f35b34801561014a57600080fd5b50610162600160a060020a0360043516602435610564565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b5061012a600160a060020a0360043516610618565b34801561020457600080fd5b50610219600160a060020a0360043516610670565b60408051600160a060020a039092168252519081900360200190f35b34801561024157600080fd5b50610256600160a060020a0360043516610706565b6040518082600481111561026657fe5b60ff16815260200191505060405180910390f35b34801561028657600080fd5b50610292600435610766565b005b3480156102a057600080fd5b506102ac600435610a48565b6040518085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561031f578181015183820152602001610307565b50505050905090810190601f16801561034c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561036957600080fd5b50610292610b1a565b34801561037e57600080fd5b5061012a610b90565b34801561039357600080fd5b506103ab600160a060020a0360043516602435610ba0565b60408051918252519081900360200190f35b3480156103c957600080fd5b506102ac600435610bc8565b3480156103e157600080fd5b50610292610c87565b3480156103f657600080fd5b50610292610cf3565b34801561040b57600080fd5b50610420600160a060020a0360043516610d6e565b60408051600092830b90920b8252519081900360200190f35b34801561044557600080fd5b50610219610d8b565b34801561045a57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610292948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610d9a9650505050505050565b3480156104c357600080fd5b50610219600160a060020a036004351660243560000b6110c3565b3480156104ea57600080fd5b50610292600160a060020a0360043516611170565b34801561050b57600080fd5b50610420600160a060020a0360043516611193565b60008054600160a060020a0316331461053857600080fd5b50600160a060020a0381166000908152600260205260409020805460ff191660ff17905560015b919050565b600160a060020a038216600090815260046020908152604080832084845282529182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561060b5780601f106105e05761010080835404028352916020019161060b565b820191906000526020600020905b8154815290600101906020018083116105ee57829003601f168201915b5050505050905092915050565b60008054600160a060020a0316331461063057600080fd5b61063982610d6e565b60000b60001914151561064b57600080fd5b50600160a060020a03166000908152600260205260409020805460ff19169055600190565b600061067b33610d6e565b60000b60001914151561068d57600080fd5b60005460a060020a900460ff16156106a457600080fd5b60006106af83610d6e565b60000b136106bc57600080fd5b600160a060020a038216600081815260026020526040808220805460ff19169055517fa7a579573d398d7b67cd7450121bb250bbd060b29eabafdebc3ce0918658635c9190a25090565b60008061071583610579610564565b5111156107245750600461055f565b600061073283610515610564565b5111156107415750600361055f565b600061074f836104b1610564565b51111561075e5750600261055f565b50600161055f565b61076e611224565b60005460a060020a900460ff161561078557600080fd5b60008281526003602081815260409283902083516080810185528154600160a060020a0390811682526001808401549091168285015260028084015483880152948301805487516101009382161593909302600019011695909504601f8101859004850282018501909652858152909491936060860193919290918301828280156108515780601f1061082657610100808354040283529160200191610851565b820191906000526020600020905b81548152906001019060200180831161083457829003601f168201915b505050505081525050905033600160a060020a03168160200151600160a060020a0316148061088957508051600160a060020a031633145b806108a0575061089833610d6e565b60000b600019145b15156108ab57600080fd5b604051606082015180517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709290819060208401908083835b602083106109025780518252601f1990920191602091820191016108e3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415151561094057600080fd5b60208082018051600160a060020a03908116600090815260058085526040808320818801805185529087528184205486518616855283885282852082518652885282852060001990910190559451909316825284528181209251815291909252205415156109e957604080516020818101808452600080845285830151600160a060020a031681526004835284812086860151825290925292902090516109e7929061124a565b505b6040805160208181018084526000808452868152600392839052939093209151610a189392909101919061124a565b5060405182907f9a100d2018161ede6ca34c8007992b09bbffc636a636014a922e4c875041262890600090a25050565b6000818152600360208181526040808420805460018083015460028085015494909701805486516101009482161594909402600019011697909704601f810187900487028301870190955284825287968796606096600160a060020a039586169695909316949391928391830182828015610b045780601f10610ad957610100808354040283529160200191610b04565b820191906000526020600020905b815481529060010190602001808311610ae757829003601f168201915b5050505050905093509350935093509193509193565b600054600160a060020a03163314610b3157600080fd5b60005460a060020a900460ff161515610b4957600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b60005460a060020a900460ff1681565b600160a060020a03919091166000908152600560209081526040808320938352929052205490565b6003602081815260009283526040928390208054600180830154600280850154968501805489516101009582161595909502600019011691909104601f8101879004870284018701909852878352600160a060020a039384169793909116959491929091830182828015610c7d5780601f10610c5257610100808354040283529160200191610c7d565b820191906000526020600020905b815481529060010190602001808311610c6057829003601f168201915b5050505050905084565b600054600160a060020a03163314610c9e57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610d0a57600080fd5b60005460a060020a900460ff1615610d2157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600160a060020a0316600090815260026020526040812054900b90565b600054600160a060020a031681565b60008054819060a060020a900460ff1615610db457600080fd5b61044c8410610de857600a60648504069150610dcf33610d6e565b60000b8260000b13151515610de357600080fd5b610dfd565b600160a060020a0385163314610dfd57600080fd5b60405183517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470918591819060208401908083835b60208310610e505780518252601f199092019160209182019101610e31565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151515610e8e57600080fd5b5060026103e884041480610fd457600160a060020a03851660009081526005602090815260408083208784529091529020541515610efd57600160a060020a038516600090815260046020908152604080832087845282529091208451610ef79286019061124a565b50610fd4565b826040518082805190602001908083835b60208310610f2d5780518252601f199092019160209182019101610f0e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916610f688686610564565b6040518082805190602001908083835b60208310610f975780518252601f199092019160209182019101610f78565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515610fd457600080fd5b600160a060020a0380861660008181526005602090815260408083208984528252808320805460019081019091558054810180825582516080810184523381528085019687528084018c8152606082018c815292875260038087529490962081518154908a1673ffffffffffffffffffffffffffffffffffffffff19918216178255975193810180549490991693909716929092179096559251600285015593518051929461108b9390850192919091019061124a565b50506001546040519091507fb9bb1df26fde5c1295a7ccd167330e5d6cb9df14fe4c3884669a64433cc9e76090600090a25050505050565b60006110ce33610d6e565b60000b6000191415156110e057600080fd5b60005460a060020a900460ff16156110f757600080fd5b600082810b1361110657600080fd5b61110f83610d6e565b60000b1561111c57600080fd5b600160a060020a038316600081815260026020526040808220805460ff191660ff87850b16179055517f02db26aafd16e8ecd93c4fa202917d50b1693f30b1594e57f7a432ede944eefc9190a25090919050565b600054600160a060020a0316331461118757600080fd5b611190816111a7565b50565b600260205260009081526040812054900b81565b600160a060020a03811615156111bc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080516080810182526000808252602082018190529181019190915260608082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061128b57805160ff19168380011785556112b8565b828001600101855582156112b8579182015b828111156112b857825182559160200191906001019061129d565b506112c49291506112c8565b5090565b6112e291905b808211156112c457600081556001016112ce565b905600a165627a7a7230582015fa8b98a37e5f16c57294b73516f72dac0f3fcae42d4542a53f55f5df86ab330029` +const ProfileRegistryBin = `0x60806040526000805460a060020a60ff021916815560015534801561002357600080fd5b5060008054600160a060020a031990811633908117909116811782558152600260205260409020805460ff191660ff179055611311806100646000396000f3006080604052600436106101045763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662707c75811461010957806274fc391461013e5780630553701a146101d75780631af60f72146101f857806323eee3e6146102355780632eb4b2a51461027a5780633e34e129146102945780633f4ba83a1461035d5780635c975abb146103725780636209a63314610387578063663b3e22146103bd578063715018a6146103d55780638456cb59146103ea5780638997d27a146103ff5780638da5cb5b1461043957806393d767421461044e578063e7bcef44146104b7578063f2fde38b146104de578063fa52c7d8146104ff575b600080fd5b34801561011557600080fd5b5061012a600160a060020a0360043516610520565b604080519115158252519081900360200190f35b34801561014a57600080fd5b50610162600160a060020a0360043516602435610564565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b5061012a600160a060020a0360043516610618565b34801561020457600080fd5b50610219600160a060020a0360043516610670565b60408051600160a060020a039092168252519081900360200190f35b34801561024157600080fd5b50610256600160a060020a0360043516610706565b6040518082600481111561026657fe5b60ff16815260200191505060405180910390f35b34801561028657600080fd5b50610292600435610766565b005b3480156102a057600080fd5b506102ac600435610a48565b6040518085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561031f578181015183820152602001610307565b50505050905090810190601f16801561034c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561036957600080fd5b50610292610b1a565b34801561037e57600080fd5b5061012a610b90565b34801561039357600080fd5b506103ab600160a060020a0360043516602435610ba0565b60408051918252519081900360200190f35b3480156103c957600080fd5b506102ac600435610bc8565b3480156103e157600080fd5b50610292610c87565b3480156103f657600080fd5b50610292610cf3565b34801561040b57600080fd5b50610420600160a060020a0360043516610d6e565b60408051600092830b90920b8252519081900360200190f35b34801561044557600080fd5b50610219610d8b565b34801561045a57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610292948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610d9a9650505050505050565b3480156104c357600080fd5b50610219600160a060020a036004351660243560000b6110c3565b3480156104ea57600080fd5b50610292600160a060020a0360043516611170565b34801561050b57600080fd5b50610420600160a060020a0360043516611193565b60008054600160a060020a0316331461053857600080fd5b50600160a060020a0381166000908152600260205260409020805460ff191660ff17905560015b919050565b600160a060020a038216600090815260046020908152604080832084845282529182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561060b5780601f106105e05761010080835404028352916020019161060b565b820191906000526020600020905b8154815290600101906020018083116105ee57829003601f168201915b5050505050905092915050565b60008054600160a060020a0316331461063057600080fd5b61063982610d6e565b60000b60001914151561064b57600080fd5b50600160a060020a03166000908152600260205260409020805460ff19169055600190565b600061067b33610d6e565b60000b60001914151561068d57600080fd5b60005460a060020a900460ff16156106a457600080fd5b60006106af83610d6e565b60000b136106bc57600080fd5b600160a060020a038216600081815260026020526040808220805460ff19169055517fa7a579573d398d7b67cd7450121bb250bbd060b29eabafdebc3ce0918658635c9190a25090565b60008061071583610579610564565b5111156107245750600461055f565b600061073283610515610564565b5111156107415750600361055f565b600061074f836104b1610564565b51111561075e5750600261055f565b50600161055f565b61076e611224565b60005460a060020a900460ff161561078557600080fd5b60008281526003602081815260409283902083516080810185528154600160a060020a0390811682526001808401549091168285015260028084015483880152948301805487516101009382161593909302600019011695909504601f8101859004850282018501909652858152909491936060860193919290918301828280156108515780601f1061082657610100808354040283529160200191610851565b820191906000526020600020905b81548152906001019060200180831161083457829003601f168201915b505050505081525050905033600160a060020a03168160200151600160a060020a0316148061088957508051600160a060020a031633145b806108a0575061089833610d6e565b60000b600019145b15156108ab57600080fd5b604051606082015180517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709290819060208401908083835b602083106109025780518252601f1990920191602091820191016108e3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415151561094057600080fd5b60208082018051600160a060020a03908116600090815260058085526040808320818801805185529087528184205486518616855283885282852082518652885282852060001990910190559451909316825284528181209251815291909252205415156109e957604080516020818101808452600080845285830151600160a060020a031681526004835284812086860151825290925292902090516109e7929061124a565b505b6040805160208181018084526000808452868152600392839052939093209151610a189392909101919061124a565b5060405182907f9a100d2018161ede6ca34c8007992b09bbffc636a636014a922e4c875041262890600090a25050565b6000818152600360208181526040808420805460018083015460028085015494909701805486516101009482161594909402600019011697909704601f810187900487028301870190955284825287968796606096600160a060020a039586169695909316949391928391830182828015610b045780601f10610ad957610100808354040283529160200191610b04565b820191906000526020600020905b815481529060010190602001808311610ae757829003601f168201915b5050505050905093509350935093509193509193565b600054600160a060020a03163314610b3157600080fd5b60005460a060020a900460ff161515610b4957600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b60005460a060020a900460ff1681565b600160a060020a03919091166000908152600560209081526040808320938352929052205490565b6003602081815260009283526040928390208054600180830154600280850154968501805489516101009582161595909502600019011691909104601f8101879004870284018701909852878352600160a060020a039384169793909116959491929091830182828015610c7d5780601f10610c5257610100808354040283529160200191610c7d565b820191906000526020600020905b815481529060010190602001808311610c6057829003601f168201915b5050505050905084565b600054600160a060020a03163314610c9e57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610d0a57600080fd5b60005460a060020a900460ff1615610d2157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600160a060020a0316600090815260026020526040812054900b90565b600054600160a060020a031681565b60008054819060a060020a900460ff1615610db457600080fd5b61044c8410610de857600a60648504069150610dcf33610d6e565b60000b8260000b13151515610de357600080fd5b610dfd565b600160a060020a0385163314610dfd57600080fd5b60405183517fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470918591819060208401908083835b60208310610e505780518252601f199092019160209182019101610e31565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151515610e8e57600080fd5b5060026103e884041480610fd457600160a060020a03851660009081526005602090815260408083208784529091529020541515610efd57600160a060020a038516600090815260046020908152604080832087845282529091208451610ef79286019061124a565b50610fd4565b826040518082805190602001908083835b60208310610f2d5780518252601f199092019160209182019101610f0e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916610f688686610564565b6040518082805190602001908083835b60208310610f975780518252601f199092019160209182019101610f78565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515610fd457600080fd5b600160a060020a0380861660008181526005602090815260408083208984528252808320805460019081019091558054810180825582516080810184523381528085019687528084018c8152606082018c815292875260038087529490962081518154908a1673ffffffffffffffffffffffffffffffffffffffff19918216178255975193810180549490991693909716929092179096559251600285015593518051929461108b9390850192919091019061124a565b50506001546040519091507fb9bb1df26fde5c1295a7ccd167330e5d6cb9df14fe4c3884669a64433cc9e76090600090a25050505050565b60006110ce33610d6e565b60000b6000191415156110e057600080fd5b60005460a060020a900460ff16156110f757600080fd5b600082810b1361110657600080fd5b61110f83610d6e565b60000b1561111c57600080fd5b600160a060020a038316600081815260026020526040808220805460ff191660ff87850b16179055517f02db26aafd16e8ecd93c4fa202917d50b1693f30b1594e57f7a432ede944eefc9190a25090919050565b600054600160a060020a0316331461118757600080fd5b611190816111a7565b50565b600260205260009081526040812054900b81565b600160a060020a03811615156111bc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080516080810182526000808252602082018190529181019190915260608082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061128b57805160ff19168380011785556112b8565b828001600101855582156112b8579182015b828111156112b857825182559160200191906001019061129d565b506112c49291506112c8565b5090565b6112e291905b808211156112c457600081556001016112ce565b905600a165627a7a7230582062063412dc64c0ee657ce05f8e88f1f13a7c8937a61cd4f42db5d324754e10750029` // DeployProfileRegistry deploys a new Ethereum contract, binding an instance of ProfileRegistry to it. func DeployProfileRegistry(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ProfileRegistry, error) { diff --git a/blockchain/source/api/SNM.go b/blockchain/source/api/SNM.go index 5d40e2ac2..36e62bd84 100644 --- a/blockchain/source/api/SNM.go +++ b/blockchain/source/api/SNM.go @@ -19,7 +19,7 @@ import ( const SNMABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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\"},{\"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\"}]" // SNMBin is the compiled bytecode used for deploying new contracts. -const SNMBin = `0x60c0604052600a60808190527f534f4e4d20746f6b656e0000000000000000000000000000000000000000000060a090815261003e91600491906100d8565b506040805180820190915260038082527f534e4d00000000000000000000000000000000000000000000000000000000006020909201918252610083916005916100d8565b50601260065534801561009557600080fd5b506003805433600160a060020a0319918216811790911681179091556b016f44a83aab6c233c000000600181905560009182526020829052604090912055610173565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061011957805160ff1916838001178555610146565b82800160010185558215610146579182015b8281111561014657825182559160200191906001019061012b565b50610152929150610156565b5090565b61017091905b80821115610152576000815560010161015c565b90565b610a1a806101826000396000f3006080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063095ea7b31461015e57806318160ddd1461019657806323b872dd146101bd578063313ce567146101e757806366188463146101fc57806370a0823114610220578063715018a6146102415780638da5cb5b1461025857806395d89b4114610289578063a9059cbb1461029e578063d73dd623146102c2578063dd62ed3e146102e6578063f2fde38b1461030d575b600080fd5b3480156100e057600080fd5b506100e961032e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012357818101518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016a57600080fd5b50610182600160a060020a03600435166024356103bc565b604080519115158252519081900360200190f35b3480156101a257600080fd5b506101ab610422565b60408051918252519081900360200190f35b3480156101c957600080fd5b50610182600160a060020a0360043581169060243516604435610428565b3480156101f357600080fd5b506101ab61059d565b34801561020857600080fd5b50610182600160a060020a03600435166024356105a3565b34801561022c57600080fd5b506101ab600160a060020a0360043516610692565b34801561024d57600080fd5b506102566106ad565b005b34801561026457600080fd5b5061026d61071b565b60408051600160a060020a039092168252519081900360200190f35b34801561029557600080fd5b506100e961072a565b3480156102aa57600080fd5b50610182600160a060020a0360043516602435610785565b3480156102ce57600080fd5b50610182600160a060020a0360043516602435610864565b3480156102f257600080fd5b506101ab600160a060020a03600435811690602435166108fd565b34801561031957600080fd5b50610256600160a060020a0360043516610928565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103b45780601f10610389576101008083540402835291602001916103b4565b820191906000526020600020905b81548152906001019060200180831161039757829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b600160a060020a03831660009081526020819052604081205482111561044d57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561047d57600080fd5b600160a060020a038316151561049257600080fd5b600160a060020a0384166000908152602081905260409020546104bb908363ffffffff61094b16565b600160a060020a0380861660009081526020819052604080822093909355908516815220546104f0908363ffffffff61095d16565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610532908363ffffffff61094b16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60065481565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106105f757336000908152600260209081526040808320600160a060020a038816845290915281205561062c565b610607818463ffffffff61094b16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a031633146106c457600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103b45780601f10610389576101008083540402835291602001916103b4565b336000908152602081905260408120548211156107a157600080fd5b600160a060020a03831615156107b657600080fd5b336000908152602081905260409020546107d6908363ffffffff61094b16565b3360009081526020819052604080822092909255600160a060020a03851681522054610808908363ffffffff61095d16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610898908363ffffffff61095d16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a0316331461093f57600080fd5b61094881610970565b50565b60008282111561095757fe5b50900390565b8181018281101561096a57fe5b92915050565b600160a060020a038116151561098557600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058203e4bc574ffeee1d644170929e1f5db71b545977c3b2b392decf6c1d2191a4f2c0029` +const SNMBin = `0x60c0604052600a60808190527f534f4e4d20746f6b656e0000000000000000000000000000000000000000000060a090815261003e91600491906100d8565b506040805180820190915260038082527f534e4d00000000000000000000000000000000000000000000000000000000006020909201918252610083916005916100d8565b50601260065534801561009557600080fd5b506003805433600160a060020a0319918216811790911681179091556b016f44a83aab6c233c000000600181905560009182526020829052604090912055610173565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061011957805160ff1916838001178555610146565b82800160010185558215610146579182015b8281111561014657825182559160200191906001019061012b565b50610152929150610156565b5090565b61017091905b80821115610152576000815560010161015c565b90565b610a1a806101826000396000f3006080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063095ea7b31461015e57806318160ddd1461019657806323b872dd146101bd578063313ce567146101e757806366188463146101fc57806370a0823114610220578063715018a6146102415780638da5cb5b1461025857806395d89b4114610289578063a9059cbb1461029e578063d73dd623146102c2578063dd62ed3e146102e6578063f2fde38b1461030d575b600080fd5b3480156100e057600080fd5b506100e961032e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012357818101518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016a57600080fd5b50610182600160a060020a03600435166024356103bc565b604080519115158252519081900360200190f35b3480156101a257600080fd5b506101ab610422565b60408051918252519081900360200190f35b3480156101c957600080fd5b50610182600160a060020a0360043581169060243516604435610428565b3480156101f357600080fd5b506101ab61059d565b34801561020857600080fd5b50610182600160a060020a03600435166024356105a3565b34801561022c57600080fd5b506101ab600160a060020a0360043516610692565b34801561024d57600080fd5b506102566106ad565b005b34801561026457600080fd5b5061026d61071b565b60408051600160a060020a039092168252519081900360200190f35b34801561029557600080fd5b506100e961072a565b3480156102aa57600080fd5b50610182600160a060020a0360043516602435610785565b3480156102ce57600080fd5b50610182600160a060020a0360043516602435610864565b3480156102f257600080fd5b506101ab600160a060020a03600435811690602435166108fd565b34801561031957600080fd5b50610256600160a060020a0360043516610928565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103b45780601f10610389576101008083540402835291602001916103b4565b820191906000526020600020905b81548152906001019060200180831161039757829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b600160a060020a03831660009081526020819052604081205482111561044d57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561047d57600080fd5b600160a060020a038316151561049257600080fd5b600160a060020a0384166000908152602081905260409020546104bb908363ffffffff61094b16565b600160a060020a0380861660009081526020819052604080822093909355908516815220546104f0908363ffffffff61095d16565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610532908363ffffffff61094b16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60065481565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106105f757336000908152600260209081526040808320600160a060020a038816845290915281205561062c565b610607818463ffffffff61094b16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a031633146106c457600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103b45780601f10610389576101008083540402835291602001916103b4565b336000908152602081905260408120548211156107a157600080fd5b600160a060020a03831615156107b657600080fd5b336000908152602081905260409020546107d6908363ffffffff61094b16565b3360009081526020819052604080822092909255600160a060020a03851681522054610808908363ffffffff61095d16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610898908363ffffffff61095d16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a0316331461093f57600080fd5b61094881610970565b50565b60008282111561095757fe5b50900390565b8181018281101561096a57fe5b92915050565b600160a060020a038116151561098557600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058206a932b0aad8a192d936ade582529b77bc96c8829cc8dd09fdc74a5cdc4dd9c260029` // DeploySNM deploys a new Ethereum contract, binding an instance of SNM to it. func DeploySNM(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SNM, error) { diff --git a/blockchain/source/api/SNMMasterchain.go b/blockchain/source/api/SNMMasterchain.go index 0889666e2..908ea8d1f 100644 --- a/blockchain/source/api/SNMMasterchain.go +++ b/blockchain/source/api/SNMMasterchain.go @@ -19,7 +19,7 @@ import ( const SNMMasterchainABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ico\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokensAreFrozen\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_ico\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"},{\"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\"},{\"constant\":false,\"inputs\":[{\"name\":\"_holder\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"defrost\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // SNMMasterchainBin is the compiled bytecode used for deploying new contracts. -const SNMMasterchainBin = `0x60c0604052600a60808190527f534f4e4d20546f6b656e0000000000000000000000000000000000000000000060a090815261003e91600391906100f2565b506040805180820190915260038082527f534e4d00000000000000000000000000000000000000000000000000000000006020909201918252610083916004916100f2565b5060126005556006805460a060020a60ff021916740100000000000000000000000000000000000000001790553480156100bc57600080fd5b506040516020806109fb833981016040525160068054600160a060020a031916600160a060020a0390921691909117905561018d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff1916838001178555610160565b82800160010185558215610160579182015b82811115610160578251825591602001919060010190610145565b5061016c929150610170565b5090565b61018a91905b8082111561016c5760008155600101610176565b90565b61085f8061019c6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063095ea7b31461015357806318160ddd1461017957806323b872dd146101a0578063313ce567146101ca57806340c10f19146101df5780635d4522011461020357806370a082311461023457806395d89b4114610255578063a9059cbb1461026a578063ca67065f1461028e578063dd62ed3e146102b7578063f21cdf6f146102de575b600080fd5b3480156100d557600080fd5b506100de6102f3565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b50610177600160a060020a0360043516602435610381565b005b34801561018557600080fd5b5061018e6103b7565b60408051918252519081900360200190f35b3480156101ac57600080fd5b50610177600160a060020a03600435811690602435166044356103bd565b3480156101d657600080fd5b5061018e6103f5565b3480156101eb57600080fd5b50610177600160a060020a03600435166024356103fb565b34801561020f57600080fd5b50610218610499565b60408051600160a060020a039092168252519081900360200190f35b34801561024057600080fd5b5061018e600160a060020a03600435166104a8565b34801561026157600080fd5b506100de6104c3565b34801561027657600080fd5b50610177600160a060020a036004351660243561051e565b34801561029a57600080fd5b506102a3610550565b604080519115158252519081900360200190f35b3480156102c357600080fd5b5061018e600160a060020a0360043581169060243516610571565b3480156102ea57600080fd5b5061017761059c565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b505050505081565b60065474010000000000000000000000000000000000000000900460ff16156103a957600080fd5b6103b382826105d3565b5050565b60005481565b60065474010000000000000000000000000000000000000000900460ff16156103e557600080fd5b6103f0838383610635565b505050565b60055481565b600654600160a060020a0316331461041257600080fd5b80151561041e57600080fd5b6000546b016f44a83aab6c233c000000908201111561043c57600080fd5b600160a060020a0382166000818152600160209081526040808320805486019055825485018355805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b600654600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b60065474010000000000000000000000000000000000000000900460ff161561054657600080fd5b6103b3828261073c565b60065474010000000000000000000000000000000000000000900460ff1681565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031633146105b357600080fd5b6006805474ff000000000000000000000000000000000000000019169055565b336000818152600260209081526040808320600160a060020a03871680855290835292819020859055805185815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35050565b600160a060020a03808416600090815260026020908152604080832033845282528083205493861683526001909152902054610677908363ffffffff6107f816565b600160a060020a0380851660009081526001602052604080822093909355908616815220546106ac908363ffffffff61081016565b600160a060020a0385166000908152600160205260409020556106d5818363ffffffff61081016565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505050565b6040604436101561074c57600080fd5b3360009081526001602052604090205461076c908363ffffffff61081016565b3360009081526001602052604080822092909255600160a060020a0385168152205461079e908363ffffffff6107f816565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600082820161080984821015610824565b9392505050565b600061081e83831115610824565b50900390565b80151561083057600080fd5b505600a165627a7a723058207a21099c341d6151a60831ab9cb0adfd5df86550b831e1e81f1b9e1e6f65560f0029` +const SNMMasterchainBin = `0x60c0604052600a60808190527f534f4e4d20546f6b656e0000000000000000000000000000000000000000000060a090815261003e91600391906100f2565b506040805180820190915260038082527f534e4d00000000000000000000000000000000000000000000000000000000006020909201918252610083916004916100f2565b5060126005556006805460a060020a60ff021916740100000000000000000000000000000000000000001790553480156100bc57600080fd5b506040516020806109fb833981016040525160068054600160a060020a031916600160a060020a0390921691909117905561018d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff1916838001178555610160565b82800160010185558215610160579182015b82811115610160578251825591602001919060010190610145565b5061016c929150610170565b5090565b61018a91905b8082111561016c5760008155600101610176565b90565b61085f8061019c6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063095ea7b31461015357806318160ddd1461017957806323b872dd146101a0578063313ce567146101ca57806340c10f19146101df5780635d4522011461020357806370a082311461023457806395d89b4114610255578063a9059cbb1461026a578063ca67065f1461028e578063dd62ed3e146102b7578063f21cdf6f146102de575b600080fd5b3480156100d557600080fd5b506100de6102f3565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b50610177600160a060020a0360043516602435610381565b005b34801561018557600080fd5b5061018e6103b7565b60408051918252519081900360200190f35b3480156101ac57600080fd5b50610177600160a060020a03600435811690602435166044356103bd565b3480156101d657600080fd5b5061018e6103f5565b3480156101eb57600080fd5b50610177600160a060020a03600435166024356103fb565b34801561020f57600080fd5b50610218610499565b60408051600160a060020a039092168252519081900360200190f35b34801561024057600080fd5b5061018e600160a060020a03600435166104a8565b34801561026157600080fd5b506100de6104c3565b34801561027657600080fd5b50610177600160a060020a036004351660243561051e565b34801561029a57600080fd5b506102a3610550565b604080519115158252519081900360200190f35b3480156102c357600080fd5b5061018e600160a060020a0360043581169060243516610571565b3480156102ea57600080fd5b5061017761059c565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b505050505081565b60065474010000000000000000000000000000000000000000900460ff16156103a957600080fd5b6103b382826105d3565b5050565b60005481565b60065474010000000000000000000000000000000000000000900460ff16156103e557600080fd5b6103f0838383610635565b505050565b60055481565b600654600160a060020a0316331461041257600080fd5b80151561041e57600080fd5b6000546b016f44a83aab6c233c000000908201111561043c57600080fd5b600160a060020a0382166000818152600160209081526040808320805486019055825485018355805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b600654600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b60065474010000000000000000000000000000000000000000900460ff161561054657600080fd5b6103b3828261073c565b60065474010000000000000000000000000000000000000000900460ff1681565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031633146105b357600080fd5b6006805474ff000000000000000000000000000000000000000019169055565b336000818152600260209081526040808320600160a060020a03871680855290835292819020859055805185815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35050565b600160a060020a03808416600090815260026020908152604080832033845282528083205493861683526001909152902054610677908363ffffffff6107f816565b600160a060020a0380851660009081526001602052604080822093909355908616815220546106ac908363ffffffff61081016565b600160a060020a0385166000908152600160205260409020556106d5818363ffffffff61081016565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505050565b6040604436101561074c57600080fd5b3360009081526001602052604090205461076c908363ffffffff61081016565b3360009081526001602052604080822092909255600160a060020a0385168152205461079e908363ffffffff6107f816565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600082820161080984821015610824565b9392505050565b600061081e83831115610824565b50900390565b80151561083057600080fd5b505600a165627a7a723058202abbf7972e4461b225bf91904f291ca8c7ac90f0ed5eb1a9e2df4d8d6b944d2a0029` // DeploySNMMasterchain deploys a new Ethereum contract, binding an instance of SNMMasterchain to it. func DeploySNMMasterchain(auth *bind.TransactOpts, backend bind.ContractBackend, _ico common.Address) (common.Address, *types.Transaction, *SNMMasterchain, error) { diff --git a/blockchain/source/api/SimpleGatekeeperWithLimit.go b/blockchain/source/api/SimpleGatekeeperWithLimit.go index afd64d8cb..d7e17d4fa 100644 --- a/blockchain/source/api/SimpleGatekeeperWithLimit.go +++ b/blockchain/source/api/SimpleGatekeeperWithLimit.go @@ -19,7 +19,7 @@ import ( const SimpleGatekeeperWithLimitABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"keepers\",\"outputs\":[{\"name\":\"dayLimit\",\"type\":\"uint256\"},{\"name\":\"lastDay\",\"type\":\"uint256\"},{\"name\":\"spentToday\",\"type\":\"uint256\"},{\"name\":\"frozen\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"paid\",\"outputs\":[{\"name\":\"commitTS\",\"type\":\"uint256\"},{\"name\":\"paid\",\"type\":\"bool\"},{\"name\":\"keeper\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transactionAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"commissionBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"commission\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_freezingTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"txNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PayinTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"txNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"commitTimestamp\",\"type\":\"uint256\"}],\"name\":\"CommitTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"txNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PayoutTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"block\",\"type\":\"uint256\"}],\"name\":\"Suicide\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"keeper\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"dayLimit\",\"type\":\"uint256\"}],\"name\":\"LimitChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"keeper\",\"type\":\"address\"}],\"name\":\"KeeperFreezed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"keeper\",\"type\":\"address\"}],\"name\":\"KeeperUnfreezed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"commission\",\"type\":\"uint256\"}],\"name\":\"CommissionChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_keeper\",\"type\":\"address\"},{\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"ChangeKeeperLimit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_keeper\",\"type\":\"address\"}],\"name\":\"FreezeKeeper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_keeper\",\"type\":\"address\"}],\"name\":\"UnfreezeKeeper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Payin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"PayinTargeted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_txNumber\",\"type\":\"uint256\"}],\"name\":\"Payout\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_freezingTime\",\"type\":\"uint256\"}],\"name\":\"SetFreezingTime\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetFreezingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_commission\",\"type\":\"uint256\"}],\"name\":\"SetCommission\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetCommission\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"TransferCommission\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"kill\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // SimpleGatekeeperWithLimitBin is the compiled bytecode used for deploying new contracts. -const SimpleGatekeeperWithLimitBin = `0x608060405260006003556000600455600060055534801561001f57600080fd5b50604051604080610eea8339810160405280516020909101516000805460018054600160a060020a03909516600160a060020a0319958616179055831633908117909316909217909155600755610e6f8061007b6000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306d8e8b1811461011657806328f727f01461012d57806336ab802e146101455780633bbd64bc1461016c57806341c0e1b5146101b557806358712633146101ca578063634235fc146101df5780636ea5803114610206578063715018a61461021e5780638da5cb5b14610233578063ad835c0b14610264578063add89bb214610288578063b38ad8e7146102c7578063cc38d7ca146102e8578063d942bffa14610300578063dcf1a9ef14610315578063e14891911461032a578063e3fcd18e1461033f578063e5837a7b14610363578063f2fde38b14610384575b600080fd5b34801561012257600080fd5b5061012b6103a5565b005b34801561013957600080fd5b5061012b600435610473565b34801561015157600080fd5b5061015a610480565b60408051918252519081900360200190f35b34801561017857600080fd5b5061018d600160a060020a0360043516610486565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b3480156101c157600080fd5b5061012b6104b2565b3480156101d657600080fd5b5061015a610647565b3480156101eb57600080fd5b5061012b600160a060020a036004351660243560443561064d565b34801561021257600080fd5b5061012b6004356108d5565b34801561022a57600080fd5b5061012b61091f565b34801561023f57600080fd5b5061024861098b565b60408051600160a060020a039092168252519081900360200190f35b34801561027057600080fd5b5061012b600160a060020a036004351660243561099a565b34801561029457600080fd5b506102a06004356109f8565b604080519384529115156020840152600160a060020a031682820152519081900360600190f35b3480156102d357600080fd5b5061012b600160a060020a0360043516610a24565b3480156102f457600080fd5b5061012b600435610ab0565b34801561030c57600080fd5b5061015a610acc565b34801561032157600080fd5b5061015a610ad2565b34801561033657600080fd5b5061015a610ad8565b34801561034b57600080fd5b5061012b600435600160a060020a0360243516610ade565b34801561036f57600080fd5b5061012b600160a060020a0360043516610c06565b34801561039057600080fd5b5061012b600160a060020a0360043516610c8c565b600054600160a060020a031633146103bc57600080fd5b60015460008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b15801561043557600080fd5b505af1158015610449573d6000803e3d6000fd5b505050506040513d602081101561045f57600080fd5b5051151561046c57600080fd5b6000600555565b61047d8133610ade565b50565b60075490565b600260208190526000918252604090912080546001820154928201546003909201549092919060ff1684565b600054600160a060020a031633146104c957600080fd5b60015460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561053d57600080fd5b505af1158015610551573d6000803e3d6000fd5b505050506040513d602081101561056757600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156105cf57600080fd5b505af11580156105e3573d6000803e3d6000fd5b505050506040513d60208110156105f957600080fd5b5051151561060657600080fd5b6040805142815290517fa1ea9b09ea114021983e9ecf71cf2ffddfd80f5cb4f925e5bf24f9bdb5e55fde9181900360200190a1600054600160a060020a0316ff5b60045490565b3360009081526002602052604081206003015460ff161561066d57600080fd5b336000908152600260205260408120541161068757600080fd5b50604080516c01000000000000000000000000600160a060020a0386160281526014810183905260348101849052815190819003605401902060008181526006602052919091206001015460ff16156106df57600080fd5b600081815260066020526040902054151561078b576106fe3384610cac565b151561070957600080fd5b600081815260066020908152604091829020428082556001909101805474ffffffffffffffffffffffffffffffffffffffff00191633610100021790558251908152915185928592600160a060020a038916927f65546c3bc3a77ffc91667da85018004299542e28a511328cfb4b3f86974902ee9281900390910190a46108cf565b6000818152600660205260409020600101546101009004600160a060020a031633146107b657600080fd5b60075460008281526006602052604090205442910111156107d657600080fd5b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152602482018790529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561084557600080fd5b505af1158015610859573d6000803e3d6000fd5b505050506040513d602081101561086f57600080fd5b5051151561087c57600080fd5b6000818152600660205260408082206001908101805460ff191690911790555184918491600160a060020a038816917f731af16374848c2c73a6154fd410cb421138e7db45c5a904e5a475c756faa8d991a45b50505050565b600054600160a060020a031633146108ec57600080fd5b600481905560405181907f839e4456845dbc05c7d8638cf0b0976161331b5f9163980d71d9a6444a326c6190600090a250565b600054600160a060020a0316331461093657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146109b157600080fd5b600160a060020a038216600081815260026020526040808220849055518392917fef9c668177207fb68ca5e3894a1efacebb659762b27a737fde58ceebc4f30ad391a35050565b6006602052600090815260409020805460019091015460ff8116906101009004600160a060020a031683565b3360009081526002602052604081205411610a3e57600080fd5b600160a060020a03811660009081526002602052604081205411610a6157600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19166001179055517fdf4868d2f39f6ab9f41b92c6917da5aec882c461ce7316bb62076865108502bd9190a250565b600054600160a060020a03163314610ac757600080fd5b600755565b60035481565b60055481565b60045481565b6004548211610aec57600080fd5b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015610b5f57600080fd5b505af1158015610b73573d6000803e3d6000fd5b505050506040513d6020811015610b8957600080fd5b50511515610b9657600080fd5b600380546001019055600454600554610bb49163ffffffff610d9e16565b600555600454610bcb90839063ffffffff610dab16565b600354604051600160a060020a038416907f14312725abbc46ad798bc078b2663e1fcbace97be0247cd177176f3b4df2538e90600090a45050565b600054600160a060020a03163314610c1d57600080fd5b600160a060020a03811660009081526002602052604081205411610c4057600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19169055517fbbe17a7427b5192903e1b3f0f2b6ef8b2a1af9b33e1079faf8f8383f2fb63b539190a250565b600054600160a060020a03163314610ca357600080fd5b61047d81610dbd565b600160a060020a038216600090815260026020526040812060010154610cd0610e3a565b1115610d1757600160a060020a038316600090815260026020819052604082200155610cfa610e3a565b600160a060020a0384166000908152600260205260409020600101555b600160a060020a0383166000908152600260208190526040909120015482810110801590610d655750600160a060020a03831660009081526002602081905260409091208054910154830111155b15610d945750600160a060020a0382166000908152600260208190526040909120018054820190556001610d98565b5060005b92915050565b81810182811015610d9857fe5b600082821115610db757fe5b50900390565b600160a060020a0381161515610dd257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b620151804204905600a165627a7a7230582042c3bdc5700a280b948a7fa338fe50ecd13a43a0bbbc3db1a342e03e760678700029` +const SimpleGatekeeperWithLimitBin = `0x608060405260006003556000600455600060055534801561001f57600080fd5b50604051604080610eea8339810160405280516020909101516000805460018054600160a060020a03909516600160a060020a0319958616179055831633908117909316909217909155600755610e6f8061007b6000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306d8e8b1811461011657806328f727f01461012d57806336ab802e146101455780633bbd64bc1461016c57806341c0e1b5146101b557806358712633146101ca578063634235fc146101df5780636ea5803114610206578063715018a61461021e5780638da5cb5b14610233578063ad835c0b14610264578063add89bb214610288578063b38ad8e7146102c7578063cc38d7ca146102e8578063d942bffa14610300578063dcf1a9ef14610315578063e14891911461032a578063e3fcd18e1461033f578063e5837a7b14610363578063f2fde38b14610384575b600080fd5b34801561012257600080fd5b5061012b6103a5565b005b34801561013957600080fd5b5061012b600435610473565b34801561015157600080fd5b5061015a610480565b60408051918252519081900360200190f35b34801561017857600080fd5b5061018d600160a060020a0360043516610486565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b3480156101c157600080fd5b5061012b6104b2565b3480156101d657600080fd5b5061015a610647565b3480156101eb57600080fd5b5061012b600160a060020a036004351660243560443561064d565b34801561021257600080fd5b5061012b6004356108d5565b34801561022a57600080fd5b5061012b61091f565b34801561023f57600080fd5b5061024861098b565b60408051600160a060020a039092168252519081900360200190f35b34801561027057600080fd5b5061012b600160a060020a036004351660243561099a565b34801561029457600080fd5b506102a06004356109f8565b604080519384529115156020840152600160a060020a031682820152519081900360600190f35b3480156102d357600080fd5b5061012b600160a060020a0360043516610a24565b3480156102f457600080fd5b5061012b600435610ab0565b34801561030c57600080fd5b5061015a610acc565b34801561032157600080fd5b5061015a610ad2565b34801561033657600080fd5b5061015a610ad8565b34801561034b57600080fd5b5061012b600435600160a060020a0360243516610ade565b34801561036f57600080fd5b5061012b600160a060020a0360043516610c06565b34801561039057600080fd5b5061012b600160a060020a0360043516610c8c565b600054600160a060020a031633146103bc57600080fd5b60015460008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b15801561043557600080fd5b505af1158015610449573d6000803e3d6000fd5b505050506040513d602081101561045f57600080fd5b5051151561046c57600080fd5b6000600555565b61047d8133610ade565b50565b60075490565b600260208190526000918252604090912080546001820154928201546003909201549092919060ff1684565b600054600160a060020a031633146104c957600080fd5b60015460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561053d57600080fd5b505af1158015610551573d6000803e3d6000fd5b505050506040513d602081101561056757600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156105cf57600080fd5b505af11580156105e3573d6000803e3d6000fd5b505050506040513d60208110156105f957600080fd5b5051151561060657600080fd5b6040805142815290517fa1ea9b09ea114021983e9ecf71cf2ffddfd80f5cb4f925e5bf24f9bdb5e55fde9181900360200190a1600054600160a060020a0316ff5b60045490565b3360009081526002602052604081206003015460ff161561066d57600080fd5b336000908152600260205260408120541161068757600080fd5b50604080516c01000000000000000000000000600160a060020a0386160281526014810183905260348101849052815190819003605401902060008181526006602052919091206001015460ff16156106df57600080fd5b600081815260066020526040902054151561078b576106fe3384610cac565b151561070957600080fd5b600081815260066020908152604091829020428082556001909101805474ffffffffffffffffffffffffffffffffffffffff00191633610100021790558251908152915185928592600160a060020a038916927f65546c3bc3a77ffc91667da85018004299542e28a511328cfb4b3f86974902ee9281900390910190a46108cf565b6000818152600660205260409020600101546101009004600160a060020a031633146107b657600080fd5b60075460008281526006602052604090205442910111156107d657600080fd5b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152602482018790529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561084557600080fd5b505af1158015610859573d6000803e3d6000fd5b505050506040513d602081101561086f57600080fd5b5051151561087c57600080fd5b6000818152600660205260408082206001908101805460ff191690911790555184918491600160a060020a038816917f731af16374848c2c73a6154fd410cb421138e7db45c5a904e5a475c756faa8d991a45b50505050565b600054600160a060020a031633146108ec57600080fd5b600481905560405181907f839e4456845dbc05c7d8638cf0b0976161331b5f9163980d71d9a6444a326c6190600090a250565b600054600160a060020a0316331461093657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146109b157600080fd5b600160a060020a038216600081815260026020526040808220849055518392917fef9c668177207fb68ca5e3894a1efacebb659762b27a737fde58ceebc4f30ad391a35050565b6006602052600090815260409020805460019091015460ff8116906101009004600160a060020a031683565b3360009081526002602052604081205411610a3e57600080fd5b600160a060020a03811660009081526002602052604081205411610a6157600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19166001179055517fdf4868d2f39f6ab9f41b92c6917da5aec882c461ce7316bb62076865108502bd9190a250565b600054600160a060020a03163314610ac757600080fd5b600755565b60035481565b60055481565b60045481565b6004548211610aec57600080fd5b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015610b5f57600080fd5b505af1158015610b73573d6000803e3d6000fd5b505050506040513d6020811015610b8957600080fd5b50511515610b9657600080fd5b600380546001019055600454600554610bb49163ffffffff610d9e16565b600555600454610bcb90839063ffffffff610dab16565b600354604051600160a060020a038416907f14312725abbc46ad798bc078b2663e1fcbace97be0247cd177176f3b4df2538e90600090a45050565b600054600160a060020a03163314610c1d57600080fd5b600160a060020a03811660009081526002602052604081205411610c4057600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19169055517fbbe17a7427b5192903e1b3f0f2b6ef8b2a1af9b33e1079faf8f8383f2fb63b539190a250565b600054600160a060020a03163314610ca357600080fd5b61047d81610dbd565b600160a060020a038216600090815260026020526040812060010154610cd0610e3a565b1115610d1757600160a060020a038316600090815260026020819052604082200155610cfa610e3a565b600160a060020a0384166000908152600260205260409020600101555b600160a060020a0383166000908152600260208190526040909120015482810110801590610d655750600160a060020a03831660009081526002602081905260409091208054910154830111155b15610d945750600160a060020a0382166000908152600260208190526040909120018054820190556001610d98565b5060005b92915050565b81810182811015610d9857fe5b600082821115610db757fe5b50900390565b600160a060020a0381161515610dd257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b620151804204905600a165627a7a723058203cff4e898fe0b069055c08319c3c3d2db6e51a57270c6d550f468526830d13e20029` // DeploySimpleGatekeeperWithLimit deploys a new Ethereum contract, binding an instance of SimpleGatekeeperWithLimit to it. func DeploySimpleGatekeeperWithLimit(auth *bind.TransactOpts, backend bind.ContractBackend, _token common.Address, _freezingTime *big.Int) (common.Address, *types.Transaction, *SimpleGatekeeperWithLimit, error) { diff --git a/blockchain/source/api/SimpleGatekeeperWithLimitLive.go b/blockchain/source/api/SimpleGatekeeperWithLimitLive.go index fb2e4e3ca..aa910d040 100644 --- a/blockchain/source/api/SimpleGatekeeperWithLimitLive.go +++ b/blockchain/source/api/SimpleGatekeeperWithLimitLive.go @@ -19,7 +19,7 @@ import ( const SimpleGatekeeperWithLimitLiveABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"keepers\",\"outputs\":[{\"name\":\"dayLimit\",\"type\":\"uint256\"},{\"name\":\"lastDay\",\"type\":\"uint256\"},{\"name\":\"spentToday\",\"type\":\"uint256\"},{\"name\":\"frozen\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"paid\",\"outputs\":[{\"name\":\"commitTS\",\"type\":\"uint256\"},{\"name\":\"paid\",\"type\":\"bool\"},{\"name\":\"keeper\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transactionAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_freezingTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"txNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PayinTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"txNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"commitTimestamp\",\"type\":\"uint256\"}],\"name\":\"CommitTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"txNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PayoutTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"block\",\"type\":\"uint256\"}],\"name\":\"Suicide\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"keeper\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"dayLimit\",\"type\":\"uint256\"}],\"name\":\"LimitChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"keeper\",\"type\":\"address\"}],\"name\":\"KeeperFreezed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"keeper\",\"type\":\"address\"}],\"name\":\"KeeperUnfreezed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_keeper\",\"type\":\"address\"},{\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"ChangeKeeperLimit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_keeper\",\"type\":\"address\"}],\"name\":\"FreezeKeeper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_keeper\",\"type\":\"address\"}],\"name\":\"UnfreezeKeeper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Payin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_txNumber\",\"type\":\"uint256\"}],\"name\":\"Payout\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_freezingTime\",\"type\":\"uint256\"}],\"name\":\"SetFreezingTime\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetFreezingTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"kill\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // SimpleGatekeeperWithLimitLiveBin is the compiled bytecode used for deploying new contracts. -const SimpleGatekeeperWithLimitLiveBin = `0x6080604052600060035534801561001557600080fd5b50604051604080610c1c8339810160405280516020909101516000805460018054600160a060020a03909516600160a060020a0319958616179055831633908117909316909217909155600555610bab806100716000396000f3006080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166328f727f081146100d457806336ab802e146100ee5780633bbd64bc1461011557806341c0e1b51461015e578063634235fc14610173578063715018a61461019a5780638da5cb5b146101af578063ad835c0b146101e0578063add89bb214610204578063b38ad8e714610243578063cc38d7ca14610264578063d942bffa1461027c578063e5837a7b14610291578063f2fde38b146102b2575b600080fd5b3480156100e057600080fd5b506100ec6004356102d3565b005b3480156100fa57600080fd5b5061010361039a565b60408051918252519081900360200190f35b34801561012157600080fd5b50610136600160a060020a03600435166103a0565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b34801561016a57600080fd5b506100ec6103cc565b34801561017f57600080fd5b506100ec600160a060020a0360043516602435604435610542565b3480156101a657600080fd5b506100ec6107ab565b3480156101bb57600080fd5b506101c4610817565b60408051600160a060020a039092168252519081900360200190f35b3480156101ec57600080fd5b506100ec600160a060020a0360043516602435610826565b34801561021057600080fd5b5061021c600435610884565b604080519384529115156020840152600160a060020a031682820152519081900360600190f35b34801561024f57600080fd5b506100ec600160a060020a03600435166108b0565b34801561027057600080fd5b506100ec60043561093c565b34801561028857600080fd5b50610103610958565b34801561029d57600080fd5b506100ec600160a060020a036004351661095e565b3480156102be57600080fd5b506100ec600160a060020a03600435166109e4565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd9160648082019260009290919082900301818387803b15801561034557600080fd5b505af1158015610359573d6000803e3d6000fd5b5050600380546001019081905560405184935090915033907f14312725abbc46ad798bc078b2663e1fcbace97be0247cd177176f3b4df2538e90600090a450565b60055490565b600260208190526000918252604090912080546001820154928201546003909201549092919060ff1684565b600054600160a060020a031633146103e357600080fd5b60015460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561045757600080fd5b505af115801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039093166004840152602483019190915251604480830192600092919082900301818387803b1580156104e857600080fd5b505af11580156104fc573d6000803e3d6000fd5b50506040805142815290517fa1ea9b09ea114021983e9ecf71cf2ffddfd80f5cb4f925e5bf24f9bdb5e55fde9350908190036020019150a1600054600160a060020a0316ff5b3360009081526002602052604081206003015460ff161561056257600080fd5b336000908152600260205260408120541161057c57600080fd5b50604080516c01000000000000000000000000600160a060020a0386160281526014810183905260348101849052815190819003605401902060008181526004602052919091206001015460ff16156105d457600080fd5b6000818152600460205260409020541515610680576105f33384610a07565b15156105fe57600080fd5b600081815260046020908152604091829020428082556001909101805474ffffffffffffffffffffffffffffffffffffffff00191633610100021790558251908152915185928592600160a060020a038916927f65546c3bc3a77ffc91667da85018004299542e28a511328cfb4b3f86974902ee9281900390910190a46107a5565b6000818152600460205260409020600101546101009004600160a060020a031633146106ab57600080fd5b60055460008281526004602052604090205442910111156106cb57600080fd5b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152602482018790529151919092169163a9059cbb91604480830192600092919082900301818387803b15801561073957600080fd5b505af115801561074d573d6000803e3d6000fd5b5050506000828152600460205260408082206001908101805460ff19169091179055518592508491600160a060020a038816917f731af16374848c2c73a6154fd410cb421138e7db45c5a904e5a475c756faa8d99190a45b50505050565b600054600160a060020a031633146107c257600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a0316331461083d57600080fd5b600160a060020a038216600081815260026020526040808220849055518392917fef9c668177207fb68ca5e3894a1efacebb659762b27a737fde58ceebc4f30ad391a35050565b6004602052600090815260409020805460019091015460ff8116906101009004600160a060020a031683565b33600090815260026020526040812054116108ca57600080fd5b600160a060020a038116600090815260026020526040812054116108ed57600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19166001179055517fdf4868d2f39f6ab9f41b92c6917da5aec882c461ce7316bb62076865108502bd9190a250565b600054600160a060020a0316331461095357600080fd5b600555565b60035481565b600054600160a060020a0316331461097557600080fd5b600160a060020a0381166000908152600260205260408120541161099857600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19169055517fbbe17a7427b5192903e1b3f0f2b6ef8b2a1af9b33e1079faf8f8383f2fb63b539190a250565b600054600160a060020a031633146109fb57600080fd5b610a0481610af9565b50565b600160a060020a038216600090815260026020526040812060010154610a2b610b76565b1115610a7257600160a060020a038316600090815260026020819052604082200155610a55610b76565b600160a060020a0384166000908152600260205260409020600101555b600160a060020a0383166000908152600260208190526040909120015482810110801590610ac05750600160a060020a03831660009081526002602081905260409091208054910154830111155b15610aef5750600160a060020a0382166000908152600260208190526040909120018054820190556001610af3565b5060005b92915050565b600160a060020a0381161515610b0e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b620151804204905600a165627a7a72305820dde34f8547567638b0dffc83b3a645551ea6af158811af5ad20487b4528cce560029` +const SimpleGatekeeperWithLimitLiveBin = `0x6080604052600060035534801561001557600080fd5b50604051604080610c1c8339810160405280516020909101516000805460018054600160a060020a03909516600160a060020a0319958616179055831633908117909316909217909155600555610bab806100716000396000f3006080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166328f727f081146100d457806336ab802e146100ee5780633bbd64bc1461011557806341c0e1b51461015e578063634235fc14610173578063715018a61461019a5780638da5cb5b146101af578063ad835c0b146101e0578063add89bb214610204578063b38ad8e714610243578063cc38d7ca14610264578063d942bffa1461027c578063e5837a7b14610291578063f2fde38b146102b2575b600080fd5b3480156100e057600080fd5b506100ec6004356102d3565b005b3480156100fa57600080fd5b5061010361039a565b60408051918252519081900360200190f35b34801561012157600080fd5b50610136600160a060020a03600435166103a0565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b34801561016a57600080fd5b506100ec6103cc565b34801561017f57600080fd5b506100ec600160a060020a0360043516602435604435610542565b3480156101a657600080fd5b506100ec6107ab565b3480156101bb57600080fd5b506101c4610817565b60408051600160a060020a039092168252519081900360200190f35b3480156101ec57600080fd5b506100ec600160a060020a0360043516602435610826565b34801561021057600080fd5b5061021c600435610884565b604080519384529115156020840152600160a060020a031682820152519081900360600190f35b34801561024f57600080fd5b506100ec600160a060020a03600435166108b0565b34801561027057600080fd5b506100ec60043561093c565b34801561028857600080fd5b50610103610958565b34801561029d57600080fd5b506100ec600160a060020a036004351661095e565b3480156102be57600080fd5b506100ec600160a060020a03600435166109e4565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd9160648082019260009290919082900301818387803b15801561034557600080fd5b505af1158015610359573d6000803e3d6000fd5b5050600380546001019081905560405184935090915033907f14312725abbc46ad798bc078b2663e1fcbace97be0247cd177176f3b4df2538e90600090a450565b60055490565b600260208190526000918252604090912080546001820154928201546003909201549092919060ff1684565b600054600160a060020a031633146103e357600080fd5b60015460008054604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a039485169463a9059cbb9493169285926370a082319260248083019360209383900390910190829087803b15801561045757600080fd5b505af115801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039093166004840152602483019190915251604480830192600092919082900301818387803b1580156104e857600080fd5b505af11580156104fc573d6000803e3d6000fd5b50506040805142815290517fa1ea9b09ea114021983e9ecf71cf2ffddfd80f5cb4f925e5bf24f9bdb5e55fde9350908190036020019150a1600054600160a060020a0316ff5b3360009081526002602052604081206003015460ff161561056257600080fd5b336000908152600260205260408120541161057c57600080fd5b50604080516c01000000000000000000000000600160a060020a0386160281526014810183905260348101849052815190819003605401902060008181526004602052919091206001015460ff16156105d457600080fd5b6000818152600460205260409020541515610680576105f33384610a07565b15156105fe57600080fd5b600081815260046020908152604091829020428082556001909101805474ffffffffffffffffffffffffffffffffffffffff00191633610100021790558251908152915185928592600160a060020a038916927f65546c3bc3a77ffc91667da85018004299542e28a511328cfb4b3f86974902ee9281900390910190a46107a5565b6000818152600460205260409020600101546101009004600160a060020a031633146106ab57600080fd5b60055460008281526004602052604090205442910111156106cb57600080fd5b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152602482018790529151919092169163a9059cbb91604480830192600092919082900301818387803b15801561073957600080fd5b505af115801561074d573d6000803e3d6000fd5b5050506000828152600460205260408082206001908101805460ff19169091179055518592508491600160a060020a038816917f731af16374848c2c73a6154fd410cb421138e7db45c5a904e5a475c756faa8d99190a45b50505050565b600054600160a060020a031633146107c257600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a0316331461083d57600080fd5b600160a060020a038216600081815260026020526040808220849055518392917fef9c668177207fb68ca5e3894a1efacebb659762b27a737fde58ceebc4f30ad391a35050565b6004602052600090815260409020805460019091015460ff8116906101009004600160a060020a031683565b33600090815260026020526040812054116108ca57600080fd5b600160a060020a038116600090815260026020526040812054116108ed57600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19166001179055517fdf4868d2f39f6ab9f41b92c6917da5aec882c461ce7316bb62076865108502bd9190a250565b600054600160a060020a0316331461095357600080fd5b600555565b60035481565b600054600160a060020a0316331461097557600080fd5b600160a060020a0381166000908152600260205260408120541161099857600080fd5b600160a060020a038116600081815260026020526040808220600301805460ff19169055517fbbe17a7427b5192903e1b3f0f2b6ef8b2a1af9b33e1079faf8f8383f2fb63b539190a250565b600054600160a060020a031633146109fb57600080fd5b610a0481610af9565b50565b600160a060020a038216600090815260026020526040812060010154610a2b610b76565b1115610a7257600160a060020a038316600090815260026020819052604082200155610a55610b76565b600160a060020a0384166000908152600260205260409020600101555b600160a060020a0383166000908152600260208190526040909120015482810110801590610ac05750600160a060020a03831660009081526002602081905260409091208054910154830111155b15610aef5750600160a060020a0382166000908152600260208190526040909120018054820190556001610af3565b5060005b92915050565b600160a060020a0381161515610b0e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b620151804204905600a165627a7a72305820a8903079fd40fd6564cf29b6053957b1bedd3fb7fbc83cfecd0eb55c0468542f0029` // DeploySimpleGatekeeperWithLimitLive deploys a new Ethereum contract, binding an instance of SimpleGatekeeperWithLimitLive to it. func DeploySimpleGatekeeperWithLimitLive(auth *bind.TransactOpts, backend bind.ContractBackend, _token common.Address, _freezingTime *big.Int) (common.Address, *types.Transaction, *SimpleGatekeeperWithLimitLive, error) { diff --git a/blockchain/source/api/TestnetFaucet.go b/blockchain/source/api/TestnetFaucet.go index ba7e8fae5..eda505da4 100644 --- a/blockchain/source/api/TestnetFaucet.go +++ b/blockchain/source/api/TestnetFaucet.go @@ -19,7 +19,7 @@ import ( const TestnetFaucetABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"}],\"name\":\"OwnershipRenounced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[],\"name\":\"getTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"target\",\"type\":\"address\"},{\"name\":\"mintedAmount\",\"type\":\"uint256\"}],\"name\":\"mintToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getTokenAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // TestnetFaucetBin is the compiled bytecode used for deploying new contracts. -const TestnetFaucetBin = `0x608060405234801561001057600080fd5b5060008054600160a060020a031916331790553061002c6100f2565b600160a060020a03909116815260405190819003602001906000f080158015610059573d6000803e3d6000fd5b5060018054600160a060020a03928316600160a060020a031991821617918290556000805490911633178155604080517ff21cdf6f0000000000000000000000000000000000000000000000000000000081529051929093169263f21cdf6f926004808301939282900301818387803b1580156100d557600080fd5b505af11580156100e9573d6000803e3d6000fd5b50505050610102565b6040516109fb806104ed83390190565b6103dc806101116000396000f3006080604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166310fe9ae88114610082578063715018a6146100b357806379c65068146100ca5780638da5cb5b14610102578063aa6ca80814610117578063f2fde38b1461012c575b61007f61014d565b50005b34801561008e57600080fd5b506100976101df565b60408051600160a060020a039092168252519081900360200190f35b3480156100bf57600080fd5b506100c86101ee565b005b3480156100d657600080fd5b506100ee600160a060020a036004351660243561025a565b604080519115158252519081900360200190f35b34801561010e57600080fd5b50610097610301565b34801561012357600080fd5b506100ee61014d565b34801561013857600080fd5b506100c8600160a060020a0360043516610310565b600154604080517f40c10f1900000000000000000000000000000000000000000000000000000000815233600482015268056bc75e2d6310000060248201529051600092600160a060020a0316916340c10f19916044808301928692919082900301818387803b1580156101c057600080fd5b505af11580156101d4573d6000803e3d6000fd5b505050506001905090565b600154600160a060020a031690565b600054600160a060020a0316331461020557600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60008054600160a060020a0316331461027257600080fd5b600154604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052915191909216916340c10f1991604480830192600092919082900301818387803b1580156102e057600080fd5b505af11580156102f4573d6000803e3d6000fd5b5060019695505050505050565b600054600160a060020a031681565b600054600160a060020a0316331461032757600080fd5b61033081610333565b50565b600160a060020a038116151561034857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058208763d64195708dc9b898beec6f35436ac99dd8cba2ff33d82b9086ed51fa031d002960c0604052600a60808190527f534f4e4d20546f6b656e0000000000000000000000000000000000000000000060a090815261003e91600391906100f2565b506040805180820190915260038082527f534e4d00000000000000000000000000000000000000000000000000000000006020909201918252610083916004916100f2565b5060126005556006805460a060020a60ff021916740100000000000000000000000000000000000000001790553480156100bc57600080fd5b506040516020806109fb833981016040525160068054600160a060020a031916600160a060020a0390921691909117905561018d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff1916838001178555610160565b82800160010185558215610160579182015b82811115610160578251825591602001919060010190610145565b5061016c929150610170565b5090565b61018a91905b8082111561016c5760008155600101610176565b90565b61085f8061019c6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063095ea7b31461015357806318160ddd1461017957806323b872dd146101a0578063313ce567146101ca57806340c10f19146101df5780635d4522011461020357806370a082311461023457806395d89b4114610255578063a9059cbb1461026a578063ca67065f1461028e578063dd62ed3e146102b7578063f21cdf6f146102de575b600080fd5b3480156100d557600080fd5b506100de6102f3565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b50610177600160a060020a0360043516602435610381565b005b34801561018557600080fd5b5061018e6103b7565b60408051918252519081900360200190f35b3480156101ac57600080fd5b50610177600160a060020a03600435811690602435166044356103bd565b3480156101d657600080fd5b5061018e6103f5565b3480156101eb57600080fd5b50610177600160a060020a03600435166024356103fb565b34801561020f57600080fd5b50610218610499565b60408051600160a060020a039092168252519081900360200190f35b34801561024057600080fd5b5061018e600160a060020a03600435166104a8565b34801561026157600080fd5b506100de6104c3565b34801561027657600080fd5b50610177600160a060020a036004351660243561051e565b34801561029a57600080fd5b506102a3610550565b604080519115158252519081900360200190f35b3480156102c357600080fd5b5061018e600160a060020a0360043581169060243516610571565b3480156102ea57600080fd5b5061017761059c565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b505050505081565b60065474010000000000000000000000000000000000000000900460ff16156103a957600080fd5b6103b382826105d3565b5050565b60005481565b60065474010000000000000000000000000000000000000000900460ff16156103e557600080fd5b6103f0838383610635565b505050565b60055481565b600654600160a060020a0316331461041257600080fd5b80151561041e57600080fd5b6000546b016f44a83aab6c233c000000908201111561043c57600080fd5b600160a060020a0382166000818152600160209081526040808320805486019055825485018355805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b600654600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b60065474010000000000000000000000000000000000000000900460ff161561054657600080fd5b6103b3828261073c565b60065474010000000000000000000000000000000000000000900460ff1681565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031633146105b357600080fd5b6006805474ff000000000000000000000000000000000000000019169055565b336000818152600260209081526040808320600160a060020a03871680855290835292819020859055805185815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35050565b600160a060020a03808416600090815260026020908152604080832033845282528083205493861683526001909152902054610677908363ffffffff6107f816565b600160a060020a0380851660009081526001602052604080822093909355908616815220546106ac908363ffffffff61081016565b600160a060020a0385166000908152600160205260409020556106d5818363ffffffff61081016565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505050565b6040604436101561074c57600080fd5b3360009081526001602052604090205461076c908363ffffffff61081016565b3360009081526001602052604080822092909255600160a060020a0385168152205461079e908363ffffffff6107f816565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600082820161080984821015610824565b9392505050565b600061081e83831115610824565b50900390565b80151561083057600080fd5b505600a165627a7a723058207a21099c341d6151a60831ab9cb0adfd5df86550b831e1e81f1b9e1e6f65560f0029` +const TestnetFaucetBin = `0x608060405234801561001057600080fd5b5060008054600160a060020a031916331790553061002c6100f2565b600160a060020a03909116815260405190819003602001906000f080158015610059573d6000803e3d6000fd5b5060018054600160a060020a03928316600160a060020a031991821617918290556000805490911633178155604080517ff21cdf6f0000000000000000000000000000000000000000000000000000000081529051929093169263f21cdf6f926004808301939282900301818387803b1580156100d557600080fd5b505af11580156100e9573d6000803e3d6000fd5b50505050610102565b6040516109fb806104ed83390190565b6103dc806101116000396000f3006080604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166310fe9ae88114610082578063715018a6146100b357806379c65068146100ca5780638da5cb5b14610102578063aa6ca80814610117578063f2fde38b1461012c575b61007f61014d565b50005b34801561008e57600080fd5b506100976101df565b60408051600160a060020a039092168252519081900360200190f35b3480156100bf57600080fd5b506100c86101ee565b005b3480156100d657600080fd5b506100ee600160a060020a036004351660243561025a565b604080519115158252519081900360200190f35b34801561010e57600080fd5b50610097610301565b34801561012357600080fd5b506100ee61014d565b34801561013857600080fd5b506100c8600160a060020a0360043516610310565b600154604080517f40c10f1900000000000000000000000000000000000000000000000000000000815233600482015268056bc75e2d6310000060248201529051600092600160a060020a0316916340c10f19916044808301928692919082900301818387803b1580156101c057600080fd5b505af11580156101d4573d6000803e3d6000fd5b505050506001905090565b600154600160a060020a031690565b600054600160a060020a0316331461020557600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60008054600160a060020a0316331461027257600080fd5b600154604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052915191909216916340c10f1991604480830192600092919082900301818387803b1580156102e057600080fd5b505af11580156102f4573d6000803e3d6000fd5b5060019695505050505050565b600054600160a060020a031681565b600054600160a060020a0316331461032757600080fd5b61033081610333565b50565b600160a060020a038116151561034857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058200dcf73a3154af24ae70e070439866083c0cae784d29e37abb13d0faed337b0ba002960c0604052600a60808190527f534f4e4d20546f6b656e0000000000000000000000000000000000000000000060a090815261003e91600391906100f2565b506040805180820190915260038082527f534e4d00000000000000000000000000000000000000000000000000000000006020909201918252610083916004916100f2565b5060126005556006805460a060020a60ff021916740100000000000000000000000000000000000000001790553480156100bc57600080fd5b506040516020806109fb833981016040525160068054600160a060020a031916600160a060020a0390921691909117905561018d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff1916838001178555610160565b82800160010185558215610160579182015b82811115610160578251825591602001919060010190610145565b5061016c929150610170565b5090565b61018a91905b8082111561016c5760008155600101610176565b90565b61085f8061019c6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063095ea7b31461015357806318160ddd1461017957806323b872dd146101a0578063313ce567146101ca57806340c10f19146101df5780635d4522011461020357806370a082311461023457806395d89b4114610255578063a9059cbb1461026a578063ca67065f1461028e578063dd62ed3e146102b7578063f21cdf6f146102de575b600080fd5b3480156100d557600080fd5b506100de6102f3565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b50610177600160a060020a0360043516602435610381565b005b34801561018557600080fd5b5061018e6103b7565b60408051918252519081900360200190f35b3480156101ac57600080fd5b50610177600160a060020a03600435811690602435166044356103bd565b3480156101d657600080fd5b5061018e6103f5565b3480156101eb57600080fd5b50610177600160a060020a03600435166024356103fb565b34801561020f57600080fd5b50610218610499565b60408051600160a060020a039092168252519081900360200190f35b34801561024057600080fd5b5061018e600160a060020a03600435166104a8565b34801561026157600080fd5b506100de6104c3565b34801561027657600080fd5b50610177600160a060020a036004351660243561051e565b34801561029a57600080fd5b506102a3610550565b604080519115158252519081900360200190f35b3480156102c357600080fd5b5061018e600160a060020a0360043581169060243516610571565b3480156102ea57600080fd5b5061017761059c565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b505050505081565b60065474010000000000000000000000000000000000000000900460ff16156103a957600080fd5b6103b382826105d3565b5050565b60005481565b60065474010000000000000000000000000000000000000000900460ff16156103e557600080fd5b6103f0838383610635565b505050565b60055481565b600654600160a060020a0316331461041257600080fd5b80151561041e57600080fd5b6000546b016f44a83aab6c233c000000908201111561043c57600080fd5b600160a060020a0382166000818152600160209081526040808320805486019055825485018355805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b600654600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103795780601f1061034e57610100808354040283529160200191610379565b60065474010000000000000000000000000000000000000000900460ff161561054657600080fd5b6103b3828261073c565b60065474010000000000000000000000000000000000000000900460ff1681565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031633146105b357600080fd5b6006805474ff000000000000000000000000000000000000000019169055565b336000818152600260209081526040808320600160a060020a03871680855290835292819020859055805185815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35050565b600160a060020a03808416600090815260026020908152604080832033845282528083205493861683526001909152902054610677908363ffffffff6107f816565b600160a060020a0380851660009081526001602052604080822093909355908616815220546106ac908363ffffffff61081016565b600160a060020a0385166000908152600160205260409020556106d5818363ffffffff61081016565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505050565b6040604436101561074c57600080fd5b3360009081526001602052604090205461076c908363ffffffff61081016565b3360009081526001602052604080822092909255600160a060020a0385168152205461079e908363ffffffff6107f816565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600082820161080984821015610824565b9392505050565b600061081e83831115610824565b50900390565b80151561083057600080fd5b505600a165627a7a723058202abbf7972e4461b225bf91904f291ca8c7ac90f0ed5eb1a9e2df4d8d6b944d2a0029` // DeployTestnetFaucet deploys a new Ethereum contract, binding an instance of TestnetFaucet to it. func DeployTestnetFaucet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *TestnetFaucet, error) { diff --git a/blockchain/source/package-lock.json b/blockchain/source/package-lock.json index f4ec9cf85..fb05a7d25 100644 --- a/blockchain/source/package-lock.json +++ b/blockchain/source/package-lock.json @@ -71,6 +71,14 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "optional": true }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "requires": { + "string-width": "^2.0.0" + } + }, "ansi-escapes": { "version": "3.1.0", "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", @@ -1029,6 +1037,53 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1153,6 +1208,11 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -1235,6 +1295,11 @@ "readdirp": "^2.0.0" } }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1275,6 +1340,11 @@ } } }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -1410,6 +1480,19 @@ "typedarray": "^0.0.6" } }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -1463,6 +1546,14 @@ } } }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, "create-hash": { "version": "1.2.0", "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -1508,6 +1599,11 @@ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -1552,6 +1648,11 @@ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -1663,6 +1764,14 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, "dotenv": { "version": "5.0.1", "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", @@ -1678,6 +1787,11 @@ "create-hmac": "^1.1.4" } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -5137,17 +5251,8 @@ "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", "requires": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", "ethereumjs-util": "^5.1.1" - }, - "dependencies": { - "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "requires": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^5.0.0" - } - } } }, "ethereum-common": { @@ -5155,6 +5260,14 @@ "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" }, + "ethereumjs-abi": { + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", + "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "requires": { + "bn.js": "^4.10.0", + "ethereumjs-util": "^5.0.0" + } + }, "ethereumjs-block": { "version": "1.7.1", "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", @@ -8218,17 +8331,16 @@ "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", "requires": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", "ethereumjs-util": "^5.1.1" - }, - "dependencies": { - "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "requires": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^5.0.0" - } - } + } + }, + "ethereumjs-abi": { + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", + "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "requires": { + "bn.js": "^4.10.0", + "ethereumjs-util": "^5.0.0" } }, "ws": { @@ -8266,7 +8378,8 @@ "integrity": "sha512-Cx64NgDStynKaUGDIIOfaCd0fZusL8h5avKTkdTjUu2aHhFJhZoVBGVLhoDtUaqZGWIZGcBJOoVf2JkGUOjDRQ==", "requires": { "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35" + "web3-core-helpers": "1.0.0-beta.35", + "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2" }, "dependencies": { "debug": { @@ -8276,6 +8389,16 @@ "requires": { "ms": "2.0.0" } + }, + "websocket": { + "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", + "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", + "requires": { + "debug": "^2.2.0", + "nan": "^2.3.3", + "typedarray-to-buffer": "^3.1.2", + "yaeti": "^0.0.6" + } } } }, @@ -8838,11 +8961,37 @@ "process": "~0.5.1" } }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "requires": { + "ini": "^1.3.4" + } + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, + "got": { + "version": "6.7.1", + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -9058,6 +9207,11 @@ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -9077,6 +9231,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", @@ -9196,6 +9355,14 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.0" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -9280,6 +9447,20 @@ "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -9288,6 +9469,19 @@ "kind-of": "^3.0.2" } }, + "is-obj": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -9318,6 +9512,11 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" + }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -9331,6 +9530,11 @@ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -9563,6 +9767,14 @@ "graceful-fs": "^4.1.9" } }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "requires": { + "package-json": "^4.0.0" + } + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -9750,6 +9962,11 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, "lru-cache": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.4.tgz", @@ -9764,6 +9981,21 @@ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -10393,6 +10625,17 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", @@ -10426,6 +10669,54 @@ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, + "patch-package": { + "version": "5.1.1", + "resolved": "http://registry.npmjs.org/patch-package/-/patch-package-5.1.1.tgz", + "integrity": "sha512-bO+vfFGgTVTtv89kXWGEMIPnrYhhhMtbOnJKStfIhNWUxperVjlI++1ixksi0YPCMPGuFy9W3zsKHxIITV2r2A==", + "requires": { + "chalk": "^1.1.3", + "cross-spawn": "^5.1.0", + "fs-extra": "^4.0.1", + "minimist": "^1.2.0", + "rimraf": "^2.6.1", + "slash": "^1.0.0", + "tmp": "^0.0.31", + "update-notifier": "^2.2.0" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -10530,6 +10821,11 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -10610,6 +10906,24 @@ "safe-buffer": "^5.1.0" } }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -10973,6 +11287,23 @@ "regjsparser": "^0.1.4" } }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "requires": { + "rc": "^1.0.1" + } + }, "regjsgen": { "version": "0.2.0", "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -11247,6 +11578,14 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "requires": { + "semver": "^5.0.3" + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -12152,6 +12491,14 @@ } } }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -12162,6 +12509,11 @@ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -12715,6 +13067,19 @@ } } }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, "unorm": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", @@ -12761,6 +13126,56 @@ } } }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -12774,6 +13189,14 @@ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -12941,6 +13364,14 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + } + }, "window-size": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", @@ -12993,6 +13424,21 @@ "mkdirp": "^0.5.1" } }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + }, "xhr": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", diff --git a/blockchain/source/package.json b/blockchain/source/package.json index 14de0fd84..fc6b1e07a 100644 --- a/blockchain/source/package.json +++ b/blockchain/source/package.json @@ -4,7 +4,9 @@ "description": "", "main": "", "directories": {}, - "scripts": {}, + "scripts": { + "postinstall": "patch-package" + }, "author": "SONM team", "license": "MIT", "dependencies": { @@ -31,6 +33,7 @@ "left-pad": "^1.3.0", "merkle-tree-solidity": "^1.0.8", "mocha-junit-reporter": "^1.17.0", + "patch-package": "^5.1.1", "solidity-coverage": "^0.5.1", "solidity-sha3": "^0.4.1", "solium": "^1.1.7", diff --git a/blockchain/source/patches/truffle+4.1.14.patch b/blockchain/source/patches/truffle+4.1.14.patch new file mode 100644 index 000000000..b17ad2ee9 --- /dev/null +++ b/blockchain/source/patches/truffle+4.1.14.patch @@ -0,0 +1,15 @@ +patch-package +--- a/node_modules/truffle/build/cli.bundled.js ++++ b/node_modules/truffle/build/cli.bundled.js +@@ -101768,9 +101768,10 @@ FS.prototype.resolve = function(import_path, imported_from, callback) { + }; + + // Here we're resolving from local files to local files, all absolute. ++// Fixup by antmat: use relative paths - do not resolve to full paths to maintain smart-contrac bytecode unchanged. + FS.prototype.resolve_dependency_path = function(import_path, dependency_path) { + var dirname = path.dirname(import_path); +- return path.resolve(path.join(dirname, dependency_path)); ++ return path.join(dirname, dependency_path); + }; + + diff --git a/blockchain/source/patches/truffle-resolver+4.0.4.patch b/blockchain/source/patches/truffle-resolver+4.0.4.patch new file mode 100644 index 000000000..5a2be7311 --- /dev/null +++ b/blockchain/source/patches/truffle-resolver+4.0.4.patch @@ -0,0 +1,15 @@ +patch-package +--- a/node_modules/truffle-resolver/fs.js ++++ b/node_modules/truffle-resolver/fs.js +@@ -87,9 +87,10 @@ FS.prototype.resolve = function(import_path, imported_from, callback) { + }; + + // Here we're resolving from local files to local files, all absolute. ++// Fixup by antmat: use relative paths - do not resolve to full paths to maintain smart-contrac bytecode unchanged. + FS.prototype.resolve_dependency_path = function(import_path, dependency_path) { + var dirname = path.dirname(import_path); +- return path.resolve(path.join(dirname, dependency_path)); ++ return path.join(dirname, dependency_path); + }; + + diff --git a/blockchain/source/truffle.js b/blockchain/source/truffle.js index 1d51bfcb0..3389f3be9 100644 --- a/blockchain/source/truffle.js +++ b/blockchain/source/truffle.js @@ -63,4 +63,6 @@ module.exports = { }, }, mocha: mochaConfig, + // eslint-disable-next-line camelcase + contracts_directory: './contracts', };