When using mono repo style dependencies and possibly other dependencies, it is possible that the built AST does not properly include an imported package.
The following example failed to include "@starving/contracts/dist/typechain-types"
import Nullstack from "nullstack";
import base from "@starving/contracts/dist/typechain-types";
import ethers from "ethers";
class Account extends Nullstack {
hydrate() {
this.connectWallet();
}
async connectWallet() {
console.log(base.ERC165__factory);
const factory = await new base.Tap__factory();
factory.attach("").requestTokens();
const fact = await factory.deploy();
const provider = new ethers.providers.JsonRpcProvider();
const tokenContract = new tap(nftAddress, NFT.abi, provider);
const marketContract = new ethers.Contract(
nftMarketAddress,
Market.abi,
provider
);
const data = await marketContract.fetchMarketItems();
}
getTap() {
return 1.354;
}
getAddress() {
return "0x5a773...6f57c0";
}
render() {
return (
<div style="" class="flex justify-end">
<div class="flex items-center">
<div class="max-w-[14px] max-h-[17px]">
<img src="tap.png" class="object-cover"></img>
</div>
<div class="pl-2 text-sm flex flex-col items-center">
<span class="font-bold">
{this.getTap()}{" "}
<span class="text-shadow-white font-medium">TAP</span>
</span>
<div>
<span class="text-shadow-white">{this.getAddress()}</span>
</div>
</div>
</div>
<div class="flex items-center pl-10">
<div class="max-w-[14px] max-h-[17px]">
<img src="account_circle.png" class="object-cover"></img>
</div>
<span class="pl-2 font-bold"> My account</span>
</div>
</div>
);
}
}
export default Account;
This was fixed by importing @starving/contracts/dist/typechain-types in the server.js file
import Nullstack from "nullstack";
import Application from "./src/Application";
import { StavingChildrenNft__factory } from "@starving/contracts/dist/typechain-types/factories/contracts/Nft.sol/StavingChildrenNft__factory";
const context = Nullstack.start(Application);
context.start = async function start() {
console.log(StavingChildrenNft__factory);
// https://nullstack.app/application-startup
};
export default context;
When using mono repo style dependencies and possibly other dependencies, it is possible that the built AST does not properly include an imported package.
The following example failed to include "@starving/contracts/dist/typechain-types"
This was fixed by importing @starving/contracts/dist/typechain-types in the server.js file