From 1c27b1f51f51e82f8801adfb315d639a6d099b7f Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Fri, 20 Mar 2026 15:14:04 +0000 Subject: [PATCH 1/2] [#56] Update bonding curve to 500-step exponential via updateCurve() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hardcoded exact 500 data points from issue #56 (source of truth). Ran on mainnet — tx succeeded. Verified on-chain: Step 0: 0.001, Step 1: 0.0010068, Step 499: 1.8882421 Test storyline PL-16 created with new curve (priceForNextMint = 0.001). Co-Authored-By: Claude Opus 4.6 (1M context) --- script/UpdateCurve.s.sol | 1078 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 1078 insertions(+) create mode 100644 script/UpdateCurve.s.sol diff --git a/script/UpdateCurve.s.sol b/script/UpdateCurve.s.sol new file mode 100644 index 0000000..c74c69d --- /dev/null +++ b/script/UpdateCurve.s.sol @@ -0,0 +1,1078 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +import {Script, console} from "forge-std/Script.sol"; +import {StoryFactory} from "../src/StoryFactory.sol"; + +/// @title UpdateCurve — Apply 500-step exponential bonding curve to v3 StoryFactory +/// @notice Hardcoded values from plotlink-contracts#56 (source of truth) +contract UpdateCurve is Script { + StoryFactory constant FACTORY = StoryFactory(0x337c5b96f03fB335b433291695A4171fd5dED8B0); + + function run() external { + uint128[] memory r = new uint128[](500); + uint128[] memory p = new uint128[](500); + + _fillRanges(r); + _fillPrices(p); + + console.log("Step count:", r.length); + console.log("Step 0 price (wei):", p[0]); + console.log("Step 1 price (wei):", p[1]); + console.log("Step 499 price (wei):", p[499]); + + uint256 deployerKey = vm.envUint("DEPLOYER_PRIVATE_KEY"); + vm.startBroadcast(deployerKey); + FACTORY.updateCurve(r, p); + vm.stopBroadcast(); + + console.log("updateCurve() called successfully"); + } + + function _fillRanges(uint128[] memory r) internal pure { + _fillRanges_0_100(r); + _fillRanges_100_200(r); + _fillRanges_200_300(r); + _fillRanges_300_400(r); + _fillRanges_400_500(r); + } + + function _fillRanges_0_100(uint128[] memory r) internal pure { + r[0] = 2000000000000000000000; + r[1] = 4000000000000000000000; + r[2] = 6000000000000000000000; + r[3] = 8000000000000000000000; + r[4] = 10000000000000000000000; + r[5] = 12000000000000000000000; + r[6] = 14000000000000000000000; + r[7] = 16000000000000000000000; + r[8] = 18000000000000000000000; + r[9] = 20000000000000000000000; + r[10] = 22000000000000000000000; + r[11] = 24000000000000000000000; + r[12] = 26000000000000000000000; + r[13] = 28000000000000000000000; + r[14] = 30000000000000000000000; + r[15] = 32000000000000000000000; + r[16] = 34000000000000000000000; + r[17] = 36000000000000000000000; + r[18] = 38000000000000000000000; + r[19] = 40000000000000000000000; + r[20] = 42000000000000000000000; + r[21] = 44000000000000000000000; + r[22] = 46000000000000000000000; + r[23] = 48000000000000000000000; + r[24] = 50000000000000000000000; + r[25] = 52000000000000000000000; + r[26] = 54000000000000000000000; + r[27] = 56000000000000000000000; + r[28] = 58000000000000000000000; + r[29] = 60000000000000000000000; + r[30] = 62000000000000000000000; + r[31] = 64000000000000000000000; + r[32] = 66000000000000000000000; + r[33] = 68000000000000000000000; + r[34] = 70000000000000000000000; + r[35] = 72000000000000000000000; + r[36] = 74000000000000000000000; + r[37] = 76000000000000000000000; + r[38] = 78000000000000000000000; + r[39] = 80000000000000000000000; + r[40] = 82000000000000000000000; + r[41] = 84000000000000000000000; + r[42] = 86000000000000000000000; + r[43] = 88000000000000000000000; + r[44] = 90000000000000000000000; + r[45] = 92000000000000000000000; + r[46] = 94000000000000000000000; + r[47] = 96000000000000000000000; + r[48] = 98000000000000000000000; + r[49] = 100000000000000000000000; + r[50] = 102000000000000000000000; + r[51] = 104000000000000000000000; + r[52] = 106000000000000000000000; + r[53] = 108000000000000000000000; + r[54] = 110000000000000000000000; + r[55] = 112000000000000000000000; + r[56] = 114000000000000000000000; + r[57] = 116000000000000000000000; + r[58] = 118000000000000000000000; + r[59] = 120000000000000000000000; + r[60] = 122000000000000000000000; + r[61] = 124000000000000000000000; + r[62] = 126000000000000000000000; + r[63] = 128000000000000000000000; + r[64] = 130000000000000000000000; + r[65] = 132000000000000000000000; + r[66] = 134000000000000000000000; + r[67] = 136000000000000000000000; + r[68] = 138000000000000000000000; + r[69] = 140000000000000000000000; + r[70] = 142000000000000000000000; + r[71] = 144000000000000000000000; + r[72] = 146000000000000000000000; + r[73] = 148000000000000000000000; + r[74] = 150000000000000000000000; + r[75] = 152000000000000000000000; + r[76] = 154000000000000000000000; + r[77] = 156000000000000000000000; + r[78] = 158000000000000000000000; + r[79] = 160000000000000000000000; + r[80] = 162000000000000000000000; + r[81] = 164000000000000000000000; + r[82] = 166000000000000000000000; + r[83] = 168000000000000000000000; + r[84] = 170000000000000000000000; + r[85] = 172000000000000000000000; + r[86] = 174000000000000000000000; + r[87] = 176000000000000000000000; + r[88] = 178000000000000000000000; + r[89] = 180000000000000000000000; + r[90] = 182000000000000000000000; + r[91] = 184000000000000000000000; + r[92] = 186000000000000000000000; + r[93] = 188000000000000000000000; + r[94] = 190000000000000000000000; + r[95] = 192000000000000000000000; + r[96] = 194000000000000000000000; + r[97] = 196000000000000000000000; + r[98] = 198000000000000000000000; + r[99] = 200000000000000000000000; + } + + function _fillRanges_100_200(uint128[] memory r) internal pure { + r[100] = 202000000000000000000000; + r[101] = 204000000000000000000000; + r[102] = 206000000000000000000000; + r[103] = 208000000000000000000000; + r[104] = 210000000000000000000000; + r[105] = 212000000000000000000000; + r[106] = 214000000000000000000000; + r[107] = 216000000000000000000000; + r[108] = 218000000000000000000000; + r[109] = 220000000000000000000000; + r[110] = 222000000000000000000000; + r[111] = 224000000000000000000000; + r[112] = 226000000000000000000000; + r[113] = 228000000000000000000000; + r[114] = 230000000000000000000000; + r[115] = 232000000000000000000000; + r[116] = 234000000000000000000000; + r[117] = 236000000000000000000000; + r[118] = 238000000000000000000000; + r[119] = 240000000000000000000000; + r[120] = 242000000000000000000000; + r[121] = 244000000000000000000000; + r[122] = 246000000000000000000000; + r[123] = 248000000000000000000000; + r[124] = 250000000000000000000000; + r[125] = 252000000000000000000000; + r[126] = 254000000000000000000000; + r[127] = 256000000000000000000000; + r[128] = 258000000000000000000000; + r[129] = 260000000000000000000000; + r[130] = 262000000000000000000000; + r[131] = 264000000000000000000000; + r[132] = 266000000000000000000000; + r[133] = 268000000000000000000000; + r[134] = 270000000000000000000000; + r[135] = 272000000000000000000000; + r[136] = 274000000000000000000000; + r[137] = 276000000000000000000000; + r[138] = 278000000000000000000000; + r[139] = 280000000000000000000000; + r[140] = 282000000000000000000000; + r[141] = 284000000000000000000000; + r[142] = 286000000000000000000000; + r[143] = 288000000000000000000000; + r[144] = 290000000000000000000000; + r[145] = 292000000000000000000000; + r[146] = 294000000000000000000000; + r[147] = 296000000000000000000000; + r[148] = 298000000000000000000000; + r[149] = 300000000000000000000000; + r[150] = 302000000000000000000000; + r[151] = 304000000000000000000000; + r[152] = 306000000000000000000000; + r[153] = 308000000000000000000000; + r[154] = 310000000000000000000000; + r[155] = 312000000000000000000000; + r[156] = 314000000000000000000000; + r[157] = 316000000000000000000000; + r[158] = 318000000000000000000000; + r[159] = 320000000000000000000000; + r[160] = 322000000000000000000000; + r[161] = 324000000000000000000000; + r[162] = 326000000000000000000000; + r[163] = 328000000000000000000000; + r[164] = 330000000000000000000000; + r[165] = 332000000000000000000000; + r[166] = 334000000000000000000000; + r[167] = 336000000000000000000000; + r[168] = 338000000000000000000000; + r[169] = 340000000000000000000000; + r[170] = 342000000000000000000000; + r[171] = 344000000000000000000000; + r[172] = 346000000000000000000000; + r[173] = 348000000000000000000000; + r[174] = 350000000000000000000000; + r[175] = 352000000000000000000000; + r[176] = 354000000000000000000000; + r[177] = 356000000000000000000000; + r[178] = 358000000000000000000000; + r[179] = 360000000000000000000000; + r[180] = 362000000000000000000000; + r[181] = 364000000000000000000000; + r[182] = 366000000000000000000000; + r[183] = 368000000000000000000000; + r[184] = 370000000000000000000000; + r[185] = 372000000000000000000000; + r[186] = 374000000000000000000000; + r[187] = 376000000000000000000000; + r[188] = 378000000000000000000000; + r[189] = 380000000000000000000000; + r[190] = 382000000000000000000000; + r[191] = 384000000000000000000000; + r[192] = 386000000000000000000000; + r[193] = 388000000000000000000000; + r[194] = 390000000000000000000000; + r[195] = 392000000000000000000000; + r[196] = 394000000000000000000000; + r[197] = 396000000000000000000000; + r[198] = 398000000000000000000000; + r[199] = 400000000000000000000000; + } + + function _fillRanges_200_300(uint128[] memory r) internal pure { + r[200] = 402000000000000000000000; + r[201] = 404000000000000000000000; + r[202] = 406000000000000000000000; + r[203] = 408000000000000000000000; + r[204] = 410000000000000000000000; + r[205] = 412000000000000000000000; + r[206] = 414000000000000000000000; + r[207] = 416000000000000000000000; + r[208] = 418000000000000000000000; + r[209] = 420000000000000000000000; + r[210] = 422000000000000000000000; + r[211] = 424000000000000000000000; + r[212] = 426000000000000000000000; + r[213] = 428000000000000000000000; + r[214] = 430000000000000000000000; + r[215] = 432000000000000000000000; + r[216] = 434000000000000000000000; + r[217] = 436000000000000000000000; + r[218] = 438000000000000000000000; + r[219] = 440000000000000000000000; + r[220] = 442000000000000000000000; + r[221] = 444000000000000000000000; + r[222] = 446000000000000000000000; + r[223] = 448000000000000000000000; + r[224] = 450000000000000000000000; + r[225] = 452000000000000000000000; + r[226] = 454000000000000000000000; + r[227] = 456000000000000000000000; + r[228] = 458000000000000000000000; + r[229] = 460000000000000000000000; + r[230] = 462000000000000000000000; + r[231] = 464000000000000000000000; + r[232] = 466000000000000000000000; + r[233] = 468000000000000000000000; + r[234] = 470000000000000000000000; + r[235] = 472000000000000000000000; + r[236] = 474000000000000000000000; + r[237] = 476000000000000000000000; + r[238] = 478000000000000000000000; + r[239] = 480000000000000000000000; + r[240] = 482000000000000000000000; + r[241] = 484000000000000000000000; + r[242] = 486000000000000000000000; + r[243] = 488000000000000000000000; + r[244] = 490000000000000000000000; + r[245] = 492000000000000000000000; + r[246] = 494000000000000000000000; + r[247] = 496000000000000000000000; + r[248] = 498000000000000000000000; + r[249] = 500000000000000000000000; + r[250] = 502000000000000000000000; + r[251] = 504000000000000000000000; + r[252] = 506000000000000000000000; + r[253] = 508000000000000000000000; + r[254] = 510000000000000000000000; + r[255] = 512000000000000000000000; + r[256] = 514000000000000000000000; + r[257] = 516000000000000000000000; + r[258] = 518000000000000000000000; + r[259] = 520000000000000000000000; + r[260] = 522000000000000000000000; + r[261] = 524000000000000000000000; + r[262] = 526000000000000000000000; + r[263] = 528000000000000000000000; + r[264] = 530000000000000000000000; + r[265] = 532000000000000000000000; + r[266] = 534000000000000000000000; + r[267] = 536000000000000000000000; + r[268] = 538000000000000000000000; + r[269] = 540000000000000000000000; + r[270] = 542000000000000000000000; + r[271] = 544000000000000000000000; + r[272] = 546000000000000000000000; + r[273] = 548000000000000000000000; + r[274] = 550000000000000000000000; + r[275] = 552000000000000000000000; + r[276] = 554000000000000000000000; + r[277] = 556000000000000000000000; + r[278] = 558000000000000000000000; + r[279] = 560000000000000000000000; + r[280] = 562000000000000000000000; + r[281] = 564000000000000000000000; + r[282] = 566000000000000000000000; + r[283] = 568000000000000000000000; + r[284] = 570000000000000000000000; + r[285] = 572000000000000000000000; + r[286] = 574000000000000000000000; + r[287] = 576000000000000000000000; + r[288] = 578000000000000000000000; + r[289] = 580000000000000000000000; + r[290] = 582000000000000000000000; + r[291] = 584000000000000000000000; + r[292] = 586000000000000000000000; + r[293] = 588000000000000000000000; + r[294] = 590000000000000000000000; + r[295] = 592000000000000000000000; + r[296] = 594000000000000000000000; + r[297] = 596000000000000000000000; + r[298] = 598000000000000000000000; + r[299] = 600000000000000000000000; + } + + function _fillRanges_300_400(uint128[] memory r) internal pure { + r[300] = 602000000000000000000000; + r[301] = 604000000000000000000000; + r[302] = 606000000000000000000000; + r[303] = 608000000000000000000000; + r[304] = 610000000000000000000000; + r[305] = 612000000000000000000000; + r[306] = 614000000000000000000000; + r[307] = 616000000000000000000000; + r[308] = 618000000000000000000000; + r[309] = 620000000000000000000000; + r[310] = 622000000000000000000000; + r[311] = 624000000000000000000000; + r[312] = 626000000000000000000000; + r[313] = 628000000000000000000000; + r[314] = 630000000000000000000000; + r[315] = 632000000000000000000000; + r[316] = 634000000000000000000000; + r[317] = 636000000000000000000000; + r[318] = 638000000000000000000000; + r[319] = 640000000000000000000000; + r[320] = 642000000000000000000000; + r[321] = 644000000000000000000000; + r[322] = 646000000000000000000000; + r[323] = 648000000000000000000000; + r[324] = 650000000000000000000000; + r[325] = 652000000000000000000000; + r[326] = 654000000000000000000000; + r[327] = 656000000000000000000000; + r[328] = 658000000000000000000000; + r[329] = 660000000000000000000000; + r[330] = 662000000000000000000000; + r[331] = 664000000000000000000000; + r[332] = 666000000000000000000000; + r[333] = 668000000000000000000000; + r[334] = 670000000000000000000000; + r[335] = 672000000000000000000000; + r[336] = 674000000000000000000000; + r[337] = 676000000000000000000000; + r[338] = 678000000000000000000000; + r[339] = 680000000000000000000000; + r[340] = 682000000000000000000000; + r[341] = 684000000000000000000000; + r[342] = 686000000000000000000000; + r[343] = 688000000000000000000000; + r[344] = 690000000000000000000000; + r[345] = 692000000000000000000000; + r[346] = 694000000000000000000000; + r[347] = 696000000000000000000000; + r[348] = 698000000000000000000000; + r[349] = 700000000000000000000000; + r[350] = 702000000000000000000000; + r[351] = 704000000000000000000000; + r[352] = 706000000000000000000000; + r[353] = 708000000000000000000000; + r[354] = 710000000000000000000000; + r[355] = 712000000000000000000000; + r[356] = 714000000000000000000000; + r[357] = 716000000000000000000000; + r[358] = 718000000000000000000000; + r[359] = 720000000000000000000000; + r[360] = 722000000000000000000000; + r[361] = 724000000000000000000000; + r[362] = 726000000000000000000000; + r[363] = 728000000000000000000000; + r[364] = 730000000000000000000000; + r[365] = 732000000000000000000000; + r[366] = 734000000000000000000000; + r[367] = 736000000000000000000000; + r[368] = 738000000000000000000000; + r[369] = 740000000000000000000000; + r[370] = 742000000000000000000000; + r[371] = 744000000000000000000000; + r[372] = 746000000000000000000000; + r[373] = 748000000000000000000000; + r[374] = 750000000000000000000000; + r[375] = 752000000000000000000000; + r[376] = 754000000000000000000000; + r[377] = 756000000000000000000000; + r[378] = 758000000000000000000000; + r[379] = 760000000000000000000000; + r[380] = 762000000000000000000000; + r[381] = 764000000000000000000000; + r[382] = 766000000000000000000000; + r[383] = 768000000000000000000000; + r[384] = 770000000000000000000000; + r[385] = 772000000000000000000000; + r[386] = 774000000000000000000000; + r[387] = 776000000000000000000000; + r[388] = 778000000000000000000000; + r[389] = 780000000000000000000000; + r[390] = 782000000000000000000000; + r[391] = 784000000000000000000000; + r[392] = 786000000000000000000000; + r[393] = 788000000000000000000000; + r[394] = 790000000000000000000000; + r[395] = 792000000000000000000000; + r[396] = 794000000000000000000000; + r[397] = 796000000000000000000000; + r[398] = 798000000000000000000000; + r[399] = 800000000000000000000000; + } + + function _fillRanges_400_500(uint128[] memory r) internal pure { + r[400] = 802000000000000000000000; + r[401] = 804000000000000000000000; + r[402] = 806000000000000000000000; + r[403] = 808000000000000000000000; + r[404] = 810000000000000000000000; + r[405] = 812000000000000000000000; + r[406] = 814000000000000000000000; + r[407] = 816000000000000000000000; + r[408] = 818000000000000000000000; + r[409] = 820000000000000000000000; + r[410] = 822000000000000000000000; + r[411] = 824000000000000000000000; + r[412] = 826000000000000000000000; + r[413] = 828000000000000000000000; + r[414] = 830000000000000000000000; + r[415] = 832000000000000000000000; + r[416] = 834000000000000000000000; + r[417] = 836000000000000000000000; + r[418] = 838000000000000000000000; + r[419] = 840000000000000000000000; + r[420] = 842000000000000000000000; + r[421] = 844000000000000000000000; + r[422] = 846000000000000000000000; + r[423] = 848000000000000000000000; + r[424] = 850000000000000000000000; + r[425] = 852000000000000000000000; + r[426] = 854000000000000000000000; + r[427] = 856000000000000000000000; + r[428] = 858000000000000000000000; + r[429] = 860000000000000000000000; + r[430] = 862000000000000000000000; + r[431] = 864000000000000000000000; + r[432] = 866000000000000000000000; + r[433] = 868000000000000000000000; + r[434] = 870000000000000000000000; + r[435] = 872000000000000000000000; + r[436] = 874000000000000000000000; + r[437] = 876000000000000000000000; + r[438] = 878000000000000000000000; + r[439] = 880000000000000000000000; + r[440] = 882000000000000000000000; + r[441] = 884000000000000000000000; + r[442] = 886000000000000000000000; + r[443] = 888000000000000000000000; + r[444] = 890000000000000000000000; + r[445] = 892000000000000000000000; + r[446] = 894000000000000000000000; + r[447] = 896000000000000000000000; + r[448] = 898000000000000000000000; + r[449] = 900000000000000000000000; + r[450] = 902000000000000000000000; + r[451] = 904000000000000000000000; + r[452] = 906000000000000000000000; + r[453] = 908000000000000000000000; + r[454] = 910000000000000000000000; + r[455] = 912000000000000000000000; + r[456] = 914000000000000000000000; + r[457] = 916000000000000000000000; + r[458] = 918000000000000000000000; + r[459] = 920000000000000000000000; + r[460] = 922000000000000000000000; + r[461] = 924000000000000000000000; + r[462] = 926000000000000000000000; + r[463] = 928000000000000000000000; + r[464] = 930000000000000000000000; + r[465] = 932000000000000000000000; + r[466] = 934000000000000000000000; + r[467] = 936000000000000000000000; + r[468] = 938000000000000000000000; + r[469] = 940000000000000000000000; + r[470] = 942000000000000000000000; + r[471] = 944000000000000000000000; + r[472] = 946000000000000000000000; + r[473] = 948000000000000000000000; + r[474] = 950000000000000000000000; + r[475] = 952000000000000000000000; + r[476] = 954000000000000000000000; + r[477] = 956000000000000000000000; + r[478] = 958000000000000000000000; + r[479] = 960000000000000000000000; + r[480] = 962000000000000000000000; + r[481] = 964000000000000000000000; + r[482] = 966000000000000000000000; + r[483] = 968000000000000000000000; + r[484] = 970000000000000000000000; + r[485] = 972000000000000000000000; + r[486] = 974000000000000000000000; + r[487] = 976000000000000000000000; + r[488] = 978000000000000000000000; + r[489] = 980000000000000000000000; + r[490] = 982000000000000000000000; + r[491] = 984000000000000000000000; + r[492] = 986000000000000000000000; + r[493] = 988000000000000000000000; + r[494] = 990000000000000000000000; + r[495] = 992000000000000000000000; + r[496] = 994000000000000000000000; + r[497] = 996000000000000000000000; + r[498] = 998000000000000000000000; + r[499] = 1000000000000000000000000; + } + + function _fillPrices(uint128[] memory p) internal pure { + _fillPrices_0_100(p); + _fillPrices_100_200(p); + _fillPrices_200_300(p); + _fillPrices_300_400(p); + _fillPrices_400_500(p); + } + + function _fillPrices_0_100(uint128[] memory p) internal pure { + p[0] = 1000000000000000; + p[1] = 1006800000000000; + p[2] = 1013700000000000; + p[3] = 1020700000000000; + p[4] = 1027700000000000; + p[5] = 1034700000000000; + p[6] = 1041900000000000; + p[7] = 1049100000000000; + p[8] = 1056300000000000; + p[9] = 1063600000000000; + p[10] = 1071000000000000; + p[11] = 1078400000000000; + p[12] = 1085900000000000; + p[13] = 1093500000000000; + p[14] = 1101100000000000; + p[15] = 1108800000000000; + p[16] = 1116600000000000; + p[17] = 1124500000000000; + p[18] = 1132400000000000; + p[19] = 1140300000000000; + p[20] = 1148400000000000; + p[21] = 1156500000000000; + p[22] = 1164700000000000; + p[23] = 1173000000000000; + p[24] = 1181300000000000; + p[25] = 1189700000000000; + p[26] = 1198200000000000; + p[27] = 1206800000000000; + p[28] = 1215400000000000; + p[29] = 1224100000000000; + p[30] = 1232900000000000; + p[31] = 1241800000000000; + p[32] = 1250700000000000; + p[33] = 1259800000000000; + p[34] = 1268900000000000; + p[35] = 1278100000000000; + p[36] = 1287400000000000; + p[37] = 1296700000000000; + p[38] = 1306200000000000; + p[39] = 1315700000000000; + p[40] = 1325400000000000; + p[41] = 1335100000000000; + p[42] = 1344900000000000; + p[43] = 1354800000000000; + p[44] = 1364800000000000; + p[45] = 1374800000000000; + p[46] = 1385000000000000; + p[47] = 1395300000000000; + p[48] = 1405600000000000; + p[49] = 1416100000000000; + p[50] = 1426600000000000; + p[51] = 1437300000000000; + p[52] = 1448000000000000; + p[53] = 1458900000000000; + p[54] = 1469900000000000; + p[55] = 1480900000000000; + p[56] = 1492100000000000; + p[57] = 1503300000000000; + p[58] = 1514700000000000; + p[59] = 1526200000000000; + p[60] = 1537800000000000; + p[61] = 1549500000000000; + p[62] = 1561300000000000; + p[63] = 1573200000000000; + p[64] = 1585300000000000; + p[65] = 1597400000000000; + p[66] = 1609700000000000; + p[67] = 1622100000000000; + p[68] = 1634600000000000; + p[69] = 1647200000000000; + p[70] = 1660000000000000; + p[71] = 1672800000000000; + p[72] = 1685800000000000; + p[73] = 1699000000000000; + p[74] = 1712200000000000; + p[75] = 1725600000000000; + p[76] = 1739100000000000; + p[77] = 1752800000000000; + p[78] = 1766500000000000; + p[79] = 1780500000000000; + p[80] = 1794500000000000; + p[81] = 1808700000000000; + p[82] = 1823000000000000; + p[83] = 1837500000000000; + p[84] = 1852100000000000; + p[85] = 1866900000000000; + p[86] = 1881800000000000; + p[87] = 1896900000000000; + p[88] = 1912100000000000; + p[89] = 1927500000000000; + p[90] = 1943000000000000; + p[91] = 1958600000000000; + p[92] = 1974500000000000; + p[93] = 1990500000000000; + p[94] = 2006600000000000; + p[95] = 2023000000000000; + p[96] = 2039500000000000; + p[97] = 2056100000000000; + p[98] = 2072900000000000; + p[99] = 2089900000000000; + } + + function _fillPrices_100_200(uint128[] memory p) internal pure { + p[100] = 2107100000000000; + p[101] = 2124500000000000; + p[102] = 2142000000000000; + p[103] = 2159700000000000; + p[104] = 2177600000000000; + p[105] = 2195700000000000; + p[106] = 2214000000000000; + p[107] = 2232400000000000; + p[108] = 2251100000000000; + p[109] = 2269900000000000; + p[110] = 2289000000000000; + p[111] = 2308200000000000; + p[112] = 2327700000000000; + p[113] = 2347300000000000; + p[114] = 2367200000000000; + p[115] = 2387200000000000; + p[116] = 2407500000000000; + p[117] = 2428000000000000; + p[118] = 2448700000000000; + p[119] = 2469700000000000; + p[120] = 2490900000000000; + p[121] = 2512200000000000; + p[122] = 2533900000000000; + p[123] = 2555700000000000; + p[124] = 2577800000000000; + p[125] = 2600100000000000; + p[126] = 2622700000000000; + p[127] = 2645500000000000; + p[128] = 2668600000000000; + p[129] = 2691900000000000; + p[130] = 2715500000000000; + p[131] = 2739300000000000; + p[132] = 2763400000000000; + p[133] = 2787800000000000; + p[134] = 2812400000000000; + p[135] = 2837300000000000; + p[136] = 2862500000000000; + p[137] = 2888000000000000; + p[138] = 2913700000000000; + p[139] = 2939700000000000; + p[140] = 2966100000000000; + p[141] = 2992700000000000; + p[142] = 3019600000000000; + p[143] = 3046800000000000; + p[144] = 3074300000000000; + p[145] = 3102200000000000; + p[146] = 3130300000000000; + p[147] = 3158800000000000; + p[148] = 3187600000000000; + p[149] = 3216700000000000; + p[150] = 3246200000000000; + p[151] = 3276000000000000; + p[152] = 3306100000000000; + p[153] = 3336600000000000; + p[154] = 3367500000000000; + p[155] = 3398700000000000; + p[156] = 3430200000000000; + p[157] = 3462200000000000; + p[158] = 3494500000000000; + p[159] = 3527100000000000; + p[160] = 3560200000000000; + p[161] = 3593700000000000; + p[162] = 3627500000000000; + p[163] = 3661700000000000; + p[164] = 3696400000000000; + p[165] = 3731400000000000; + p[166] = 3766900000000000; + p[167] = 3802800000000000; + p[168] = 3839100000000000; + p[169] = 3875900000000000; + p[170] = 3913100000000000; + p[171] = 3950800000000000; + p[172] = 3988900000000000; + p[173] = 4027400000000000; + p[174] = 4066500000000000; + p[175] = 4106000000000000; + p[176] = 4145900000000000; + p[177] = 4186400000000000; + p[178] = 4227400000000000; + p[179] = 4268900000000000; + p[180] = 4310800000000000; + p[181] = 4353300000000000; + p[182] = 4396400000000000; + p[183] = 4439900000000000; + p[184] = 4484000000000000; + p[185] = 4528700000000000; + p[186] = 4573900000000000; + p[187] = 4619600000000000; + p[188] = 4666000000000000; + p[189] = 4712900000000000; + p[190] = 4760400000000000; + p[191] = 4808500000000000; + p[192] = 4857300000000000; + p[193] = 4906600000000000; + p[194] = 4956600000000000; + p[195] = 5007200000000000; + p[196] = 5058500000000000; + p[197] = 5110400000000000; + p[198] = 5163000000000000; + p[199] = 5216200000000000; + } + + function _fillPrices_200_300(uint128[] memory p) internal pure { + p[200] = 5270200000000000; + p[201] = 5324800000000000; + p[202] = 5380200000000000; + p[203] = 5436300000000000; + p[204] = 5493100000000000; + p[205] = 5550600000000000; + p[206] = 5608900000000000; + p[207] = 5668000000000000; + p[208] = 5727900000000000; + p[209] = 5788500000000000; + p[210] = 5850000000000000; + p[211] = 5912300000000000; + p[212] = 5975400000000000; + p[213] = 6039300000000000; + p[214] = 6104200000000000; + p[215] = 6169800000000000; + p[216] = 6236400000000000; + p[217] = 6303900000000000; + p[218] = 6372300000000000; + p[219] = 6441600000000000; + p[220] = 6511800000000000; + p[221] = 6583000000000000; + p[222] = 6655200000000000; + p[223] = 6728400000000000; + p[224] = 6802600000000000; + p[225] = 6877800000000000; + p[226] = 6954100000000000; + p[227] = 7031400000000000; + p[228] = 7109800000000000; + p[229] = 7189300000000000; + p[230] = 7269900000000000; + p[231] = 7351700000000000; + p[232] = 7434600000000000; + p[233] = 7518700000000000; + p[234] = 7603900000000000; + p[235] = 7690400000000000; + p[236] = 7778100000000000; + p[237] = 7867000000000001; + p[238] = 7957300000000000; + p[239] = 8048800000000000; + p[240] = 8141700000000000; + p[241] = 8235900000000001; + p[242] = 8331399999999999; + p[243] = 8428400000000001; + p[244] = 8526700000000000; + p[245] = 8626500000000000; + p[246] = 8727800000000001; + p[247] = 8830599999999999; + p[248] = 8934800000000000; + p[249] = 9040700000000000; + p[250] = 9148100000000000; + p[251] = 9257000000000000; + p[252] = 9367700000000000; + p[253] = 9479900000000000; + p[254] = 9593900000000000; + p[255] = 9709600000000000; + p[256] = 9827000000000000; + p[257] = 9946200000000000; + p[258] = 10067200000000000; + p[259] = 10190100000000000; + p[260] = 10314900000000000; + p[261] = 10441500000000000; + p[262] = 10570100000000000; + p[263] = 10700700000000000; + p[264] = 10833400000000000; + p[265] = 10968000000000000; + p[266] = 11104800000000000; + p[267] = 11243800000000000; + p[268] = 11384900000000000; + p[269] = 11528200000000000; + p[270] = 11673800000000000; + p[271] = 11821700000000000; + p[272] = 11971900000000000; + p[273] = 12124500000000000; + p[274] = 12279600000000000; + p[275] = 12437200000000000; + p[276] = 12597300000000000; + p[277] = 12759900000000000; + p[278] = 12925300000000000; + p[279] = 13093300000000000; + p[280] = 13264000000000000; + p[281] = 13437500000000000; + p[282] = 13613900000000000; + p[283] = 13793200000000000; + p[284] = 13975500000000000; + p[285] = 14160700000000000; + p[286] = 14349100000000000; + p[287] = 14540600000000000; + p[288] = 14735200000000000; + p[289] = 14933200000000000; + p[290] = 15134500000000000; + p[291] = 15339200000000000; + p[292] = 15547400000000000; + p[293] = 15759100000000002; + p[294] = 15974400000000000; + p[295] = 16193400000000000; + p[296] = 16416199999999998; + p[297] = 16642899999999998; + p[298] = 16873400000000000; + p[299] = 17108000000000002; + } + + function _fillPrices_300_400(uint128[] memory p) internal pure { + p[300] = 17346700000000000; + p[301] = 17589500000000000; + p[302] = 17836600000000002; + p[303] = 18088000000000000; + p[304] = 18343900000000000; + p[305] = 18604400000000000; + p[306] = 18869400000000000; + p[307] = 19139300000000000; + p[308] = 19413900000000000; + p[309] = 19693500000000000; + p[310] = 19978200000000000; + p[311] = 20268000000000000; + p[312] = 20563100000000000; + p[313] = 20863500000000000; + p[314] = 21169500000000000; + p[315] = 21481100000000000; + p[316] = 21798500000000000; + p[317] = 22121800000000000; + p[318] = 22451000000000000; + p[319] = 22786400000000000; + p[320] = 23128100000000000; + p[321] = 23476300000000000; + p[322] = 23831000000000000; + p[323] = 24192400000000000; + p[324] = 24560700000000000; + p[325] = 24936100000000000; + p[326] = 25318600000000000; + p[327] = 25708500000000000; + p[328] = 26106000000000000; + p[329] = 26511100000000000; + p[330] = 26924100000000000; + p[331] = 27345300000000000; + p[332] = 27774600000000000; + p[333] = 28212500000000000; + p[334] = 28659000000000000; + p[335] = 29114400000000000; + p[336] = 29578800000000000; + p[337] = 30052600000000000; + p[338] = 30535900000000000; + p[339] = 31028900000000000; + p[340] = 31531900000000000; + p[341] = 32045200000000004; + p[342] = 32568899999999996; + p[343] = 33103400000000000; + p[344] = 33648900000000004; + p[345] = 34205700000000000; + p[346] = 34774000000000000; + p[347] = 35354200000000004; + p[348] = 35946500000000000; + p[349] = 36551300000000000; + p[350] = 37168900000000000; + p[351] = 37799600000000000; + p[352] = 38443700000000000; + p[353] = 39101600000000000; + p[354] = 39773600000000000; + p[355] = 40460100000000000; + p[356] = 41161500000000000; + p[357] = 41878200000000000; + p[358] = 42610500000000000; + p[359] = 43358900000000000; + p[360] = 44123800000000000; + p[361] = 44905700000000000; + p[362] = 45704900000000000; + p[363] = 46522000000000000; + p[364] = 47357500000000000; + p[365] = 48211700000000000; + p[366] = 49085400000000000; + p[367] = 49978900000000000; + p[368] = 50892800000000000; + p[369] = 51827800000000000; + p[370] = 52784300000000000; + p[371] = 53762900000000000; + p[372] = 54764400000000000; + p[373] = 55789200000000000; + p[374] = 56838200000000000; + p[375] = 57911900000000000; + p[376] = 59011100000000000; + p[377] = 60136500000000000; + p[378] = 61288900000000000; + p[379] = 62469000000000000; + p[380] = 63677600000000000; + p[381] = 64915700000000008; + p[382] = 66183900000000000; + p[383] = 67483300000000000; + p[384] = 68814700000000008; + p[385] = 70179099999999992; + p[386] = 71577500000000000; + p[387] = 73010900000000000; + p[388] = 74480400000000000; + p[389] = 75987000000000000; + p[390] = 77531900000000000; + p[391] = 79116300000000000; + p[392] = 80741300000000000; + p[393] = 82408300000000000; + p[394] = 84118500000000000; + p[395] = 85873400000000000; + p[396] = 87674200000000000; + p[397] = 89522500000000000; + p[398] = 91419700000000000; + p[399] = 93367500000000000; + } + + function _fillPrices_400_500(uint128[] memory p) internal pure { + p[400] = 95367400000000000; + p[401] = 97421200000000000; + p[402] = 99530500000000000; + p[403] = 101697300000000000; + p[404] = 103923300000000000; + p[405] = 106210600000000000; + p[406] = 108561100000000000; + p[407] = 110977100000000000; + p[408] = 113460600000000000; + p[409] = 116013900000000000; + p[410] = 118639500000000000; + p[411] = 121339900000000000; + p[412] = 124117400000000000; + p[413] = 126974900000000000; + p[414] = 129915100000000000; + p[415] = 132941000000000000; + p[416] = 136055400000000000; + p[417] = 139261500000000016; + p[418] = 142562699999999984; + p[419] = 145962300000000000; + p[420] = 149463700000000000; + p[421] = 153070900000000000; + p[422] = 156787500000000000; + p[423] = 160617600000000000; + p[424] = 164565300000000000; + p[425] = 168635100000000000; + p[426] = 172831500000000000; + p[427] = 177159300000000000; + p[428] = 181623300000000000; + p[429] = 186228900000000000; + p[430] = 190981300000000000; + p[431] = 195886300000000000; + p[432] = 200949900000000000; + p[433] = 206178100000000000; + p[434] = 211577400000000000; + p[435] = 217154600000000000; + p[436] = 222916900000000000; + p[437] = 228871500000000000; + p[438] = 235026300000000000; + p[439] = 241389400000000000; + p[440] = 247969300000000000; + p[441] = 254774900000000032; + p[442] = 261815599999999968; + p[443] = 269101200000000000; + p[444] = 276642000000000000; + p[445] = 284448800000000000; + p[446] = 292533000000000000; + p[447] = 300906400000000000; + p[448] = 309581500000000000; + p[449] = 318571500000000000; + p[450] = 327890300000000000; + p[451] = 337552300000000000; + p[452] = 347572800000000000; + p[453] = 357967900000000000; + p[454] = 368754600000000000; + p[455] = 379950600000000000; + p[456] = 391574800000000000; + p[457] = 403647000000000000; + p[458] = 416188000000000000; + p[459] = 429219800000000000; + p[460] = 442765800000000000; + p[461] = 456850300000000000; + p[462] = 471499400000000000; + p[463] = 486740400000000000; + p[464] = 502602200000000000; + p[465] = 519115400000000000; + p[466] = 536312400000000000; + p[467] = 554227500000000000; + p[468] = 572896800000000000; + p[469] = 592359000000000000; + p[470] = 612654700000000000; + p[471] = 633827100000000000; + p[472] = 655922100000000000; + p[473] = 678988200000000000; + p[474] = 703077300000000000; + p[475] = 728244300000000000; + p[476] = 754547400000000000; + p[477] = 782048900000000000; + p[478] = 810814800000000000; + p[479] = 840915600000000000; + p[480] = 872426200000000000; + p[481] = 905426800000000000; + p[482] = 940002500000000000; + p[483] = 976244600000000000; + p[484] = 1014250300000000000; + p[485] = 1054123600000000000; + p[486] = 1095975700000000128; + p[487] = 1139925600000000000; + p[488] = 1186100900000000000; + p[489] = 1234638100000000000; + p[490] = 1285683600000000000; + p[491] = 1339394700000000000; + p[492] = 1395940200000000000; + p[493] = 1455501300000000000; + p[494] = 1518273300000000000; + p[495] = 1584466000000000000; + p[496] = 1654305700000000000; + p[497] = 1728036100000000000; + p[498] = 1805920200000000000; + p[499] = 1888242100000000000; + } + +} From b3fc4e12ed1859636ce589a7a6375fa48d7d0751 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Fri, 20 Mar 2026 15:15:19 +0000 Subject: [PATCH 2/2] [#56] Fix formatting (forge fmt) Co-Authored-By: Claude Opus 4.6 (1M context) --- script/UpdateCurve.s.sol | 1 - 1 file changed, 1 deletion(-) diff --git a/script/UpdateCurve.s.sol b/script/UpdateCurve.s.sol index c74c69d..decce27 100644 --- a/script/UpdateCurve.s.sol +++ b/script/UpdateCurve.s.sol @@ -1074,5 +1074,4 @@ contract UpdateCurve is Script { p[498] = 1805920200000000000; p[499] = 1888242100000000000; } - }