Token Conversion
Last updated
Last updated
Get the token conversion service with maker.service('conversion').
The token conversion service offers functions to convert between Eth, Weth and Peth, handling allowances when necessary.
Params: amount of Eth to convert
Returns: promise (resolves to transactionObject once mined)
Note: this is the same as weth.deposit
convertEthToWeth
deposits ETH into the WETH contract
Params: amount of Weth to convert
Returns: promise (resolves to transactionObject once mined)
convertWethToPeth
joins WETH into PETH, first giving token allowance if necessary.
Note: this process is not atomic if a token allowance needs to be set, so it's possible for one of the transactions to succeed but not both. See for executing multiple transactions atomically. Also, can be called instead if you do not want the allowance to be set first automatically.
Params: amount of Eth to convert
Returns: promise (resolves to transactionObject once mined)
convertEthToPeth
awaits convertEthToWeth, then calls convertWethToPeth
Note: this process is not atomic, so it's possible for some of the transactions to succeed but not all. See Using DsProxy for executing multiple transactions atomically.
Params: amount of Weth to convert
Returns: promise (resolves to transactionObject once mined)
convertWethToEth
withdraws Eth from Weth contract
Note: this is the same as weth.withdraw
Params: amount of Peth to convert
Returns: promise (resolves to transactionObject once mined)
convertPethToWeth
exits PETH into WETH, first giving token allowance if necessary
Note: this process is not atomic if a token allowance needs to be set, so it's possible for one of the transactions to succeed but not both. See Using DsProxy for executing multiple transactions atomically. Also, peth.exit can be called instead if you do not want the allowance to be set first automatically.
Params: amount of Peth to convert
Returns: promise (resolves to transactionObject once mined)
convertPethToEth
awaits convertPethToWeth, then calls convertWethToEth
Note: this process is not atomic, so it's possible for some of the transactions to succeed but not all. See Using DsProxy for executing multiple transactions atomically.