Skip to main content

Delegate

What everyone needs to know​

  • A delegate contract is a way of providing extensions to a treasury that augments the default JBPayoutRedemptionPaymentTerminal3_1_1 behavior.
  • Pay delegates include a custom didPay(...) hook that will execute after all of the default protocol pay logic has successfully executed in the terminal contract. The hook is passed a bunch of contextual information via a JBDidPayData data structure.
  • Redemption delegates include a custom didRedeem(...) hook that will execute after all of the default protocol redeem logic has successfully executed in the terminal contract. The hook is passed a bunch of contextual information via a JBDidRedeemData data structure. The didRedeem(...) hook gets called before any reclaimed tokens are transferred out of the terminal contract.
  • Each IJBPaymentTerminal fork can leverage delegates in unique ways.

What you'll want to know if you're building​

Get started building pay delegates.

Get started building redemption delegates.