register_terra_chain.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // run this script with truffle exec
  2. const jsonfile = require("jsonfile");
  3. const TokenBridge = artifacts.require("TokenBridge");
  4. const NFTBridge = artifacts.require("NFTBridgeEntrypoint");
  5. const TokenImplementation = artifacts.require("TokenImplementation");
  6. const BridgeImplementationFullABI = jsonfile.readFileSync("../build/contracts/BridgeImplementation.json").abi
  7. module.exports = async function (callback) {
  8. try {
  9. const accounts = await web3.eth.getAccounts();
  10. const tokenBridge = new web3.eth.Contract(BridgeImplementationFullABI, TokenBridge.address);
  11. const nftBridge = new web3.eth.Contract(BridgeImplementationFullABI, NFTBridge.address);
  12. // Register the terra token bridge endpoint
  13. await tokenBridge.methods.registerChain("0x010000000001009a895e8b42444fdf60a71666121d7e84b3a49579ba3b84fff1dbdf9ec93360390c05a88f66c90df2034cb38427ba9b01632e780ce7b84df559a1bf44c316447d01000000010000000100010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000546f6b656e4272696467650100000003000000000000000000000000784999135aaa8a3ca5914468852fdddbddd8789d").send({
  14. value: 0,
  15. from: accounts[0],
  16. gasLimit: 2000000
  17. });
  18. // Register the terra NFT bridge endpoint
  19. await nftBridge.methods.registerChain("0x010000000001008ebe6a1971ae336bb7817aa7e8ffc13e1582ebbc00dc85e33b592dfea998787a1a9ccece2efce7fcdf228153baafb6f1232b320805c82fac90b5e49c3b5ad4fd0100000001000000010001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004e46544272696467650100000003000000000000000000000000288246bebae560e006d01c675ae332ac8e146bb7").send({
  20. value: 0,
  21. from: accounts[0],
  22. gasLimit: 2000000
  23. });
  24. callback();
  25. }
  26. catch (e) {
  27. callback(e);
  28. }
  29. }