Common Transactions
This is a list of the most common user-facing transactions possible in the PERI Finance ecosystem, and the events they emit on success.
Staking (Minting/Issuing) pUSD
Called contract: ProxyERC20
Target (underlying) contract: PeriFinance
Methods:
issuePynths(uint256 amount)issuePynthsOnBehalf(address user, uint256)issueMaxPynths()issueMaxPynthsOnBehalf(address user)
Events Emitted:
On a successful transaction, the following events occur:
Transferfrom0x0toaccountforamountemitted onProxypUSDIssuedamounttoaccountemitted onProxypUSDIssuanceDebtRatioEntryemitted onProxyFeePool
Unstaking (Burning) pUSD
More info
Check out our unstaking walkthru for more information
Called contract: ProxyERC20
Target (underlying) contract: PeriFinance
Methods:
burnPynths(uint256 amount)burnPynthsOnBehalf(address user, uint256 amount)burnPynthsToTarget()burnPynthsToTargetOnBehalf(address user)
Events Emitted:
On a successful transaction, the following events occur:
Transferfromaccountto0x0foramountemitted onProxypUSDBurnedamountfromaccountemitted onProxypUSDIssuanceDebtRatioEntryemitted onProxyFeePool
Claiming Fees
Check out our claiming walkthrough for more information
Called contract: ProxyFeePool
Target (underlying) contract: FeePool
Methods:
claimFees()claimOnBehalf(address user)
Events Emitted:
On a successful transaction, the following events occur:
TransferfromFEE_ADDRESSto0x0foramountemitted onProxypUSDBurnedamountfromFEE_ADDRESSemitted onProxypUSDTransferfrom0x0toaccountforamountemitted onProxypUSDIssuedamounttoaccountemitted onProxypUSDVestingEntryCreatedemitted onRewardEscrowFeesClaimedemitted onProxyFeePool
Trading (Exchanging) pynths
Check out our trading walkthrough for more information
Called contract: ProxyERC20
Target (underlying) contract: PeriFinance
Methods:
exchange(bytes32 src, uint256 fromAmount, bytes32 dest)exchangeOnBehalf(address user, bytes32 src, uint256 fromAmount, bytes32 dest)
Events Emitted:
On a successful transaction, the following events occur:
Fee Reclamation 
If fees are owing on the src pynth, these events come first:
Transferfromaccountto0x0forfeesOwingemitted onProxy<pynth>for thesrcpynth.BurnedfeesOwingfromaccountemitted onProxy<pynth>for thesrcpynth.ExchangeReclaimfromaccountforfeesOwingonsrcsynth emitted onProxySynthetix
Else if fees are owed on the src pynth, then these events come first:
Transferfrom0x0toaccountforfeesOwedemitted onProxy<pynth>for thesrcpynth.IssuedfeesOwedtoaccountemitted onProxy<synth>for thesrcsynth.ExchangeRebatefromaccountforfeesOwedonsrcpynth emitted onProxySynthetix
For every exchange, the following events then occur:
Transferfromaccountto0x0forfromAmountemitted onProxy<pynth>for thesrcpynth.BurnedfromAmountfromaccountemitted onProxy<pynth>for thesrcpynth.Transferfrom0x0toaccountfortoAmount - feeemitted on onProxy<pynth>for thedestpynth.IssuedtoAmount - feetoaccountemitted onProxy<pynth>for thedestpynth.Transferfrom0x0toFEE_ADDRESSforfeeemitted onProxypUSDIssuedamounttoFEE_ADDRESSemitted onProxypUSDPynthExchangeforaccountemitted onProxySynthetix
Last updated
Was this helpful?