lib
├── abi # abi output from src/
|
├── ethers # ethers contract abstractions codegenned from abis only (no bytecode)
│
├── solidity # the contracts themselves, in .sol form
│
├── truffle # truffle contract abstractions codegenned from abis + bytecode
|
└── web3 # web3 contract abstractions codegenned from abis + bytecode
These smart contracts can be imported as a dependency in various ways described below.
The solidity smart contracts themselves can simply be imported via the solidity
directory of @leovigna/solidity-starter
.
import "@leovigna/solidity-starter/solidity/Example.sol";
import ExampleArtifact from '@leovigna/solidity-starter/abi/Example.json';
import ExampleEthers from '@leovigna/solidity-starter/ethers/Example';
const example = ExampleEthers.attach(deployed.address).connect(
new ethers.providers.JsonRpcProvider('http://localhost:8545'),
);
import ExampleTruffle from '@leovigna/solidity-starter/truffle/Example';
const example = await ExampleTruffle.new();
import ExampleWeb3 from '@leovigna/solidity-starter/web3/Example';
const example = ExampleWeb3(web3);