// code为本合约名
void check_trx(const name &code)
{
auto tx_size = transaction_size();
char tx[tx_size];
auto read_size = read_transaction(tx, tx_size);
eosio_assert( tx_size == read_size, "read_transaction failed");
auto trx = eosio::unpack<eosio::transaction>( tx, read_size );
eosio::action first_action = trx.actions.front();
eosio_assert(trx.actions.size() == 1 && first_action.name == name("transfer") && first_action.account == code, "wrong transaction");
}
EOS 检查交易是否合约发起避免合约攻击
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 开源,并能够验证开源代码与链上部署代码一致 比如 EOS.win 的代码就能够在 EOSpark 上查到,并已被 ...
- 本文由微信公众号DappVision原创首发,转载请联系授权 【慢雾安全团队预警:EOS智能合约遭受溢出攻击】 据...
- 就寝22:10 晨起5:04 时间管理的核心是做减法。【第一个90天目标】28/901、早睡早起✅2、每天日...