抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言 📌 在做 damn defi的 backdoor挑战时,关于如何才能让 proxy合约给 hacker执行 approve授权操作,引发的深思。 我们知道,delegatecall是很特殊的调用方式,委托调用,代码是在逻辑合约 Proxy中执行。 如果我们通过这种方式执行 Caller --call--> Proxy --delegatecall--> Logic1 ...

delegatecall关键字在代理合约中的妙用 就感觉很很神奇~ 逻辑合约12345678910111213141516171819202122232425contract Logic { address owner; uint public a = 8; constructor() { owner = msg.sender; ...

代理合约1. 代理模式 solidity合约部署到链上之后,代码是不可变的。 这一特性存在了一个严重的缺点:就算合约中存在bug,也不能修改或者升级,只能部署新合约。但是新合约的地址和旧合约的地址不一样,而且合约的数据也需要花费大量的gas进行迁移。 为了解决这一问题,从而引入了 代理模式这一概念。 代理模式将合约数据和逻辑分开,分别保存在不同的合约中。以上图为例,数据(状态变量)存储在...


政策 · 统计 | 本站使用 Volantis 主题设计