Token Conversion
Get the token conversion service with maker.service('conversion').
const conversionService = maker.service('conversion');
The token conversion service offers functions to convert between Eth, Weth and Peth, handling allowances when necessary.
return await conversionService.convertEthToWeth(ETH(10));
- 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 contractreturn await conversionService.convertWethToPeth(WETH(10));
- 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 DsProxy for executing multiple transactions atomically. Also, peth.join can be called instead if you do not want the allowance to be set first automatically.
return await conversionService.convertEthToPeth(ETH(10));
- Params: amount of Eth to convert
- Returns: promise (resolves to transactionObject once mined)
convertEthToPeth
awaits convertEthToWeth, then calls convertWethToPethNote: 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.
return await conversionService.convertconvertWethToEth(WETH(10));
- Params: amount of Weth to convert
- Returns: promise (resolves to transactionObject once mined)
convertWethToEth
withdraws Eth from Weth contractNote: this is the same as weth.withdraw
return await conversionService.convertPethToWeth(PETH(10));
- Params: amount of Peth to convert
- Returns: promise (resolves to transactionObject once mined)
convertPethToWeth
exits PETH into WETH, first giving token allowance if necessaryNote: 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.
return await conversionService.convertPethToEth(PETH(10));
- Params: amount of Peth to convert
- Returns: promise (resolves to transactionObject once mined)
convertPethToEth
awaits convertPethToWeth, then calls convertWethToEthNote: 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.
Last modified 3yr ago