Skip to content

Commit

Permalink
Merge pull request #76 from ensdomains/sendName-update
Browse files Browse the repository at this point in the history
Send name update
  • Loading branch information
LeonmanRolls authored Nov 7, 2022
2 parents a410832 + 156abf9 commit e625001
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions packages/ensjs/src/functions/transferName.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ export default async function (
{
newOwner,
contract,
reclaim,
}: {
newOwner: string
contract: 'registry' | 'nameWrapper' | 'baseRegistrar'
reclaim?: boolean
},
) {
const address = await signer.getAddress()
Expand All @@ -28,13 +30,16 @@ export default async function (
if (labels.length > 2 || labels[labels.length - 1] !== 'eth') {
throw new Error('Invalid name for baseRegistrar')
}
const tokenId = ethers.utils.solidityKeccak256(['string'], [labels[0]])

// reclaim if sending manager on unwrapped name
if (reclaim) {
return baseRegistrar.populateTransaction.reclaim(tokenId, newOwner)
}

return baseRegistrar.populateTransaction[
'safeTransferFrom(address,address,uint256)'
](
address,
newOwner,
ethers.utils.solidityKeccak256(['string'], [labels[0]]),
)
](address, newOwner, tokenId)
}
case 'nameWrapper': {
const nameWrapper = (await contracts?.getNameWrapper())!.connect(signer)
Expand Down

0 comments on commit e625001

Please sign in to comment.