-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
17 changed files
with
2,728 additions
and
858 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"messagers": { | ||
"ethereum": { | ||
"Eth2ArbSendService": "0x78a6831Da2293fbEFd0d8aFB4D1f7CBB751e0119" | ||
}, | ||
"arbitrum": { | ||
"Eth2ArbReceiveService": "0xc95D939Da72ECe8Bd794d42EaEd28974CDb0ADa2" | ||
} | ||
}, | ||
"ProxyAdmin": { | ||
"common": "0x601dE3B81c7cE04BecE3b29e5cEe4F3251d250dB" | ||
}, | ||
"LnOppositeBridgeLogic": { | ||
"common": "0x90873fa1bbd028F22277567530A22E05f7721D37" | ||
}, | ||
"LnOppositeBridgeProxy": { | ||
"common": "0x48d769d5C7ff75703cDd1543A1a2ed9bC9044A23" | ||
}, | ||
"deployer": "0x80D4c766C5142D1313D531Afe7384D0D5E108Db3", | ||
"ring": { | ||
"arbitrum": "0x9e523234D36973f9e38642886197D023C88e307e", | ||
"ethereum": "0x9469D013805bFfB7D3DEBe5E7839237e535ec483" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
const ethUtil = require('ethereumjs-util'); | ||
const abi = require('ethereumjs-abi'); | ||
const secp256k1 = require('secp256k1'); | ||
|
||
var Create2 = require("./create2.js"); | ||
var ProxyDeployer = require("./proxy.js"); | ||
|
||
const privateKey = process.env.PRIKEY | ||
|
||
function wallet(url) { | ||
const provider = new ethers.providers.JsonRpcProvider(url); | ||
const wallet = new ethers.Wallet(privateKey, provider); | ||
return wallet; | ||
} | ||
|
||
async function getHelixProxyAdminBytecode(networkUrl, version) { | ||
const w = wallet(networkUrl); | ||
const salt = ethers.utils.hexZeroPad(ethers.utils.hexlify(ethers.utils.toUtf8Bytes(version)), 32); | ||
const proxyAdminContract = await ethers.getContractFactory("HelixProxyAdmin", w); | ||
const bytecode = Create2.getDeployedBytecode(proxyAdminContract, ["address"], [w.address]); | ||
console.log(`get helix proxyAdmin bytecode, salt ${salt}, bytecode ${bytecode}`); | ||
return; | ||
} | ||
|
||
async function getOppositeBridgeBytecode(networkUrl, version) { | ||
const w = wallet(networkUrl); | ||
const salt = ethers.utils.hexZeroPad(ethers.utils.hexlify(ethers.utils.toUtf8Bytes(version)), 32); | ||
const oppositeBridgeContract = await ethers.getContractFactory("LnOppositeBridge", w); | ||
const bytecode = Create2.getDeployedBytecode(oppositeBridgeContract, [], []); | ||
console.log(`get helix opposite logic bridge bytecode, salt ${salt}, bytecode ${bytecode}`); | ||
return; | ||
} | ||
|
||
async function getDefaultBridgeBytecode(networkUrl, version) { | ||
const w = wallet(networkUrl); | ||
const salt = ethers.utils.hexZeroPad(ethers.utils.hexlify(ethers.utils.toUtf8Bytes(version)), 32); | ||
const defaultBridgeContract = await ethers.getContractFactory("LnDefaultBridge", w); | ||
const bytecode = Create2.getDeployedBytecode(defaultBridgeContract, [], []); | ||
console.log(`get helix default logic bridge bytecode, salt ${salt}, bytecode ${bytecode}`); | ||
return; | ||
} | ||
|
||
async function getLnProxyBridgeBytecode(w, version, logicFactory, logicAddress, proxyAdminAddress, args) { | ||
const salt = ethers.utils.hexZeroPad(ethers.utils.hexlify(ethers.utils.toUtf8Bytes(version)), 32); | ||
const calldata = ProxyDeployer.getInitializerData(logicFactory.interface, args, "initialize"); | ||
const proxyContract = await ethers.getContractFactory("TransparentUpgradeableProxy", w); | ||
const bytecode = Create2.getDeployedBytecode(proxyContract, ["address", "address", "bytes"], [logicAddress, proxyAdminAddress, calldata]); | ||
console.log(`get helix proxy bridge bytecode, salt ${salt}, bytecode ${bytecode}`); | ||
return; | ||
} | ||
|
||
async function getLnOppositeProxyBridgeBytecode(networkUrl, version, logicAddress, proxyAdminAddress) { | ||
const w = wallet(networkUrl); | ||
const oppositeFactory = await ethers.getContractFactory("LnOppositeBridge", w); | ||
await getLnProxyBridgeBytecode(w, version, oppositeFactory, logicAddress, proxyAdminAddress, [w.address]); | ||
return; | ||
} | ||
|
||
// 2. deploy mapping token factory | ||
async function main() { | ||
//await getHelixProxyAdminBytecode('https://rpc.ankr.com/eth_goerli', 'v1.0.0'); | ||
//await getOppositeBridgeBytecode('https://rpc.ankr.com/eth_goerli', 'v1.0.0'); | ||
//await getDefaultBridgeBytecode('https://rpc.ankr.com/eth_goerli', 'v1.0.0'); | ||
await getLnOppositeProxyBridgeBytecode('https://rpc.ankr.com/eth_goerli', 'v1.0.0', '0x90873fa1bbd028F22277567530A22E05f7721D37', '0x601dE3B81c7cE04BecE3b29e5cEe4F3251d250dB'); | ||
} | ||
|
||
main() | ||
.then(() => process.exit(0)) | ||
.catch((error) => { | ||
console.error(error); | ||
process.exit(1); | ||
}); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.