我在使用openseas.js库时遇到了麻烦。我正在尝试对我发现的一个随机资产执行getAsset调用,但我一直得到
错误:DEPRECATED: Please use providerUtils.standardizeOrThrow() instead supportedProvider.send.toString(...).replaceAll is not a function
完全错误:

我目前在节点16.14.2上。
我怎样才能解决这个问题?我很感激你的帮助!
const Web3 = require("web3");
import { OpenSeaPort, Network } from "opensea-js";
import { OpenSeaAsset } from "opensea-js/lib/types";
// This example provider won't let you make transactions, only read-only calls:
const provider = new Web3.providers.HttpProvider("https://mainnet.infura.io");
const seaport = new OpenSeaPort(provider, {
networkName: Network.Main,
});
(async function main() {
try {
//random asset I found on OpenSea
const asset: OpenSeaAsset = await seaport.api.getAsset({
tokenAddress: "0x20ed6cdf9344b3a187063a3ff4d883b6b1947b81", // string
tokenId: 220, // string | number | null
});
console.log("Asset", asset);
} catch (e) {
console.log("ERROR", e);
}
}); "dependencies": {
"opensea-js": "^3.0.2",
"typescript": "^4.6.3",
"web3": "^1.7.3",
"web3-provider-engine": "^16.0.3"
}发布于 2022-04-28 00:38:17
首先,检查一些显而易见的事情--因为我知道这会时不时地咬我一口--清除node_modules并重新安装,确保您的package-lock.json符合您期望的package.json版本,确保您没有从以前的构建中运行,等等……
我的猜测是,您的项目中有些东西正在导入/使用一些0xProject库的旧版本。运行npm list --all并查看哪些是导入的。
最坏的情况是:该错误来自isWeb3Provider函数在0xProject/assert项目中 - grep -r在您的node_modules中用于调用isWeb3Provider。希望这能给我们一个线索。
https://stackoverflow.com/questions/71931292
复制相似问题