onflow-cadence - 错误:受限类型不符合限制类型
问题描述
我的目标是部署一个自定义智能合约,将核心合约(例如 FungibleToken)导入 Flow 模拟器。在流程游乐场中,它可以正常工作,因此模拟器中的预期结果是没有错误的。然而,实际结果是关于受限制类型不符合的无用错误消息:
execution error code 1101: [Error Code: 1101] cadence runtime error Execution failed:
error: restricted type does not conform to restricting type: FungibleToken.Receiver
我的智能合约如下所示:
// ExampleToken.cdc
import FungibleToken from "./FungibleToken.cdc"
我的流 CLI 配置如下所示:
{
"contracts": {
"FungibleToken": {
"source": "./cadence/contracts/FungibleToken.cdc",
"aliases": {
"emulator": "ee82856bf20e2aa6",
}
},
"ExampleToken": "./cadence/contracts/ExampleToken.cdc"
},
"deployments": {
"emulator": {
"emulator-account": [
"FungibleToken"
"ExampleToken"
]
}
}
}
解决方案
这个错误的背景是你试图部署自己的核心合约,而你应该只从它们各自的地址导入核心智能合约。
从流 CLI 配置中删除核心合约的部署,如下所示:
"deployments": {
"emulator": {
"emulator-account": [
"ExampleToken"
]
}
}
推荐阅读
- javascript - 如何将字符串添加到不重复的列表中
- r - 使用条件语句从现有的 for 循环中绘制绘图
- javascript - 那么为什么我不能从 promise 内部操作返回的对象呢?
- javascript - XHR GET 请求参数对象
- c# - 使用反射 linq c# 进行排序
- amazon-web-services - AWS 中强大的无服务器 ETL 流
- replication - 如何使用“typeorm 中的复制”
- python - 'import RPi.GPIO as GPIO' 不起作用,不管我做什么
- django - 在 Django rest 框架中添加 m2m 关系
- oauth - OAuth2 `expires_in` 用途