<?php
namespace App\Utils\BaseParser\Structure\Storage\Types;

abstract class TransactionReference extends \Engine\Serializer\MagicMethods\CustomAbstract
{
	/**
	 * The transaction id
	 * @var int
	 */
	public $id = null;

	/**
	 * The type of relation.
	 * 	sibling  	this transaction in the same file as the referenced trasanction
	 * 	parent  	this transaction is child of the referenced transaction
	 *  child		this transaction is a child of the referenced transaction
	 *  reissueOf 	this transaction is a reissue of the referenced transaction
	 *  overwrite   this transaction supersedes (overwrites) the referenced transaction.
	 *  				* please note that this is better satisfied by the above parent-child relationship
	 *  				*   the overwritten transaction is the parent in all cases
	 * @var string
	 */
	public $relation = null;

	public function __construct($relation=null, $id=null)
	{
		$this->relation = 	$relation;
		$this->id = 		$id;
	}
}
