ProxyPaymentAddress
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
Name | Type | Description |
---|---|---|
_beneficiary | address | Address of the beneficiary tickets will be transferred to. |
_amount | uint256 |