Skip to main content

ProxyPaymentAddress

Git Source

Inherits: IProxyPaymentAddress, Ownable

A contract that can receive and hold funds for a given project. Once funds are tapped, tickets are printed and can be transferred out of the contract at a later date. Particularly useful for routing funds from third-party platforms (e.g., Open Sea).

State Variables

terminalDirectory

The directory to use when resolving which terminal to send the payment to.

ITerminalDirectory public immutable override terminalDirectory;

ticketBooth

The ticket booth to use when transferring tickets held by this contract to a beneficiary.

ITicketBooth public immutable override ticketBooth;

projectId

The ID of the project tickets should be redeemed for.

uint256 public immutable override projectId;

memo

The memo to use when this contract forwards a payment to a terminal.

string public override memo;

Functions

constructor

constructor(ITerminalDirectory _terminalDirectory, ITicketBooth _ticketBooth, uint256 _projectId, string memory _memo);

receive

receive() external payable;

tap

function tap() external override;

transferTickets

Transfers tickets held by this contract to a beneficiary.

function transferTickets(address _beneficiary, uint256 _amount) external override onlyOwner;

Parameters

NameTypeDescription
_beneficiaryaddressAddress of the beneficiary tickets will be transferred to.
_amountuint256