Skip to content

Commit

Permalink
chore: deployment scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
kupermind committed Nov 7, 2024
1 parent 7d3b603 commit bbdf1f6
Show file tree
Hide file tree
Showing 6 changed files with 88 additions and 5 deletions.
20 changes: 18 additions & 2 deletions abis/0.8.28/WormholeRelayer.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,22 @@
"name": "LowerThan",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "TransferFailed",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
Expand Down Expand Up @@ -122,8 +138,8 @@
"type": "function"
}
],
"bytecode": "0x60a0604052348015600e575f5ffd5b50604051610799380380610799833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b60805161070e61008b5f395f8181606e015281816101c30152610355015261070e5ff3fe608060405260043610610028575f3560e01c80634b5ca6f41461002c578063da25b7251461005d575b5f5ffd5b61003f61003a36600461044d565b6100b5565b60405167ffffffffffffffff90911681526020015b60405180910390f35b348015610068575f5ffd5b506100907f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610054565b5f73ffffffffffffffffffffffffffffffffffffffff871615806100ed575073ffffffffffffffffffffffffffffffffffffffff8216155b15610124576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8816158061013457508551155b8061013d575083155b8061014a575061ffff8316155b15610181576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fc23ee3c300000000000000000000000000000000000000000000000000000000815261ffff891660048201525f6024820181905260448201869052907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c23ee3c3906064016040805180830381865afa15801561021c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102409190610590565b5090503481111561028a576040517f491a2bb10000000000000000000000000000000000000000000000000000000081523460048201526024810182905260440160405180910390fd5b5f61029582346105b2565b9050801561031857604051329082905f81818185875af1925050503d805f81146102da576040519150601f19603f3d011682016040523d82523d5f602084013e6102df565b606091505b50506040518281523291507f8e49ed3e274fbea1556bdfaa9a37a0c28445bfe26d57beaf9f04fd517aa417419060200160405180910390a25b6040517f4b5ca6f400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690634b5ca6f4908490610398908e908e908e908e908e908e908e906004016105f0565b60206040518083038185885af11580156103b4573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906103d991906106aa565b9a9950505050505050505050565b803561ffff811681146103f8575f5ffd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146103f8575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f5f5f5f5f5f60e0888a031215610463575f5ffd5b61046c886103e7565b965061047a602089016103fd565b9550604088013567ffffffffffffffff811115610495575f5ffd5b8801601f81018a136104a5575f5ffd5b803567ffffffffffffffff8111156104bf576104bf610420565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561052b5761052b610420565b6040528181528282016020018c1015610542575f5ffd5b816020840160208301375f91810160200191909152955050606088013593506080880135925061057460a089016103e7565b915061058260c089016103fd565b905092959891949750929550565b5f5f604083850312156105a1575f5ffd5b505080516020909101519092909150565b818103818111156105ea577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b61ffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015260e060408201525f86518060e0840152806020890161010085015e5f61010082850101526101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505085606083015284608083015261ffff841660a083015261069e60c083018473ffffffffffffffffffffffffffffffffffffffff169052565b98975050505050505050565b5f602082840312156106ba575f5ffd5b815167ffffffffffffffff811681146106d1575f5ffd5b939250505056fea264697066735822122033354bbea4bd99b5a23b0d613690efc7804dc9278bf279de0ad05b62cff0358464736f6c634300081c0033",
"deployedBytecode": "0x608060405260043610610028575f3560e01c80634b5ca6f41461002c578063da25b7251461005d575b5f5ffd5b61003f61003a36600461044d565b6100b5565b60405167ffffffffffffffff90911681526020015b60405180910390f35b348015610068575f5ffd5b506100907f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610054565b5f73ffffffffffffffffffffffffffffffffffffffff871615806100ed575073ffffffffffffffffffffffffffffffffffffffff8216155b15610124576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8816158061013457508551155b8061013d575083155b8061014a575061ffff8316155b15610181576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fc23ee3c300000000000000000000000000000000000000000000000000000000815261ffff891660048201525f6024820181905260448201869052907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c23ee3c3906064016040805180830381865afa15801561021c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102409190610590565b5090503481111561028a576040517f491a2bb10000000000000000000000000000000000000000000000000000000081523460048201526024810182905260440160405180910390fd5b5f61029582346105b2565b9050801561031857604051329082905f81818185875af1925050503d805f81146102da576040519150601f19603f3d011682016040523d82523d5f602084013e6102df565b606091505b50506040518281523291507f8e49ed3e274fbea1556bdfaa9a37a0c28445bfe26d57beaf9f04fd517aa417419060200160405180910390a25b6040517f4b5ca6f400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690634b5ca6f4908490610398908e908e908e908e908e908e908e906004016105f0565b60206040518083038185885af11580156103b4573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906103d991906106aa565b9a9950505050505050505050565b803561ffff811681146103f8575f5ffd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146103f8575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f5f5f5f5f5f60e0888a031215610463575f5ffd5b61046c886103e7565b965061047a602089016103fd565b9550604088013567ffffffffffffffff811115610495575f5ffd5b8801601f81018a136104a5575f5ffd5b803567ffffffffffffffff8111156104bf576104bf610420565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561052b5761052b610420565b6040528181528282016020018c1015610542575f5ffd5b816020840160208301375f91810160200191909152955050606088013593506080880135925061057460a089016103e7565b915061058260c089016103fd565b905092959891949750929550565b5f5f604083850312156105a1575f5ffd5b505080516020909101519092909150565b818103818111156105ea577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b61ffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015260e060408201525f86518060e0840152806020890161010085015e5f61010082850101526101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505085606083015284608083015261ffff841660a083015261069e60c083018473ffffffffffffffffffffffffffffffffffffffff169052565b98975050505050505050565b5f602082840312156106ba575f5ffd5b815167ffffffffffffffff811681146106d1575f5ffd5b939250505056fea264697066735822122033354bbea4bd99b5a23b0d613690efc7804dc9278bf279de0ad05b62cff0358464736f6c634300081c0033",
"bytecode": "0x60a0604052348015600e575f5ffd5b506040516107de3803806107de833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b60805161075361008b5f395f8181606e015281816101c3015261039a01526107535ff3fe608060405260043610610028575f3560e01c80634b5ca6f41461002c578063da25b7251461005d575b5f5ffd5b61003f61003a366004610492565b6100b5565b60405167ffffffffffffffff90911681526020015b60405180910390f35b348015610068575f5ffd5b506100907f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610054565b5f73ffffffffffffffffffffffffffffffffffffffff871615806100ed575073ffffffffffffffffffffffffffffffffffffffff8216155b15610124576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8816158061013457508551155b8061013d575083155b8061014a575061ffff8316155b15610181576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fc23ee3c300000000000000000000000000000000000000000000000000000000815261ffff8916600482015260248101869052604481018590525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c23ee3c3906064016040805180830381865afa15801561021c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024091906105d5565b5090503481111561028b576040517f491a2bb1000000000000000000000000000000000000000000000000000000008152346004820152602481018290526044015b60405180910390fd5b5f61029682346105f7565b9050801561035d576040515f90329083908381818185875af1925050503d805f81146102dd576040519150601f19603f3d011682016040523d82523d5f602084013e6102e2565b606091505b5050905080610326576040517f1c43b97600000000000000000000000000000000000000000000000000000000815232600482015260248101839052604401610282565b60405182815232907f8e49ed3e274fbea1556bdfaa9a37a0c28445bfe26d57beaf9f04fd517aa417419060200160405180910390a2505b6040517f4b5ca6f400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690634b5ca6f49084906103dd908e908e908e908e908e908e908e90600401610635565b60206040518083038185885af11580156103f9573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061041e91906106ef565b9a9950505050505050505050565b803561ffff8116811461043d575f5ffd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461043d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f5f5f5f5f5f60e0888a0312156104a8575f5ffd5b6104b18861042c565b96506104bf60208901610442565b9550604088013567ffffffffffffffff8111156104da575f5ffd5b8801601f81018a136104ea575f5ffd5b803567ffffffffffffffff81111561050457610504610465565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561057057610570610465565b6040528181528282016020018c1015610587575f5ffd5b816020840160208301375f9181016020019190915295505060608801359350608088013592506105b960a0890161042c565b91506105c760c08901610442565b905092959891949750929550565b5f5f604083850312156105e6575f5ffd5b505080516020909101519092909150565b8181038181111561062f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b61ffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015260e060408201525f86518060e0840152806020890161010085015e5f61010082850101526101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505085606083015284608083015261ffff841660a08301526106e360c083018473ffffffffffffffffffffffffffffffffffffffff169052565b98975050505050505050565b5f602082840312156106ff575f5ffd5b815167ffffffffffffffff81168114610716575f5ffd5b939250505056fea2646970667358221220cdf4554f73cef611853522433444fb87bce53dfabf2ccaa91c92000d670204da64736f6c634300081c0033",
"deployedBytecode": "0x608060405260043610610028575f3560e01c80634b5ca6f41461002c578063da25b7251461005d575b5f5ffd5b61003f61003a366004610492565b6100b5565b60405167ffffffffffffffff90911681526020015b60405180910390f35b348015610068575f5ffd5b506100907f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610054565b5f73ffffffffffffffffffffffffffffffffffffffff871615806100ed575073ffffffffffffffffffffffffffffffffffffffff8216155b15610124576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8816158061013457508551155b8061013d575083155b8061014a575061ffff8316155b15610181576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fc23ee3c300000000000000000000000000000000000000000000000000000000815261ffff8916600482015260248101869052604481018590525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c23ee3c3906064016040805180830381865afa15801561021c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024091906105d5565b5090503481111561028b576040517f491a2bb1000000000000000000000000000000000000000000000000000000008152346004820152602481018290526044015b60405180910390fd5b5f61029682346105f7565b9050801561035d576040515f90329083908381818185875af1925050503d805f81146102dd576040519150601f19603f3d011682016040523d82523d5f602084013e6102e2565b606091505b5050905080610326576040517f1c43b97600000000000000000000000000000000000000000000000000000000815232600482015260248101839052604401610282565b60405182815232907f8e49ed3e274fbea1556bdfaa9a37a0c28445bfe26d57beaf9f04fd517aa417419060200160405180910390a2505b6040517f4b5ca6f400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690634b5ca6f49084906103dd908e908e908e908e908e908e908e90600401610635565b60206040518083038185885af11580156103f9573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061041e91906106ef565b9a9950505050505050505050565b803561ffff8116811461043d575f5ffd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461043d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f5f5f5f5f5f60e0888a0312156104a8575f5ffd5b6104b18861042c565b96506104bf60208901610442565b9550604088013567ffffffffffffffff8111156104da575f5ffd5b8801601f81018a136104ea575f5ffd5b803567ffffffffffffffff81111561050457610504610465565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561057057610570610465565b6040528181528282016020018c1015610587575f5ffd5b816020840160208301375f9181016020019190915295505060608801359350608088013592506105b960a0890161042c565b91506105c760c08901610442565b905092959891949750929550565b5f5f604083850312156105e6575f5ffd5b505080516020909101519092909150565b8181038181111561062f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b61ffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015260e060408201525f86518060e0840152806020890161010085015e5f61010082850101526101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505085606083015284608083015261ffff841660a08301526106e360c083018473ffffffffffffffffffffffffffffffffffffffff169052565b98975050505050505050565b5f602082840312156106ff575f5ffd5b815167ffffffffffffffff81168114610716575f5ffd5b939250505056fea2646970667358221220cdf4554f73cef611853522433444fb87bce53dfabf2ccaa91c92000d670204da64736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
1 change: 0 additions & 1 deletion scripts/deployment/deploy_23_vote_weighting.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/*global process*/

const { expect } = require("chai");
const { ethers } = require("hardhat");
const { LedgerSigner } = require("@anders-t/ethers-ledger");

Expand Down
1 change: 0 additions & 1 deletion scripts/deployment/deploy_24_burner.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/*global process*/

const { expect } = require("chai");
const { ethers } = require("hardhat");
const { LedgerSigner } = require("@anders-t/ethers-ledger");

Expand Down
61 changes: 61 additions & 0 deletions scripts/deployment/deploy_25_wormhole_relayer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*global process*/

const { ethers } = require("hardhat");
const { LedgerSigner } = require("@anders-t/ethers-ledger");

async function main() {
const fs = require("fs");
const globalsFile = "globals.json";
const dataFromJSON = fs.readFileSync(globalsFile, "utf8");
let parsedData = JSON.parse(dataFromJSON);
const derivationPath = parsedData.derivationPath;
const useLedger = parsedData.useLedger;
const providerName = parsedData.providerName;
let EOA;

const provider = await ethers.providers.getDefaultProvider(providerName);
const signers = await ethers.getSigners();

if (useLedger) {
EOA = new LedgerSigner(provider, derivationPath);
} else {
EOA = signers[0];
}
// EOA address
const deployer = await EOA.getAddress();
console.log("EOA is:", deployer);

// Transaction signing and execution
console.log("25. EOA to deploy WormholeRelayer contract");
const WormholeRelayer = await ethers.getContractFactory("WormholeRelayer");
console.log("You are signing the following transaction: WormholeRelayer.connect(EOA).deploy(OLAS)");
const wormholeRelayer = await WormholeRelayer.connect(EOA).deploy(parsedData.wormholeL1MessageRelayerAddress);
const result = await wormholeRelayer.deployed();

// Transaction details
console.log("Contract deployment: wormholeRelayer");
console.log("Contract address:", wormholeRelayer.address);
console.log("Transaction:", result.deployTransaction.hash);

// If on sepolia, wait half a minute for the transaction completion
if (providerName === "sepolia") {
await new Promise(r => setTimeout(r, 30000));
}

// Contract verification
if (parsedData.contractVerification) {
const execSync = require("child_process").execSync;
execSync("npx hardhat verify --constructor-args scripts/deployment/verify_25_wormhole_relayer.js --network " + providerName + " " + wormholeRelayer.address, { encoding: "utf-8" });
}

// Writing updated parameters back to the JSON file
parsedData.wormholeRelayerAddress = wormholeRelayer.address;
fs.writeFileSync(globalsFile, JSON.stringify(parsedData));
}

main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
Loading

0 comments on commit bbdf1f6

Please sign in to comment.