Contract update: only by owner modifications

This commit is contained in:
vbaranov 2016-05-23 01:00:49 +03:00
parent 0245fc06f4
commit 63cfdfdcd8
3 changed files with 25 additions and 17 deletions

View File

@ -39,8 +39,8 @@ config.json with placeholders
}
},
"smartContract": {
"bin": "0x606060405261074f806100126000396000f360606040523615610074576000357c0100000000000000000000000000000000000000000000000000000000900480631f83f440146101d95780634636a15914610205578063a02b9aac14610226578063b958a5e1146102aa578063f3730653146102d6578063fe97ee881461031857610074565b6101d75b6060604051908101604052806000815260200167016345785d8a0000340481526020016000368080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050815260200150600160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008201518160000160005055602082015181600101600050556040820151816002016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061017357805160ff19168380011785556101a4565b828001600101855582156101a4579182015b828111156101a3578251826000505591602001919060010190610185565b5b5090506101cf91906101b1565b808211156101cb57600081815060009055506001016101b1565b5090565b50509050505b565b005b6101ef6004808035906020019091905050610344565b6040518082815260200191505060405180910390f35b6102246004808035906020019091908035906020019091905050610388565b005b61023c6004808035906020019091905050610588565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f16801561029c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c06004808035906020019091905050610676565b6040518082815260200191505060405180910390f35b6102ec60048080359060200190919050506106ba565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61032e60048080359060200190919050506106f2565b6040518082815260200191505060405180910390f35b6000600160005060008373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050600101600050549050610383565b919050565b6060604051908101604052808281526020016000815260200160006000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561043a5780601f1061040f5761010080835404028352916020019161043a565b820191906000526020600020905b81548152906001019060200180831161041d57829003601f168201915b5050505050815260200150600160005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008201518160000160005055602082015181600101600050556040820151816002016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104e357805160ff1916838001178555610514565b82800160010185558215610514579182015b828111156105135782518260005055916020019190600101906104f5565b5b50905061053f9190610521565b8082111561053b5760008181506000905550600101610521565b5090565b5050905050816002600050600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b5050565b6020604051908101604052806000815260200150600160005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506002016000508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b50505050509050610671565b919050565b6000600160005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506000016000505490506106b5565b919050565b600260005060205280600052604060002060009150909054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600160005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060000160005054141515610740576001905061074a56610749565b6000905061074a565b5b91905056",
"ABI": [{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"phone","type":"uint256"}],"name":"newPhoneToAddr","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentDataByAddress","outputs":[{"name":"","type":"bytes"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phones","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"type":"function"}],
"bin": "0x60606040525b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b6106a88061003f6000396000f36060604052361561008a576000357c0100000000000000000000000000000000000000000000000000000000900480631f83f440146101ef57806341c0e1b51461021b5780634636a1591461022a578063a02b9aac1461024b578063b958a5e1146102cf578063e3ffc9a3146102fb578063f37306531461030a578063fe97ee881461034c5761008a565b6101ed5b6060604051908101604052806000815260200167016345785d8a0000340481526020016000368080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050815260200150600260005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008201518160000160005055602082015181600101600050556040820151816002016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018957805160ff19168380011785556101ba565b828001600101855582156101ba579182015b828111156101b957825182600050559160200191906001019061019b565b5b5090506101e591906101c7565b808211156101e157600081815060009055506001016101c7565b5090565b50509050505b565b005b6102056004808035906020019091905050610378565b6040518082815260200191505060405180910390f35b61022860048050506103bc565b005b610249600480803590602001909190803590602001909190505061041d565b005b6102616004808035906020019091905050610480565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156102c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e5600480803590602001909190505061056e565b6040518082815260200191505060405180910390f35b61030860048050506105b2565b005b6103206004808035906020019091905050610613565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610362600480803590602001909190505061064b565b6040518082815260200191505060405180910390f35b6000600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506001016000505490506103b7565b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561041957610002565b505b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561047a57610002565b505b5050565b6020604051908101604052806000815260200150600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506002016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b50505050509050610569565b919050565b6000600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506000016000505490506105ad565b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561060f57610002565b505b565b600360005060205280600052604060002060009150909054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600260005060008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506000016000505414151561069957600190506106a3566106a2565b600090506106a3565b5b91905056",
"ABI": [{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"phone","type":"uint256"}],"name":"newPhoneToAddr","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentDataByAddress","outputs":[{"name":"","type":"bytes"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"sendEtherToOwner","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phones","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"type":"function"},{"inputs":[],"type":"constructor"}],
"wallet": {
"test": "0x0000000000000000000000000000000000000000",
"live": "0x0000000000000000000000000000000000000000"

View File

@ -2,33 +2,38 @@ contract PhoneToAddress {
address owner;
bytes dataEmpty;
struct PhonePayment {
uint phone;
uint payment;
bytes data;
}
uint phone;
uint payment;
bytes data;
}
mapping(address => PhonePayment) addresses;
mapping(uint => address) public phones;
function PhoneToAddress() {
owner = msg.sender;
}
function () {
addresses[msg.sender] = PhonePayment({phone: 0, payment: msg.value/100000000000000000, data: msg.data});
modifier onlyBy(address _account)
{
if (msg.sender != _account)
throw;
}
function newPhoneToAddr(address addr, uint phone) {
function () {
addresses[msg.sender] = PhonePayment({phone: 0, payment: msg.value/100000000000000000, data: msg.data});
}
function newPhoneToAddr(address addr, uint phone) onlyBy(owner) {
addresses[addr] = PhonePayment({phone: phone, payment: 0, data: dataEmpty});
phones[phone] = addr;
}
function sendEtherToOwner() {
owner.send(this.balance);
function sendEtherToOwner() onlyBy(owner) {
owner.send(this.balance);
}
function getPhoneByAddress(address addr) constant returns(uint) {
return addresses[addr].phone;
return addresses[addr].phone;
}
function getPaymentByAddress(address addr) constant returns(uint) {
return addresses[addr].payment;
return addresses[addr].payment;
}
function getPaymentDataByAddress(address addr) constant returns(bytes) {
return addresses[addr].data;
return addresses[addr].data;
}
function hasPhone(address addr) constant returns(bool) {
if (addresses[addr].phone != 0) {
@ -37,4 +42,7 @@ contract PhoneToAddress {
return false;
}
}
}
function kill() onlyBy(owner) {
selfdestruct(owner);
}
}

View File

@ -14,8 +14,8 @@
}
},
"smartContract": {
"bin": "0x60606040526104e0806100126000396000f36060604052361561004b5760e060020a60003504631f83f44081146101545780634636a1591461017d578063a02b9aac146101f4578063b958a5e114610277578063f37306531461029b575b6102bc6060604051908101604052806000815260200167016345785d8a0000340481526020016000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508152602001506001600050600033600160a060020a0316815260200190815260200160002060005060008201518160000160005055602082015181600101600050556040820151816002016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102be57805160ff19168380011785555b506102ee9291505b808211156102f45760008155600101610140565b6102f8600435600160a060020a038116600090815260016020819052604090912001545b919050565b6102bc60043560243560408051606081018252828152600060208281018290528351825460026001821615610100026000190190911604601f8101839004830282018301865280825293948501939092918301828280156103c05780601f10610395576101008083540402835291602001916103c0565b61030a60043560408051602081810183526000808352600160a060020a03851681526001808352908490206002908101805486519381161561010002600019011691909104601f810184900484028301840190955284825292939092918301828280156104d45780601f106104a9576101008083540402835291602001916104d4565b6102f8600435600160a060020a038116600090815260016020526040902054610178565b610378600435600260205260009081526040902054600160a060020a031681565b005b82800160010185558215610138579182015b828111156101385782518260005055916020019190600101906102d0565b50505050565b5090565b60408051918252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f16801561036a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051600160a060020a03929092168252519081900360200190f35b820191906000526020600020905b8154815290600101906020018083116103a357829003601f168201915b505050919092525050600160a060020a038316600090815260016020818152604080842085518155858301518185015590850151805160028381018054818952978690209497909681161561010002600019011604601f9081018590048401949193929091019083901061044757805160ff19168380011785555b50610477929150610140565b8280016001018555821561043b579182015b8281111561043b578251826000505591602001919060010190610459565b505050600091825250600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b820191906000526020600020905b8154815290600101906020018083116104b757829003601f168201915b5050505050905061017856",
"ABI": [{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"phone","type":"uint256"}],"name":"newPhoneToAddr","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentDataByAddress","outputs":[{"name":"","type":"bytes"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phones","outputs":[{"name":"","type":"address"}],"type":"function"}],
"bin": "0x60606040525b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b6106a88061003f6000396000f36060604052361561008a576000357c0100000000000000000000000000000000000000000000000000000000900480631f83f440146101ef57806341c0e1b51461021b5780634636a1591461022a578063a02b9aac1461024b578063b958a5e1146102cf578063e3ffc9a3146102fb578063f37306531461030a578063fe97ee881461034c5761008a565b6101ed5b6060604051908101604052806000815260200167016345785d8a0000340481526020016000368080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050815260200150600260005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008201518160000160005055602082015181600101600050556040820151816002016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018957805160ff19168380011785556101ba565b828001600101855582156101ba579182015b828111156101b957825182600050559160200191906001019061019b565b5b5090506101e591906101c7565b808211156101e157600081815060009055506001016101c7565b5090565b50509050505b565b005b6102056004808035906020019091905050610378565b6040518082815260200191505060405180910390f35b61022860048050506103bc565b005b610249600480803590602001909190803590602001909190505061041d565b005b6102616004808035906020019091905050610480565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156102c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e5600480803590602001909190505061056e565b6040518082815260200191505060405180910390f35b61030860048050506105b2565b005b6103206004808035906020019091905050610613565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610362600480803590602001909190505061064b565b6040518082815260200191505060405180910390f35b6000600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506001016000505490506103b7565b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561041957610002565b505b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561047a57610002565b505b5050565b6020604051908101604052806000815260200150600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506002016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b50505050509050610569565b919050565b6000600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506000016000505490506105ad565b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561060f57610002565b505b565b600360005060205280600052604060002060009150909054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600260005060008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000506000016000505414151561069957600190506106a3566106a2565b600090506106a3565b5b91905056",
"ABI": [{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"phone","type":"uint256"}],"name":"newPhoneToAddr","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPaymentDataByAddress","outputs":[{"name":"","type":"bytes"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPhoneByAddress","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"sendEtherToOwner","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"phones","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasPhone","outputs":[{"name":"","type":"bool"}],"type":"function"},{"inputs":[],"type":"constructor"}],
"wallet": {
"test": "0x0000000000000000000000000000000000000000",
"live": "0x0000000000000000000000000000000000000000"