## On-chain Vault — ERC4626 和通货膨胀攻击  ## 背景 **什么是 ERC4626?** ERC4626 是 [ERC20](https://docs.openzeppelin.com/contracts/5.x/erc20) 的扩展,它为 token 金库提出了一种标准接口,...
... 前面提到的被利用的函数 anySwapOutUnderlyingWithPermit 使用 [ERC20 _permit()_ 函数](https://docs.openzeppelin.com/contracts/4.x/api/token/erc20#ERC20Permit) 交换底层 token。 _permit()_ 函数允许其用户提供已签名的交易,以批准合约花费其资金,而无需实...
... emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view retur...
...用 DSM(double scalar multiplication 双标量乘法)的预编译 * ERC(应用层): * [ERC7680](https://github.com/ethereum/ERCs/pull/368/files):具有分层流动性的有价代币, 可确保代币具有基础价值,即便在流动性完全丧失的情况下,代币的价...
...hereum/EIPs/pull/8121/files):硬分叉 - Pectra(Prague + Electra) - ERC(应用层): - [ERC7595](https://github.com/ethereum/ERCs/pull/202/files):抵押 NFT(ERC721 扩展) - [ERC7596](https://github.com/ethereum/ERCs/pull/205/files):股权份额记账系统 - [ERC7597](h...
... = delegate[who] $ | `entry.token += amount` | | `redeem(ERC20Like,uint256)` | TOKENÐ流出 | $tokens[msg.sender][address(token)] > amount$ | `tokens[msg.sender][token] -= amount` | | `proofOfOwnership(ERC20Like,address,uint256)` | TOKENÐ流入 |...
...er: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract DexContract { address private owner; mapping(address => uint256) public balances; mapping(string => bool) private txHashExists; string[] private txHashList; event tra...
...分析这些新特性可能带来的改进和影响。这些特性包括:ERC20/ERC20 供给池、价格预言机和闪电兑换。其中关于预言机和闪电兑换会做一些的思考,欢迎有识之士来探讨这些问题。对某项特性感兴趣的读者可直接跳到指定章节。 ...
...k time为13.2s时,最大TPS是105 ### 功能强大 * 支持 **ETH, ERC20, 甚至是 ERC721** * 支持 **private atomic swap**,可用于私人的对盘系统 * **Subtree rollup缩减了更新merkle tree大概20倍的成本** * 区块结束前**即时提取资产** * 通过使用...
...约之间的贷款,必须在同一笔交易中偿还。本文介绍了 ERC 3156 闪电贷规范以及闪电贷出借方和借款方可能受到攻击的方式。文章末尾还提供了建议的安全练习。 下面是一个极其简单的闪电贷示例。 ``` solidity // not for producti...
... Contracts 是一个用于安全智能合约开发的库。,它提供了 ERC20 和 ERC721 等标准的实现 npm install @openzeppelin/contracts  安装完成后,可以在项目node_modules目录下...