EO bugs
定价两次-同一事件在确认前再次发生
pragma solidity ^0.4.;
contract TransactionOrdering {
uint256 price;
address owner;
event Purchase(address _buyer, uint256 _price);
event PriceChange(address _owner, uint256 _price);
modifier ownerOnly() {
require(msg.sender == owner);
_;
}
function TransactionOrdering() {
// constructor
owner = msg.sender;
price = ;
}
function buy() returns (uint256) {
Purchase(msg.sender, price);
return price;
}
function setPrice(uint256 _price) ownerOnly() {
price = _price;
PriceChange(owner, price);
}
}
改价失败-同一事件再次发生前就完成了流程
contract IOU{
// Approves the transfer of tokens
function approve(address _spender, uint256 _val) {
allowed[msg.sender][_spender] = _val;
return true;
}
// Transfers tokens
function transferFrom(address _from, address _to, uint256 _val) {
require(
allowed[_from][msg.sender] >= _val
&& balances[_from] >= _val
&& _val > 0);
balances[_from] -= _val;
balances[_to] += _val;
allowed [_from][msg.sender] -= _val;
return true;
}
}
多人支付,总量不足-异步调用的问题,没能区别总成交量=目前已经完成的成交量+已经允许,但还没有callback的成交量,忽视了后面这一部分(Improper Check on Ether)
contract Casino{
function bet() payable {
// make sure we can pay out the player
if (address(this).balance < msg.value * ) throw;
bytes32 oid = oraclize_query(...); // random
bets[oid] = msg.value;
players[oid] = msg.sender;
}
function __callback(bytes32 myid, string result)
onlyOraclize onlyIfNotProcessed(myid) {
if (parseInt(result) % == )
players[myid].send( bets[myid] * );
}
}
没有在异步调用时区别身份-异步调用的返回可能是打乱顺序的
contract CasinoAltered{
function bet() payable {
// make sure we can pay out the player
if (address(this).balance < msg.value * ) throw;
bytes32 oid = oraclize_query(...); // random
bets[oid] = msg.value;
players[oid] = msg.sender;
}
function __callback(bytes32 myid, string result)
onlyOraclize onlyIfNotProcessed(myid) {
if (parseInt(result) % == )
players[myid].send( bets[bets.size() -] * );
}
}
EO bugs的更多相关文章
- Common Bugs in C Programming
There are some Common Bugs in C Programming. Most of the contents are directly from or modified from ...
- POJ2096 Collecting Bugs
Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 5090 Accepted: 2529 Case Time Limit: ...
- 【poj2096】Collecting Bugs
题目描述 Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other materia ...
- 与你相遇好幸运,Mongodb客户端&BUGS
> Robomongo https://robomongo.org > 日常使用频率最高的客户端 存在BUG: 在 db.getCollection('xzq').find({" ...
- OAF 中的EO 和VO
EO :oracle.apps.fnd.framework.server.OAEntityImpl VO:oracle.apps.fnd.framework.server.OAViewRowImpl ...
- PL/SQL EO 设计与开发
1.INSERT 调用PL/SQL 去insert的时候,没有使用super(),此时应当自己创建callable statement: 调用checkErrors()方法在执行 callable s ...
- 【月末轻松篇】--- 那些奇葩的Bugs
不能说所有的bug都是纸老虎,但往往那种看似很奇葩的bug,导致的原因确实很简单,烦了你一段时间,找到真相又让你忍不住一笑.什么是奇葩的bug呢.我的定义是:代码逻辑都一样,但在A处是好的,到了B处就 ...
- 【POJ2096】Collecting Bugs 期望
[POJ2096]Collecting Bugs Description Ivan is fond of collecting. Unlike other people who collect pos ...
- CSS Bugs 解决方案
说明:本文档兼容性测试基础环境为:windows系统:IE6-IE10, Firefox6.0, Chrome13.0, Safari5.1, Opera11.51 Bugs及解决方案列表(以下实例默 ...
随机推荐
- fang
如果一件事情,大家都希望它发生,并对大家都有利益. 那么它必定会发生.
- Python day 04
Day 04 今日内容 补充 1.解释器/编译器 补充:编译型语言和解释型语言? # 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行. # 解释型:写完代码交给解释器,解释器会从 ...
- 软考自查:数据流图(DFD)
数据流图(DFD) 内容提要 数据流图基本概念 数据字典 数据平衡原则 数据流图基本概念 数据字典 数据流图平衡原则 父图与子图之间的平衡 子图内平衡 ...
- 论文笔记:Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking
Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking 2019-03-20 16:45:23 Paper:ht ...
- HTTP之gRPC
gRPC 官方文档 gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计. gRPC 基于 HTTP/2 标准设计,带来诸如双向流.流控.头部压缩.单 TCP 连接上的多 ...
- python生成可执行exe文件
为什么要生成可执行文件 不需要安装对应的编程环境 可以将你的应用闭源 用户可以方便.快捷的直接使用 打包工具 pyinstaller 安装pyinstaller pip install pyinsta ...
- async/await处理异步
async函数返回一个Promise对象,可以使用then方法添加回调函数.当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句. 看代码: 指定多少毫秒后输 ...
- heartbeat 非联网安装(通过配置本地yum文件库安装heartbeat)
软件环境:centos6.5 一.下载rpm包 首先找一台联网的centos6.5机器 安装epel扩展源: yum install -y epel-release 安装yum-plugin-down ...
- vs code 格式化vue代码
1.安装 vetur 2.文件-首选项-设置 增加 "vetur.format.defaultFormatter.html": "js-beautify-html&quo ...
- OpenGL.Tutorial15_Lightmaps
ZC:撤销 & 重做 — Blender Manual.html(https://docs.blender.org/manual/zh-hans/dev/interface/undo_redo ...