pragma solidity ^0.6.0;

contract VyperSetup {
  // Bytecode from https://github.com/ethereum/eth2.0-specs/blob/v0.12.2/deposit_contract/contracts/validator_registration.vy
  bytes constant public depositCode = hex"[encoded data, 9370 characters]";
  function write(bytes memory _code) public returns (address target) {
    assembly {
      target := create(0, add(_code, 0x20), mload(_code))
    }
  }

  function deployDeposit() public returns (address) {
    return write(depositCode);
  }
}

