-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetcode.js
More file actions
35 lines (30 loc) · 1.07 KB
/
Copy pathgetcode.js
File metadata and controls
35 lines (30 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const { Web3 } = require('@theqrl/web3')
const {
hasDeployedCode,
requireQAddress,
requireRpcUrl,
} = require("./utils/deploymentSafety")
require('dotenv').config()
const provider = requireRpcUrl(process.env.RPC_URL)
const web3 = new Web3(new Web3.providers.HttpProvider(provider))
const contractAddress = process.env.CUSTOM_ERC20_FACTORY_ADDRESS || process.env.CUSTOM_ERC20_ADDRESS
const getCode = async () => {
if (!contractAddress) {
console.error("Set CUSTOM_ERC20_FACTORY_ADDRESS or CUSTOM_ERC20_ADDRESS in .env")
process.exit(1)
}
try {
requireQAddress(contractAddress, "contract address")
const code = await web3.qrl.getCode(contractAddress, 'latest')
if (!hasDeployedCode(code)) {
console.log(`No contract deployed at ${contractAddress}`)
} else {
console.log(`Contract at ${contractAddress} has bytecode (${code.length} chars):`)
console.log(code)
}
} catch (error) {
console.error("getCode failed:", error.message)
process.exit(1)
}
}
getCode()