creation_sourcecode: // Copyright (C) 2018-2020 Maker Ecosystem Growth Holdings, INC.
  
  // This program is free software: you can redistribute it and/or modify
  // it under the terms of the GNU Affero General Public License as published by
  // the Free Software Foundation, either version 3 of the License, or
  // (at your option) any later version.
  //
  // This program is distributed in the hope that it will be useful,
  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  // GNU Affero General Public License for more details.
  //
  // You should have received a copy of the GNU Affero General Public License
  // along with this program.  If not, see <https://www.gnu.org/licenses/>.
  
  pragma solidity ^0.5.12;
  
  contract VatLike {
      function urns(bytes32, address) public view returns (uint, uint);
      function hope(address) public;
      function flux(bytes32, address, address, uint) public;
      function move(address, address, uint) public;
      function frob(bytes32, address, address, address, int, int) public;
      function fork(bytes32, address, address, int, int) public;
  }
  
  contract UrnHandler {
      constructor(address vat) public {
          VatLike(vat).hope(msg.sender);
      }
  }