Skip to content

Instantly share code, notes, and snippets.

@KolevDarko
Created August 18, 2022 06:13
Show Gist options
  • Save KolevDarko/b4c82e17d58863dde91a311c514df538 to your computer and use it in GitHub Desktop.
Save KolevDarko/b4c82e17d58863dde91a311c514df538 to your computer and use it in GitHub Desktop.
function payoutSubscription(uint256 subscriptionId) public {
Subscription memory sub = subscriptions[subscriptionId];
require(sub.active, 'subscription inactive');
require((block.timestamp - sub.lastPayout) >= sub.payoutPeriod, 'Too soon');
subscriptions[subscriptionId].lastPayout = block.timestamp;
require(IERC20(sub.token).transferFrom(sub.payer, sub.receiver, sub.amount), 'transfer from failed');
emit Payout(subscriptionId, sub.amount, sub.token);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment