Feb 12, 2024

Add Rico to UniswapV3 NFT Ilk

The UniswapV3 NFT ilk accepts positions containing any of a set of gems not including Rico. This change configures the ilk so that it can accept Rico. It sets Rico’s liqr to 1.01 and src to a Feedbase adapter that returns par.

Address: arb1:0x598C6c1cd9459F882530FC9D7dA438CB74C6CB3b

Data 0: 0xbfbcf1363a756e696e66740000000000000000000000000000000000000000000000000073726300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080d678602a85ceee1c3d28ad35c167a5a680ce02ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000015374ecc160a4bd68446b43b5a6b132f9c001c54c000000000000000000000000

Data 1: 0xbfbcf1363a756e696e6674000000000000000000000000000000000000000000000000006c6971720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000034373d1b5e48187447b390000000000000000000000000000000000000000000000000000000000000000015374ecc160a4bd68446b43b5a6b132f9c001c54c000000000000000000000000

How we got it:

> dapp = await dpack.load('bafkreibgmj3srxcccdbgvo3sdsfrcm36hv7pmw7nofcwfghjvqfe5zuffa', ethers, ali)
> bank = dapp.bank
> bn2b32 = (bn) => ethers.utils.hexZeroPad(bn.toHexString(), 32)
> txdata0 = bank.interface.encodeFunctionData('filh', [b32(':uninft'), b32('src'), [dapp.rico.address + '00'.repeat(12)], dapp.paradapter.address + '00'.repeat(12)])
> txdata1 = bank.interface.encodeFunctionData('filh', [b32(':uninft'), b32('liqr'), [dapp.rico.address + '00'.repeat(12)], bn2b32(require('minihat').ray(1.01))])