;; Used to simulate mainnet migration from v1 to v2 in the test suite
;; Must be called after deploying migrate-v0-v1.clar
(define-data-var executed bool false)
(define-data-var executed-burn-mint bool false)
(define-data-var executed-reserve-data-update bool false)
(define-data-var executed-borrower-block-height bool false)
(define-data-var enabled bool true)
(define-constant deployer tx-sender)
;; TODO: to fetch off-chain
(define-constant borrowers (list
{ borrower: 'SP1JFJ02WRFV0WC2M3H6H42JVF5Z8GZWDMWKMD8JB, new-height: u169349 }
{ borrower: 'SP1G5F70FF2FT66PAQVDKQDHK14EKQS4SP6FRXGGK, new-height: u168814 }
{ borrower: 'SP3MVC83VYYSWXEAQN52MHQSMCV55W1RVQB8EDSDH, new-height: u169610 }
{ borrower: 'SP3BYEB6HYXQCHC9JCAB1MD8JRXSE3MPB9AAYNPKS, new-height: u157027 }
{ borrower: 'SP15B7SQ231XSA6A4EGM3YKXTK3PZG7X08V00C0Q3, new-height: u202747 }
{ borrower: 'SP1NR1G13R3NMST4JT7WC0KCAWAR5BE2GKZA7X4GY, new-height: u192698 }
{ borrower: 'SP17E3Z59RVZDQSMMDVQHYBT156SM5GX3ZFC35MWZ, new-height: u255941 }
{ borrower: 'SP2G25PAH31RXFPWNBZ89RANB6EFPEEXE87G65WG4, new-height: u287796 }
{ borrower: 'SP20670DDG79SX8ASZ6X7V65X2P5NXZ3RN4NZNVZK, new-height: u164348 }
{ borrower: 'SP3TZHPYHKBG7RSMJFK72EQQ9N9JD5ZM614QASC0J, new-height: u182154 }
{ borrower: 'SP2Z3M2FEAQ7G5EZQSXBM6YY5TE7WMNG3WF77581M, new-height: u273491 }
{ borrower: 'SP33V2AAXVVCTR11DVJPKC5HXKWXHGWFJ8M5WCR81, new-height: u157010 }
{ borrower: 'SPQ3ZV2X9HEBWDE913C4KK2TNAY3WP4AB9TYKH5D, new-height: u153421 }
{ borrower: 'SP27DSHVCV8WH5R85XSJDFS314VWG33FGZKJK7R8F, new-height: u152115 }
{ borrower: 'SP132X914XMHFABXVJZMA90WXFGBQEK0BC736HRR4, new-height: u164611 }
{ borrower: 'SPM2E0PJAA72T29M7WP1CRY2404BT68DPA44TMG5, new-height: u256740 }
{ borrower: 'SP1D3HGT89HWFX56YYF02HFH1VZR4EMVDRH86JRF9, new-height: u313355 }
{ borrower: 'SP5TN2MP8EW41ECDDS9R10AZJAACV5RFBVP6PR6X, new-height: u164810 }
{ borrower: 'SP2MVFGS9Z6Y7WA374JQ2KVR4081C4Y8MWNCKMH4F, new-height: u169038 }
{ borrower: 'SP1M9ZCKKVZ64YJBXQ3J7D583CFY5SMEXPSAXH7D7, new-height: u273555 }
{ borrower: 'SP2KD79FKDGDM8K9HRBG26YC6MNAD3EFM7A6A9ZM1, new-height: u322805 }
{ borrower: 'SP1TRMTVW882W2M7ED9AQ9E3T7YAR47CW3N83AFN, new-height: u252108 }
{ borrower: 'SP3KBQKWQXAH2S86EZZ48TDQM1WTSK7PNV5JMZDA, new-height: u273555 }
{ borrower: 'SP1ZFYA52KJP45K8PEW75RC47D26ZRFNSZQRV7A4W, new-height: u317729 }
{ borrower: 'SP1M2KMGZH26GBB5PMMYQ5WB06Z4BTXJAJYJ77DE9, new-height: u210547 }
{ borrower: 'SP3PZBC7GZD0H49PJ4VT0CQ725W5YEMTEQF1JKSA4, new-height: u157027 }
{ borrower: 'SP19TDPRPAF1TRB7FKE9KTQ2TVDCF1TGEP46QS1FA, new-height: u156212 }
{ borrower: 'SP9469CHQ3SZB16XX7YNM0QFEQCD3WA3D85CP6C0, new-height: u166310 }
{ borrower: 'SP11ZVV9T0E7D82BFE6T54N1475E2A2EA383X422J, new-height: u169661 }
{ borrower: 'SPGJV10GDNEDSY35Z3BZ0NSGRTV503GEA1ZCTCPM, new-height: u331803 }
{ borrower: 'SP3ZJJ1528NXYXCQMR1BAFD269G48MBW0EZT8XZD9, new-height: u170426 }
{ borrower: 'SP1MXJCYYZNCRX9GKHX1STKDPPH782RRAWB3BFHWC, new-height: u165460 }
{ borrower: 'SP10Y88DW28TRNTYJZXSXG95BSY57ARFAMGYHCRM9, new-height: u167088 }
{ borrower: 'SP3A5Z8D47MQSSSR4M4H4S1EJKN3HHYTAATZPGXX1, new-height: u156142 }
{ borrower: 'SP1Z0JAG083DEE8VQ5H1D5RJDCT5DVEGS212N4XX8, new-height: u282295 }
{ borrower: 'SP6NJ2W531HJM9W4NE08A2GJB6M9T62RRH8JJTCG, new-height: u160147 }
{ borrower: 'SP3DYX83AXCQCRBV13B0R37N3TEYFA9J2D1JGGZ3S, new-height: u250465 }
{ borrower: 'SPEPSP99786JRCYN4CSCZYQZFAQNTCVTMQ4B5S2Z, new-height: u152372 }
{ borrower: 'SP328G9XY58KQ04S3RPKPR42V4B13XVAS70PV1DF6, new-height: u205508 }
{ borrower: 'SP6CG22E967ZVT6920M8ZREGEZE19E6DJR2QB9Z9, new-height: u169637 }
{ borrower: 'SPCGJT66SJ314GME2JRCZKTQ5KABKCJCH9HPS92H, new-height: u339656 }
{ borrower: 'SPPV60Q4TRZTZTDWEDJ88YM43GNTTFBFG6SNRB15, new-height: u342509 }
{ borrower: 'SPYB6P29GT1F0PAZQZXYAQYMYEB9MZE105380Z8P, new-height: u187267 }
{ borrower: 'SP30VSZ7DT27XJGGPS3ZJEYQ3FN6D7224FRAC0VMY, new-height: u248913 }
{ borrower: 'SP2GB8MCSPVQRX2M7ACDTKS75DHA0JQ8GSD5JJ8ED, new-height: u345838 }
{ borrower: 'SP1WACX2V9EYEWTTV0X1760ZR7B7YEMBMFNMFCCZE, new-height: u157008 }
{ borrower: 'SP13HQBWPB5ZX6C59VYVY6NVVJEHB1SSYPEJT1DXY, new-height: u249525 }
{ borrower: 'SP1S5J0QTP6PHFEVFM670TSG5TPV8A870QP8SEMW2, new-height: u152186 }
{ borrower: 'SPQSKHFDTVBGSZ6VW95SG0ES6SM7QR1RMVGPQ9XQ, new-height: u281635 }
{ borrower: 'SP35DJCXZTMP5DH4GR3C49ABXZ7MGRVPYSVREWXZ8, new-height: u157008 }
{ borrower: 'SP1B7AG8JNAA5ZB5SHVEFMZ130ZM43JJ05YB6D2AS, new-height: u191231 }
{ borrower: 'SP1A6AZP4GAT496C08Y38C4BXTYZ8ZNCWJFN40F5C, new-height: u152186 }
{ borrower: 'SP0864CFTZ2DR8FDCA9PC03AACZRQYWF5A00Y8WZ, new-height: u221724 }
{ borrower: 'SP2TH0ZEF2AKBVH93A4ST0GNWKFTXDQ34YSR1CA42, new-height: u176136 }
{ borrower: 'SP68RJR7B16V4S9C69PFYBSQG2G98SVD0R754484, new-height: u152406 }
{ borrower: 'SPYS2VWA4306ASCEYR03Q785X2YENQB1BGF6Y8DF, new-height: u322805 }
{ borrower: 'SP31MWX5JR4NYNNGWBFFJJC9A7ZF825A53PJJDBS7, new-height: u273901 }
{ borrower: 'SP7S3EJYAM7NVJ7KD0KEFCY78MRP9M4G2N92QZ24, new-height: u169598 }
{ borrower: 'SP3J0X4B678MMJW3V7W52MW1KGV1CZAJNGJR6VA0N, new-height: u341147 }
{ borrower: 'SP10CTRSKN508PTZBT327V6JRT49TWJMQBAK4R9BJ, new-height: u157008 }
{ borrower: 'SP3NYA0QV0QF333437ZERVRH9T0XQ24JM81K36YC4, new-height: u252891 }
{ borrower: 'SPJ1R85XPSYHMCMRBNRAMZ5WCD6HDGN7JCXDHWF7, new-height: u329347 }
{ borrower: 'SP1YV42S1JTNZK1ZZ9JDW4KFQX3QERHRNBW9PPAE4, new-height: u291944 }
{ borrower: 'SP2X33B380FPG6KJR8RAVNQ2HD4DCJX177PEY8HK7, new-height: u155961 }
{ borrower: 'SP1WQAB4ES6PNN3D115XAXGHRPRP160T46NM9ETH2, new-height: u196739 }
{ borrower: 'SP387AWC5F23X02DJSEAQE2XGNY5NS8W0SPJB3TD9, new-height: u160372 }
{ borrower: 'SP1843KM1SPSMM8MHE4YFDFKFNKC8FFK8BTM47W1X, new-height: u270376 }
{ borrower: 'SP11VMRK069EPB45ZS20MSW3DGD7QZNBPS2191D49, new-height: u152341 }
{ borrower: 'SP372B3QPFAC65VY7R68GK4Z8WNRZ74NRWGWM9W4F, new-height: u233344 }
{ borrower: 'SP2H8KHH0YR27VZNGKDMNRCDTZES3X1ZAJVXHY3BH, new-height: u152385 }
{ borrower: 'SP76AS2D8FJPA9VK115JC48MNS01JS7YZMD2FMCP, new-height: u156595 }
{ borrower: 'SPW02JA8DY901YCB6VRJNB9YG6PWPE85BJR1EFN0, new-height: u172518 }
{ borrower: 'SP2VS98S3JVA60R32GNGDRWJMHXA2WVNW70CZ97PM, new-height: u200019 }
{ borrower: 'SP28JR1MMYXF8TDGW074RFBFMH44KNYACG9Q3D0BV, new-height: u249820 }
{ borrower: 'SPMZ912TEK2P15E8Q9W1W33QN793XR7XVDYY4R8H, new-height: u200688 }
{ borrower: 'SPF4JSWSV021QBYAN4PQPJ589MNXYPK98J59VTGH, new-height: u181943 }
{ borrower: 'SP2Q94KJX8F2Y24FKQ56JB6FMZ5QCEW0H2YTRG5KW, new-height: u242536 }
{ borrower: 'SP3EBBKX8GHC76AD2WXFEWGEDF6W446EFQA1AD9BJ, new-height: u322811 }
{ borrower: 'SP1VFQFVF6QKEVDSRVQA3HTBPZBRPV2ZJVZYETASF, new-height: u152189 }
{ borrower: 'SP2W9V8X6A3YG9140YFJ8MQ7MDHJR5M06RAEDPQA8, new-height: u290379 }
{ borrower: 'SP13PBPRYHVS6GPQNTE5MX1YZEMNEVHM26FG3KS3Q, new-height: u283367 }
{ borrower: 'SP3WV7W60ATCSRAY8941JT789A0DYVFQWNT1N6NYH, new-height: u158231 }
{ borrower: 'SP1WTE11RKG53FK9BPW9CBE3JZTNXQ439GRMGT99F, new-height: u152086 }
{ borrower: 'SP10RE0D991JAEWTBNH952ANSCCY6H80VSEAFGMJH, new-height: u153253 }
{ borrower: 'SP2ZTY5Y18BHEPMTHDKFVJ1F8FT7CK1TSKFTM350S, new-height: u316180 }
{ borrower: 'SP6ZCVNK7XV1ZNDSJGHCFH796C0GRRZVEP40D1HN, new-height: u322848 }
{ borrower: 'SP24CMWWRHM2536ZDJMT0Z3H3AH75THVPGZN6MTFK, new-height: u157027 }
{ borrower: 'SP1R96QFWDW16K57T0457CE8JKJWYA5RM3KGAAE5Z, new-height: u152161 }
{ borrower: 'SP283AEYZPARJAQ580J225P3FSPXSN6THVWAM0VRJ, new-height: u153609 }
{ borrower: 'SP1JVBPR8RDTK0CBEG66WQW3416897B495DTKM2X5, new-height: u156212 }
{ borrower: 'SP6GKMZ7BWZN848ADG15N5G74M8QQSAV5D0VMDE1, new-height: u152413 }
{ borrower: 'SP1R8DXMHZDRCCBV8R58X616XH8YQZD17V6VHCWQM, new-height: u152460 }
{ borrower: 'SP2V33EW6CRS8NHQMG7Z8F274E08S9ST5RC3PJCRA, new-height: u157027 }
{ borrower: 'SP2XJ642XX3VZPNEZNCJZ7DX4EN0ZGXYDN8B2HZY8, new-height: u155958 }
{ borrower: 'SPYG8DT91J22PJYQRFQ371QZB970J3BFDW4DSVZF, new-height: u157026 }
{ borrower: 'SP3XTYYV9133Z7RNWEDEP04Z6FZ0E9WVKV9D65XQM, new-height: u287518 }
{ borrower: 'SP3KEG8TZPBTVREA01VHNPX9D041H1J7H84S2363W, new-height: u156614 }
{ borrower: 'SP2HY3ZNRF1ZA202KQKW7C59M24QR0NZ2NXWSBBP3, new-height: u284063 }
{ borrower: 'SPQ2RRVPZJXNT1X4WTGHR9S36K9EAXSJ2J6GSX5V, new-height: u201092 }
{ borrower: 'SPCPXYYZEXDBKMQHYG6EG9PX59T19KP0H0RJSDT3, new-height: u195921 }
{ borrower: 'SP3RVDPQSZ11H0E93B75H5A0BH09XAFSR7N1KHMAG, new-height: u157008 }
{ borrower: 'SP1R0JXJEGHKR97M4H6RPFXAGX8QT3SYVRHQDFVSQ, new-height: u152161 }
{ borrower: 'SP2G1X9SBGSNQB3357D0B9VGTEHZ1EN4981SDFQG6, new-height: u157027 }
{ borrower: 'SP19ECAYACEGGD56T9CFNGRQJC32F8P1H50EATCHX, new-height: u336629 }
{ borrower: 'SPKEQ6E1BC611T2TYT0FQGPHJ7FPDEFAS9BWTKCY, new-height: u157028 }
{ borrower: 'SP3X7A0PY0SY0G67F7VHMWKGGG03V19WMZZR41PC3, new-height: u152859 }
{ borrower: 'SPQXRCF4VYV75BNBXN4HGWM8PPE85H8P5V0SMHTB, new-height: u152186 }
{ borrower: 'SP1NGMS9Z48PRXFAG2MKBSP0PWERF07C0KV9SPJ66, new-height: u160294 }
{ borrower: 'SP163FWZMXZW7FW8ZD8KHBJQPNTDJMHFVE2Y7EBED, new-height: u345048 }
{ borrower: 'SPDP02PP7728P7EFHY3B84HDVQF4YRZXZA2BBJT3, new-height: u329907 }
{ borrower: 'SP1AEK4JXEC1DRFPB7DF8X6PDXP2GSV77PXG93ENZ, new-height: u171595 }
{ borrower: 'SP19DJSJVYR5RYQVJHM60K8SP00VRK60M9AYNE790, new-height: u157027 }
{ borrower: 'SP3M69BX3YPWVBYVBWDWAP3FQ16H1GDR7TK8KQV18, new-height: u152409 }
{ borrower: 'SP13GAAZ2Y7ZNED8Q2QXX2P7SC5SBP9TSVD54D0XS, new-height: u152218 }
{ borrower: 'SP1NSVETQ37380Y1Q9SHBEPAWM79NW7HKDYXN8E2T, new-height: u157026 }
{ borrower: 'SP2EH5JTPJ380YSBH8E16V5ZYYP2EMT5H13YM4NJY, new-height: u188939 }
{ borrower: 'SP1E00SD7W8FZ9YAWC6PTKTKVFENF7X8ASJD0JEW5, new-height: u295199 }
{ borrower: 'SP3VP83NCJCPY3MCXSNR94GC6Q6SYJCQ8DY6QQQ89, new-height: u156339 }
{ borrower: 'SP3DGJ0NW9EZTMV0J52XGM8JM30FGFK74MK1417S6, new-height: u156710 }
{ borrower: 'SPEV669P28Q25QXD4FK6989WPECST50HRBDR37J1, new-height: u152671 }
{ borrower: 'SP1CCVPBKXT69WRP8VKSK2VJ5W0M5MTBHG2HPS962, new-height: u252126 }
{ borrower: 'SP3REXZ9NQQ84R2SJ0D26CJ6RDBQ383W8QM5MC2R4, new-height: u292727 }
{ borrower: 'SP1501KK51HK431S26R0ZYZD06V38H4S41D77V6B2, new-height: u323094 }
{ borrower: 'SP16VJE0XWKRZ8XPQM9RXNR2KC03YYX8910YWWSR, new-height: u169862 }
{ borrower: 'SP2CZBQ51FHR9FFW0KCG74JV31WP0G8FFY6FFTKPY, new-height: u156641 }
{ borrower: 'SP2KCBMBNT182VVTCTDQC1404S3NPW12W8SS4CAJ9, new-height: u341379 }
{ borrower: 'SP87MT4CA256R9HD2DZ6ZWF9CMGB9Y7SMK1X7JE4, new-height: u157699 }
{ borrower: 'SP2BKHJSW3XSQ3FEZN5X2GBSZ4C9VPB4SNMRSFCCD, new-height: u312409 }
{ borrower: 'SP268RA6Z6WSZPSCJFNJMZHH5T1RC09J3C1GYJY7H, new-height: u157010 }
{ borrower: 'SP2H35FBMBRT3AEPEAQRC4MNHQ06KZGCE9P4N9E5X, new-height: u156641 }
{ borrower: 'SP20X0BMMX8A2F5BST7J4Q322TQGD8Y43QJZ524JS, new-height: u152275 }
{ borrower: 'SPCDHBJZEBW5ACK06501J8ET1F8439B6VS3D02K6, new-height: u157060 }
{ borrower: 'SP3W8K9APP6F00MN74Q8JR86M650SPWDE46CTQZZX, new-height: u157008 }
{ borrower: 'SP3G1EFZWNFBPBWZRAXWQR57QKEJYBPH1NZPDCKYT, new-height: u156413 }
{ borrower: 'SP1305M27AFEYSW1BZJ14QAANKAPV8Z2ZGDVYFF3E, new-height: u157027 }
{ borrower: 'SPCKYCR729QZ2TFCWJVXM91J0BPR6SWDQ4BTSWF5, new-height: u157027 }
{ borrower: 'SP1CKJBTHFR84AY2Q744RPQHNE40455VE46ZGFYCD, new-height: u302032 }
{ borrower: 'SP2F800YGTMKR447KXR0ZPPTZ7KQ4FRWD80GEC6NG, new-height: u157013 }
{ borrower: 'SP1WVK1A3S0R4D008G1T78MENBXXPPCJ5FV5F2CN7, new-height: u152348 }
{ borrower: 'SP55R4ZSDTS5PGGZ7ZD70RNEHT55XNBHA3ZFMRA2, new-height: u225998 }
{ borrower: 'SP3PKRBPR9JVA3C4DB1X6AB8BPWWMZFK158GC7RA1, new-height: u302032 }
{ borrower: 'SP32DS7948M0JRT6C588DQSBNP170FBHGZA49B00F, new-height: u341379 }
{ borrower: 'SP161H25JERHHN8PJZBGZBEDTT8P0CBV83RNG9RJF, new-height: u155946 }
{ borrower: 'SP2W1CCVM1261D8182DT5Q5YRY0A66PFD3G9FYVJ3, new-height: u171029 }
{ borrower: 'SPMSR80T4EHKYQZKPNA7WVC3AN149EKH1XFJNSM3, new-height: u169515 }
{ borrower: 'SP2SM5F36RRS709CQ4D9CJY70F43V4TR9JPN7V6D6, new-height: u189003 }
{ borrower: 'SP30X0CQAT4MZ5CZCX9V89JYT87K60E8RASBJMHED, new-height: u157027 }
{ borrower: 'SP3PC7G7R7DVBNTH5T8P7AS835WSTZBHNNQR8TPP0, new-height: u167234 }
{ borrower: 'SP1BGEZ7BC5Y4Q8GR9S8D04A2BHYEHKR5MYFMJTV8, new-height: u209252 }
{ borrower: 'SP1W9F2531BJ09RWYZF3FXBDN3KCY4E2TDS221263, new-height: u157029 }
{ borrower: 'SP164EEKSKP2K6G4N97553SZTFPS33FMJ3PS1BQGT, new-height: u172285 }
{ borrower: 'SP1YKQ0R4ZBH818MZXKQW34133358GGRPV8N7Y66J, new-height: u256057 }
{ borrower: 'SP3BY6P06V7V0ZD41V7NXY6M6AZ4KA4CEV60458TB, new-height: u155961 }
{ borrower: 'SP566VT540CKMW6RSRKFN5TZYHMPB0T9PMP7YYZ2, new-height: u291154 }
{ borrower: 'SP2ATVBXDAK09J47HM7NDVG22APQFMQFJJM2EJY8G, new-height: u155961 }
{ borrower: 'SP3Y5NTY323BYPWQM7X4HQ8NCYFKQKHVHR35HQB17, new-height: u155946 }
{ borrower: 'SP25FAA28RK4TAPQTVMDQAMEHC85T0XCE193RZW5Z, new-height: u291789 }
{ borrower: 'SP14P8KH28NGJT4BVQ6685N19T8G6Y76WBZZD0EKX, new-height: u156125 }
{ borrower: 'SP2KCQCBSGRWVMY8S80PVVXVXFA3G70369K95TCQ5, new-height: u157010 }
{ borrower: 'SP1HYDSBVZ6YEDZZHVE5BEM91D3HTD0MYR77B5PB9, new-height: u156183 }
{ borrower: 'SP3CY9TFJW2H5NVBBF6ZB1WMKB4RSBB4J01QZ5S8, new-height: u155322 }
{ borrower: 'SP2M2ZFETRTR46K9J19N94JHGSBF8HRE4M01K721E, new-height: u186355 }
{ borrower: 'SP2M7K3YM8813404G1R7AXV106CPWH0Z5ZA80JVAV, new-height: u294287 }
{ borrower: 'SP2B3AR9ZG3RNSVTRJ1YZ5X631YXHZVJSKZPXWQ5N, new-height: u314978 }
{ borrower: 'SP1Z7Q061F8YEDNQCS52VGT3HG1T0R0J5VAPEE1S7, new-height: u295552 }
{ borrower: 'SP1ZJW1V01F36YRTFY4NQA8E497VK1YB89VM5Z7FX, new-height: u281849 }
{ borrower: 'SP3GYZXTVQ058BJV09BYK6YVCYTB57NY4BPHTB3FN, new-height: u155946 }
{ borrower: 'SP3A6F00TYWMQK2KMGMDKACEG36DH0B65HE1ZJTBR, new-height: u156111 }
{ borrower: 'SP3X6G145Z6DV5H49MN0P0RK9SXY83ZN4ACM3RPMA, new-height: u152963 }
{ borrower: 'SP38B5H07H1XJ756EEPMS8VBJE9HPGH03C50VPNAJ, new-height: u181299 }
{ borrower: 'SP1FSX9QG8K0ZBFM104737ZN8KMB5S6PCM8J7TGMP, new-height: u171393 }
{ borrower: 'SP18DV3R6YQY3KDJ12E57V79Y1WX3C4ZKQ3VWZGEG, new-height: u155996 }
{ borrower: 'SPZQCSSKEA3CPPBHHEKC5YBNXQPCJ0RN36EPH40T, new-height: u155905 }
{ borrower: 'SP3DYM7A95X5THAVE3BVSYEHA6CNHZ7B9H1TH89J9, new-height: u156878 }
{ borrower: 'SP12540N06D74HG5R5722KDGV2ZKKBDKB1FAXZKWQ, new-height: u296973 }
{ borrower: 'SP9E24RV6D89A7SB52D0P8SFGHDKZCYQBKR0STWX, new-height: u155946 }
{ borrower: 'SP3Y70V4973798AW0ATMHZK0Y83SSF8MP9ZYP2F2C, new-height: u155961 }
{ borrower: 'SP55DR77BE23GPRX1ZP2PXHV0FEW1YVEEZYKT45C, new-height: u172167 }
{ borrower: 'SP22VK42TD6TGSGMVQE3KRZ04YFE47WZYY7G0T893, new-height: u164661 }
{ borrower: 'SP1Q81WR3XNZGG44JPW0SZFZZMD5NR3RK6YAJQAFB, new-height: u256289 }
{ borrower: 'SP2WS5H3ZSDBAYZM2WFDC71CNKQ8P91HD6JN41R8R, new-height: u170930 }
{ borrower: 'SP22YZ90FF9KC1JFJE3G664KRBNXX2JQKQBD0D9JG, new-height: u207860 }
{ borrower: 'SPSGPGCK1BEM5X1E82WK7EBN1BHGBAX0CDZ053G9, new-height: u168985 }
{ borrower: 'SP250EWQ2XVTVC79YCFSFM3KYC63E9KMEDFBSVN96, new-height: u156806 }
{ borrower: 'SP3C9J3MXC4GKSZ7C275T3QTT20DDS9PG64CREWRK, new-height: u155961 }
{ borrower: 'SP26F2CV39RJATZ45X78PX0CMQQ8V6GTVBT1NN3ME, new-height: u165889 }
{ borrower: 'SP1N55MCYVJRREE1XBV0N6ZRDN8Z41ERJ8KQHGR0X, new-height: u152130 }
{ borrower: 'SP2VNDWBNPE5B4C4XZBRKVQM0GK45ASZDZKWFQES6, new-height: u155909 }
{ borrower: 'SP15P56F24FAY09RVRM98J0NDCW2P3JTDWWK8RQ1J, new-height: u152218 }
{ borrower: 'SP3NWS0XNR5DZZJWMVBA4SC2KM3CJKE6YKDTE2JX8, new-height: u167442 }
{ borrower: 'SP3KDD3BRSCDJ4JG2HG1EJEE00DFE0CP1QWQZ4075, new-height: u155931 }
{ borrower: 'SP1WYX7K5Z83JK6WVAYG452K28JM1Y5JH6NH957RN, new-height: u155954 }
{ borrower: 'SPT3VZNSQXM9X4AD24AY0VCNVK7TNMRCQZX3EKTK, new-height: u154548 }
{ borrower: 'SP2PJ8RQ3Q6RS8A8SP9F1SN03J1NVHDPYBCHE125A, new-height: u169687 }
{ borrower: 'SP30TZGG24XKX9VC60S93TYW8FE3T94CRX4X2DM9R, new-height: u234438 }
{ borrower: 'SP3722W4GQSW60QPPC9VRMMANGNHQCP07BCPF2FTB, new-height: u155476 }
{ borrower: 'SP2J0YX7RWKGQZVNC2BBZR3KMTH6K7A9Q864M8FM6, new-height: u155831 }
{ borrower: 'SP6SGVE6KJP8S7BN66TJWP0HERWDTERXS9PKRHDN, new-height: u177775 }
{ borrower: 'SP3G7MEN3SYQPN55HSK3F36GTA5NP7BT561W2PW9J, new-height: u174451 }
{ borrower: 'SP2SMSPX443W4HTX9YT9WVV5C0A212FJ8WQMGT51M, new-height: u344064 }
))
(define-public (set-borrowers-block-height)
(begin
;; TODO: remove
(asserts! (var-get enabled) (err u10))
(asserts! (is-eq deployer tx-sender) (err u11))
(asserts! (not (var-get executed-borrower-block-height)) (err u10))
;; enabled access
(try! (contract-call? .pool-reserve-data set-approved-contract (as-contract tx-sender) true))
;; set to last updated block height of the v2 version for borrowers
;; only addr-2 is a borrower in this case
(try! (fold check-err (map set-ststx-user-burn-block-height-lambda borrowers) (ok true)))
;; disable access
(try! (contract-call? .pool-reserve-data set-approved-contract (as-contract tx-sender) false))
(var-set executed-borrower-block-height true)
(ok true)
)
)
(define-private (set-ststx-user-burn-block-height-lambda (ststx-borrower (tuple (borrower principal) (new-height uint))))
(set-user-burn-block-height-to-stacks-block-height
(get borrower ststx-borrower)
'SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.ststx-token
(get new-height ststx-borrower))
)
(define-private (check-err (result (response bool uint)) (prior (response bool uint)))
(match prior ok-value result err-value (err err-value))
)
(define-private (set-user-burn-block-height-to-stacks-block-height
(account principal)
(asset principal)
(new-stacks-block-height uint))
(begin
(try!
(contract-call? .pool-reserve-data set-user-reserve-data
account
asset
(merge
(unwrap-panic (contract-call? .pool-reserve-data get-user-reserve-data-read account asset))
{ last-updated-block: new-stacks-block-height })))
(ok true)
)
)
(define-read-only (can-execute)
(begin
(asserts! (not (var-get executed)) (err u10))
(ok (not (var-get executed)))
)
)
(define-public (disable)
(begin
(asserts! (is-eq deployer tx-sender) (err u11))
(ok (var-set enabled false))
)
)
;; (run-update)
;; (burn-mint-zststx)