Browse Source

fixed deploy (#7)

master
Shahar Yakir 2 years ago committed by GitHub
parent
commit
9565b25c00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      build/_deploy.ts

10
build/_deploy.ts

@ -1,7 +1,7 @@
// This is a simple generic deploy script in TypeScript that should work for most projects without modification // This is a simple generic deploy script in TypeScript that should work for most projects without modification
// Every contract you want to deploy should have a mycontract.deploy.ts script that returns its init data // Every contract you want to deploy should have a mycontract.deploy.ts script that returns its init data
// The script assumes that it is running from the repo root, and the directories are organized this way: // The script assumes that it is running from the repo root, and the directories are organized this way:
// ./build/ - directory for build artifacts (mycontract.cell) and deploy init data scripts (mycontract.deploy.ts) // ./build/ - directory for build artifacts (mycontract.compiled.json) and deploy init data scripts (mycontract.deploy.ts)
// ./.env - config file with DEPLOYER_MNEMONIC - secret mnemonic of deploying wallet (will be created if not found) // ./.env - config file with DEPLOYER_MNEMONIC - secret mnemonic of deploying wallet (will be created if not found)
import axios from "axios"; import axios from "axios";
@ -84,12 +84,12 @@ async function main() {
const initMessageCell = deployInitScript.initMessage() as Cell | null; const initMessageCell = deployInitScript.initMessage() as Cell | null;
// prepare the init code cell // prepare the init code cell
const cellArtifact = `build/${contractName}.cell`; const hexArtifact = `build/${contractName}.compiled.json`;
if (!fs.existsSync(cellArtifact)) { if (!fs.existsSync(hexArtifact)) {
console.log(` - ERROR: '${cellArtifact}' not found, did you build?`); console.log(` - ERROR: '${hexArtifact}' not found, did you build?`);
process.exit(1); process.exit(1);
} }
const initCodeCell = Cell.fromBoc(fs.readFileSync(cellArtifact))[0]; const initCodeCell = Cell.fromBoc(JSON.parse(fs.readFileSync(hexArtifact).toString()).hex)[0];
// make sure the contract was not already deployed // make sure the contract was not already deployed
const newContractAddress = contractAddress({ workchain, initialData: initDataCell, initialCode: initCodeCell }); const newContractAddress = contractAddress({ workchain, initialData: initDataCell, initialCode: initCodeCell });

Loading…
Cancel
Save