scenario_B_3_config = ({
initialReserveTokenBalances: [
['0x0', 0],
['protocol', 5000],
['curator1', 1000],
['curator2', 1000],
],
actions: [
{ type: "MINT", target: 'nestedCurve', args: ['curator1', 1000] },
{ type: "MINT", target: 'nestedCurve', args: ['curator2', 1000] },
(_, { outerShareBalances } ) =>
({ type: "BURN", target: 'nestedCurve', args: ['curator2', outerShareBalances['curator2']] }),
],
recordState: ({ nestedCurve, innerCurve, outerCurve, reserveToken }) => ({
outerShareBalances: Object.fromEntries(nestedCurve.outerCurve.shareToken.balances.entries()),
outerCurvePrice: outerCurve.price,
outerCurvePricePerHundredth: outerCurve.pricePerHundredth,
outerShares: outerCurve.shares,
reserveTokenBalances: Object.fromEntries(reserveToken.balances.entries()),
innerCostBases: Object.fromEntries(nestedCurve.innerCurve.shareToken.costBases.entries()),
innerShareTokenBalances: Object.fromEntries(nestedCurve.innerCurve.shareToken.balances.entries()),
innerShares: innerCurve.shares,
innerCurvePrice: innerCurve.price,
innerCurvePricePerHundredth: innerCurve.pricePerHundredth,
})
})