@faast/ethereum-payments
Version:
Library to assist in processing ethereum payments, such as deriving addresses and sweeping funds
14 lines • 693 B
JavaScript
const Web3 = require('web3');
const web3 = new Web3({});
import { TOKEN_PROXY_DATA } from '../constants';
export function deriveAddress(creatorAddress, salt, hashed = false) {
const address = creatorAddress.replace(/0x/, '').toLowerCase();
const proxy = web3.utils.sha3(TOKEN_PROXY_DATA.replace(/<address to proxy>/g, address))
.replace(/0x/, '').toLowerCase();
let saltHash = (hashed ? salt : web3.utils.sha3(`0x${salt}`)).replace(/0x/, '').toLowerCase();
while (saltHash.length < 64) {
saltHash = `0${saltHash}`;
}
return `0x${web3.utils.sha3(`0xff${address}${saltHash}${proxy}`).slice(-40)}`.toLowerCase();
}
//# sourceMappingURL=deriveAddress.js.map