智能合约是一个运行在以太坊链上的一个程序, 它是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态)。
智能合约也是一个以太坊帐户,我们称之为合约帐户。 这意味着它们有余额,可以成为交易的对象。 超级MMM(3M)互助系统I34-开发I633-源码53I9,但是,他们无法被人操控,他们是被部署在网络上作为程序运行着。 个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。 智能合约能像常规合约一样定义规则,并通过代码自动强制执行。 默认情况下,您无法删除智能合约,与它们的交互是不可逆的
def owner(): # not payable
return owner
def unknownc7e21014(addr _param1): # not payable
return bool(stor8[addr(_param1)])
def isOwner(): # not payable
return (caller == owner)
def unknown0a5aa421(): # not payable
return stor4, stor5, stor6, stor7
def unknowne419d406(): # not payable
return stor1, stor2, addr(stor3.field_0)
def renounceOwnership(): # not payable
require caller == owner
log OwnershipRenounced(address previousOwner=owner)
owner = 0
def unknownd10fc104(): # not payable
return uint8(stor3.field_0), uint8(stor3.field_0), uint8(stor3.field_0), uint8(stor3.field_0), uint8(stor3.field_192)
def unknown8ea2cdd6(addr _param1, addr _param2, addr _param3): # not payable
require caller == owner
def transferOwnership(address _newOwner): # not payable
require caller == owner
require _newOwner
log OwnershipTransferred(
address previousOwner=owner,
address newOwner=_newOwner)
owner = _newOwner
def unknownc96e51d0(addr _param1, bool _param2): # not payable
require caller == owner
if _param2 == bool(stor8[addr(_param1)]):
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'This address is already the value of 'value''
stor8[addr(_param1)] = uint8(_param2)
def unknownb1e49ad7(addr _param1, uint256 _param2): # not payable
require ext_code.size(stor1)
call stor1.transferFrom(address from, address to, uint256 tokens) with:
gas gas_remaining wei
args addr(_param1), this.address, _param2
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
def unknown8ef9348c(uint8 _param1, uint8 _param2, uint8 _param3, uint8 _param4, uint8 _param5): # not payable
stor3.field_200 % 72057594037927936 = 0
def unknown2f00d4cb(addr _param1, uint256 _param2): # not payable
if not stor8[caller]:
revert with 0, 'Error: caller is not the caller'
require ext_code.size(stor1)
call stor1.transfer(address to, uint256 tokens) with:
gas gas_remaining wei
args addr(_param1), _param2
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
def unknown46da7811(addr _param1, uint256 _param2): # not payable
if not stor8[caller]:
revert with 0, 'Error: caller is not the caller'
require ext_code.size(addr(stor3.field_0))
call addr(stor3.field_0).mint(address owner, uint256 value) with:
gas gas_remaining wei
args addr(_param1), _param2
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
require return_data.size >= 32
def unknown7d4fa89a(addr _param1, uint256 _param2): # not payable
require ext_code.size(stor1)
call stor1.transferFrom(address from, address to, uint256 tokens) with:
gas gas_remaining wei
args addr(_param1), stor2, _param2
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
require ext_code.size(stor2)
call stor2.mint(address owner, uint256 value) with:
gas gas_remaining wei
args addr(_param1), _param2
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
require return_data.size >= 32
def unknown1163023e(addr _param1, uint256 _param2): # not payable
require ext_code.size(stor1)
call stor1.balanceOf(address tokenOwner) with:
gas gas_remaining wei
args _param1
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
require return_data.size >= 32
require ext_call.return_data[0] >= _param2
require ext_code.size(stor1)
call stor1.balanceOf(address tokenOwner) with:
gas gas_remaining wei
args stor2
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
require return_data.size >= 32
require ext_call.return_data[0] >= _param2 * uint8(stor3.field_160) / 1000
require ext_code.size(stor2)
call stor2.balanceOf(address tokenOwner) with:
gas gas_remaining wei
args _param1
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
require return_data.size >= 32
require ext_call.return_data[0] >= _param2 * uint8(stor3.field_160) / 1000
require ext_code.size(addr(stor3.field_0))
call addr(stor3.field_0).balanceOf(address tokenOwner) with:
gas gas_remaining wei
领取专属 10元无门槛券
私享最新 技术干货