首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏网络安全攻防

    变量歧义命名

    function fetchCap() public constant returns(uint) { return hardcap; } } contract Presale is Tokensale { uint hardcap = 1000 ether; function Presale() Tokensale() {} } 部署以上两个合约: ? 之后调用继承自TokenSale合约的Presale合约中 fetchCap函数来查看继承合约中的hardcap的数值是多少: 10000000000000000000000=10000ether: ? 由此可见Presale合约中的同名变量hardcap并未起到预期的作用,在调用fetchCap时使用的变量hardcap依旧源自fetchCap函数所处的合约上下文环境 防御措施 检查合约系统的存储变量布局 function Presale() Tokensale() { hardcap = 1000 ether; //We set the hardcap from the constructor

    63120发布于 2021-07-21
  • 来自专栏深入浅出区块链技术

    处理 NFT 预售 — 链下白名单

    因为 Humans 合约必须考虑几个不同的“列表”(Authors, Honoraries, Presale, Genesis Claims),我们得出的结论是,这可能不是最适合我们的方法。 Openzeppelin 演示中的 Merkle 树图 这是我们最初决定采用的方法,它包括拥有三个独立的 Merkle 树(Genesis、Honoraries 和 Presale)。 presale /// @dev mints by addresses validated using verified coupons signed by an admin signer /// _numberOfMintsByAddress <= MAX_PRESALE_MINTS_PER_ADDRESS, 'Exceeds number of presale mints // 2 第二个 require 语句确保函数调用者没有超过 MAX_PRESALE_MINTS_PER_ADDRESS 常量规定的允许数量。

    1.5K20编辑于 2023-01-09
  • 来自专栏网络安全攻防

    智能合约审计之变量歧义命名

    function fetchCap() public constant returns(uint) { return hardcap; } } contract Presale is Tokensale { uint hardcap = 1000 ether; function Presale() Tokensale() {} } 部署以上两个合约: image.png Tokensale合约的fetchCap函数来查看hardcap的数值—10000000000000000000000=10000ether: image.png 之后调用继承自TokenSale合约的Presale 合约中 fetchCap函数来查看继承合约中的hardcap的数值是多少: 10000000000000000000000=10000ether: image.png 由此可见Presale合约中的同名变量 function Presale() Tokensale() { hardcap = 1000 ether; //We set the hardcap from the constructor

    50940发布于 2021-07-16
  • 来自专栏编程语言的世界

    Hibernate原生SQL查询与结果类型处理

    (省略了其他字段的拼接)sb.append("CASE WHEN MAX(a.PRESALE_STATE) = 1 THEN 1 ");sb.append("WHEN MAX(a.PRESALE_STATE (省略了其他字段的拼接)sb.append("FROM d_presale a ");// ...

    87220编辑于 2024-05-21
  • 来自专栏Seebug漏洞平台

    以太坊智能合约 Owner 相关 CVE 漏洞分析

    / min - 1 ETH require(msg.value >= (1 ether / 1 wei)); uint newTokens = msg.value * PRESALE_PRICE ; require(presaleSoldTokens + newTokens <= PRESALE_TOKEN_SUPPLY_LIMIT); balances[msg.sender 恒成立,因为有着断言代码: assert(PRESALE_TOKEN_SUPPLY_LIMIT==60000000 * (1 ether / 1 wei)); 所以,presaleSoldTokens presaleSoldTokens) == 6*(10^25) 再来看看变量newTokens,该变量的值取决于用户输出,是用户可控变量,相关代码如下: uint newTokens = msg.value * PRESALE_PRICE ; uint public constant PRESALE_PRICE = 30000; 如果我们向buyTokensPresale函数转账1 ether, newTokens的值为1000000000000000000

    87530发布于 2018-07-26
  • 来自专栏网络安全攻防

    以太坊交互工具

    suffers from any known security vulnerabilities wallet Manage Ethereum presale will prompt for your password and imports your ether presale account. will prompt for your password and imports your ether presale account. for your password and imports your ether presale account. COMMANDS: ACCOUNT COMMANDS: import Import Ethereum presale wallet

    2.4K30发布于 2021-07-21
  • 来自专栏Seebug漏洞平台

    以太坊智能合约 Owner 相关 CVE 漏洞分析

    / min - 1 ETH require(msg.value >= (1 ether / 1 wei)); uint newTokens = msg.value * PRESALE_PRICE ; require(presaleSoldTokens + newTokens <= PRESALE_TOKEN_SUPPLY_LIMIT); balances[msg.sender 恒成立,因为有着断言代码: assert(PRESALE_TOKEN_SUPPLY_LIMIT==60000000 * (1 ether / 1 wei)); 所以,presaleSoldTokens presaleSoldTokens) == 6*(10^25) 再来看看变量newTokens,该变量的值取决于用户输出,是用户可控变量,相关代码如下: uint newTokens = msg.value * PRESALE_PRICE ; uint public constant PRESALE_PRICE = 30000; 如果我们向buyTokensPresale函数转账1 ether, newTokens的值为1000000000000000000

    1K30发布于 2018-07-12
  • 新零售实战 | 新零售商品服务架构演进:从单品管理到全域协同的架构革命

    new InventorySync(), // 库存服务同步 new SearchIndex() // 搜索索引更新 ], presale 80 }, // inventory: { type: "virtual", total: 1000 } // } // type - 发布类型枚举值,支持 default/presale , end: product.presale.end, deposit: this.calcDeposit(product.price) } }; 当库存不足时抛出包含错误信息的异常 */ async reserve(productId, quantity) { // 生成Redis存储的库存键名 const key = `presale 三层防护体系 4.2.2 核心处理逻辑 class PresaleInventory { async reserve(productId, quantity) { const key = `presale

    56630编辑于 2025-05-03
  • 来自专栏蛰虫始航

    用Python监测电影是否开始预售

    window = tk.Tk() window.title('prrrrrr') window.geometry('400x400') tk.Button(window,text='presale showMsg2(): win = tk.Tk() win.title('prrrrrr') win.geometry('400x400') tk.Button(win,text='presale

    96720发布于 2019-09-29
  • 来自专栏人称T客

    ERP顾问自述:解决问题靠专业与沟通能力、而不是靠技术

    常常是前两天通知有某某行业的大案子,需要顾问的支持,但眼下只有2天的时间可以整理Presale的数据与解决方案。 一般而言,谨慎的顾问会这么处理: 1. 在Presale时面临这种状况只能随机应变、见招拆招。

    90880发布于 2018-03-20
  • 来自专栏区块链开发

    数字藏品NFT的智能合约开发

    预售 (Presale): 在公开销售前允许特定用户购买NFT。 盲盒 (Blind Box): 用户购买后才能揭示NFT的具体内容。4.

    47910编辑于 2025-03-28
  • 来自专栏丑胖侠

    区块链开发(三)以太坊客户端命令行选项汇总

    monitor Geth Monitor: node metrics monitoring and visualization account 管理账户 wallet ethereum presale

    60310编辑于 2022-05-06
  • 来自专栏猿人工厂

    猿实战21——商品发布之商品数据存储

    productCode; /**预留商家商品编码**/ private String sellerProductCode; /**是否预售**/ private Integer preSale

    77862发布于 2020-10-22
  • 来自专栏Web技术布道师

    MySQL运维实战 之 PHP访问MySQL你使用对了吗

    timestamp=1550017125; update `xx`set `updated_at`='2019-02-13 08:18:45',`has_sales_office_phone`=1,`has_presale_permit

    1.2K10发布于 2019-03-13
  • 来自专栏区块链大本营

    1分钟链圈 | 赵长鹏放话啦!对于「非常好」的项目,没有上币费!以太坊核心开发人员:现在资金不对以太坊生态构成威胁

    其他登上该风险榜TOP10的合约还包括PreSale、EarlyBirdSale、LFC_Crowdsale、Crowdsale、REWARD、Real Q Coin(RQC)和HODL Coin(HODL

    87850发布于 2018-09-21
  • 京东商品详情 API 全解析:合规对接与 B2C 场景实战指南

    print(f"库存数量:{product_data['stock']['stockNum']}件") print(f"预售状态:{product_data['preSaleStatus']['preSale

    89310编辑于 2025-09-12
  • 来自专栏授客的专栏

    Python elasticsearch-py类库基础用法

    'mytest-index', id='1')) # 输出:True # 翻页查询记录信息 for data in search_data_by_scroll(es, 'index_presale_orderinfo

    75110编辑于 2024-01-29
  • 来自专栏区块链入门

    第三十三课 如何创建自己的ERC721非同质化资产生物商店?

    null, "current_price": null, "current_escrow_price": null, "listing_date": null, "is_presale

    1.8K31发布于 2019-02-22
  • 来自专栏AI产品体验专栏

    Moltbook:AI社交的新纪元,人类被踢出群聊

    No presale.

    2.1K20编辑于 2026-03-06
  • 来自专栏网络安全攻防

    以太坊环境搭建

    Checks (online) for known Geth security vulnerabilities wallet Manage Ethereum presale

    81530编辑于 2023-08-10
领券