...账户并对其写入数据,以简化用户的操作。 Anchor 提供了一个方便的宏 `init_if_needed`,顾名思义,如果账户不存在,则会初始化该账户。 下面的示例计数器不需要单独的初始化交易,它会立即开始将“1”添加到 `counter` 存储...
...并且能够以精细的粒度查看和控制访问权限。本教程展示了如何添加智能合约以查看和管理其角色,包括分配和移除角色。 ### 前提条件 - OpenZeppelin Defender 账户。你可以在[这里](https://defender.openzeppelin.com/v2/?utm_campaign=Defender_2.0_...
...ager.sol` 中,还有一个用 Yul 汇编实现的 swap 函数,它带来了漏洞。 ``` function swap() external payable returns (bytes memory error){ assembly { let valueLeft := callvalue() let n:= shr(248, calldataload(4)) let cur ...
...不支持分页。如果查询结果太大,响应将被截断。 为了解决当前的限制,`getProgramAccounts`提供了一些有用的参数,包括`dataSlice`和`filters`选项的`memcmp`和`dataSize`。通过提供这些参数的组合,我们可以将查询范围缩小到可管理和...
...务来恢复这种直觉。 使用此库而不是未检查的操作消除了整整一类的错误,因此建议始终使用它。 函数 - [`tryAdd(a, b)`](https://docs.openzeppelin.com/contracts/3.x/api/math#SafeMath-tryAdd-uint256-uint256-) - [`trySub(a, b)`](https://docs.openzeppelin.com/con...
...25/03/30/c618b64eab85e97095495_1lXEoJqL9Zzh24jzYsI1jNw.png) 上图显示了在代码扫描警报中检测到的缺少签名者检查问题。 * * * ### 关于 sec3(前称 Soteria) sec3 是一家安全研究公司,旨在为数百万用户准备 Solana 项目。sec3 的启动审计...
...wait nft.ownerOf(0));//返回的账号地址时addr2说明addr2购买成功了 }) }) }) # 测试指令 # npx hardhat test ./test/xxx.js ``` # NFT交易所部署 ``` module.exports = async function ({getNamedAccounts,deployments}) { const firstAccount= (await getNamedAccoun...
...dot,所以我将继续支持 Polkadot 生态系统。Pop-cli 刚刚更新了 ink6 的版本,所以我将检查 Pop-cli 的最新版本。 [**Pop** **Web3 开发平台** ](https://pop.r0gue.io/cli/?source=post_page-----116f68fa4140---------------------------------------) 我将开发另一...
...保其无法被嵌套(重入)调用。本库的代码逻辑上只实现了一个重入锁,所以被`nonReentrant`修饰的函数之间也是无法相互调用的。 ### 1. 目标合约 继承ReentrancyGuard合约: Github: https://github.com/RevelationOfTuring/foundry-openzeppelin-co...
... 以上是这个合约的代码部分,点击deploy时出错,给出了以下提示: VM error: revert. revert The transaction has been reverted to the initial state. Note: The constructor should be payable if you send value. Debug the transaction to get more information.
...{description}".to_string(), b"{url}".to_string(), ]; // 使用了 OTW, 通过 package::claim 得到一个 publisher 对象 let publisher = package::claim(otw, ctx); // 使用要显示的属性创建 display 对象 let mut display = display::new_with_fields(&publisher, keys,...
## 引言 学习了sui move中的动态字段,table,bag,作为练习,我准备使用它们模拟solidity中的映射类型,在sui move实现一个**类似**erc20的同质化代币作为之前学习的实践与巩固。本文分享了练习过程中的mint,和burn,balance_of,total_supply. ...
...ontracts/blob/v4.8.3/contracts/utils/math/SafeCast.sol SafeCast库提供了solidity的基础整数类型uintX和intX之间的类型安全转换的库方法。在不同的类型转换之间都加入溢出检查,如果一旦在转换过程中出现类型的溢出会立刻revert。 solidity中...
...:2017-05-17 ``` ### 摘要 BIP-0173 为隔离见证输出地址定义了一种新格式,其中包含一个人类可读部分,用于标识币种类型。 ### 动机 BIP 仓库不想处理为不同于比特币的各种币种类型分配值的问题,因此我们建议将此 SLIP 作为此...
...bject:`txb.object(objectId)` * value:`txb.pure(rawValue)` 在瞭解了可編程交易塊的概念及特性之後,就來看看一些範例與實操吧! # 0x02 Example1 - 空投 SUI 到多個地址 有時候有些相同類型的處理你不會特別想部署一個合約處理,例...