4import type { HDNodeWallet } from 'ethers' 6export const makePeatWalletGetters = (getWal: () => HDNodeWallet) => { 7 let _registered = false, _wal: HDNodeWallet | undefined, _scratch: HDNodeWallet | null = null, _testfund: HDNodeWallet | null = null 9 const getPeatWal = () => { 12 assertDefined(_wal.address === peatWalAddr && peatWalAddr, {peatWalAddr, actual: _wal.address}) 20 const getPeatScratchWallet = () => { 22 const peatWal = getPeatWal() 23 _scratch = peatWal.deriveChild(0) 24 assertDefined(_scratch.address === peatScratchAddr && peatScratchAddr, {peatScratchAddr, actual: _scratch.address}) 30 const getPeatTestfundWallet = () => { 32 getPeatScratchWallet() 33 _testfund = getPeatWal().deriveChild(1) 34 assertDefined(_testfund.address === peatTestfundAddr && peatTestfundAddr, {peatTestfundAddr, actual: _testfund.address}) 40 return { getPeatWal, getPeatScratchWallet, getPeatTestfundWallet }