import { deployContract } from '@scio-labs/use-inkathon' import { getDeploymentData } from './utils/getDeploymentData' import { initPolkadotJs } from './utils/initPolkadotJs' import { writeContractAddresses } from './utils/writeContractAddresses' /** * Script that deploys the greeter contract and writes its address to a file. * * Parameters: * - `DIR`: Directory to read contract build artifacts & write addresses to (optional, defaults to `./deployments`) * - `CHAIN`: Chain ID (optional, defaults to `development`) * * Example usage: * - `pnpm run deploy` * - `CHAIN=alephzero-testnet pnpm run deploy` */ const main = async () => { const initParams = await initPolkadotJs() const { api, chain, account } = initParams // Deploy greeter contract const { abi, wasm } = await getDeploymentData('greeter') const greeter = await deployContract(api, account, abi, wasm, 'default', []) // Write contract addresses to `{contract}/{network}.ts` file(s) await writeContractAddresses(chain.network, { greeter, }) } main() .catch((error) => { console.error(error) process.exit(1) }) .finally(() => process.exit(0))