;; 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: 'SPH1SNZJPHN81MWZFKPQ9CPYRYMZKQX7ET543GBB, new-height: u320423 }
{ borrower: 'SP3XX87N1K5EVGNTGCMEXHWFZFZ5T5SRZ04RC9XBT, new-height: u150666 }
{ borrower: 'SP3GND3T5N1FTTQCK3F7KCM8DD23J9C38DPS1GQKP, new-height: u151775 }
{ borrower: 'SP2EKRMW53DMRV6Y8A1933GCBV5J4CENR0BEQ4AR9, new-height: u151320 }
{ borrower: 'SPR8XYYQG9AH0H12NYPVFT39R3TSW8XB3YZWXM22, new-height: u151408 }
{ borrower: 'SP257MXWZK04XRGY7HYY69QSFV62TX2PC8A49WWSB, new-height: u169661 }
{ borrower: 'SP13B423JDW8N8WB95HHC0735ND4VE5TKCWM83592, new-height: u152389 }
{ borrower: 'SP176ZAN4CW8Q6XC6Y5B5FQE0K5SP4H6K5NNKFPQD, new-height: u150377 }
{ borrower: 'SPV4H9607JNE9DZBCHJY0ADWBWGTDDWFM0JJGNAS, new-height: u145565 }
{ borrower: 'SP36ZZ7YKA9MK3227HH7MGBEBBX8N5H8H295VJAQN, new-height: u173262 }
{ borrower: 'SP2W8SXYX8HP40V6682F4F5CRKZRPRGREG4HKBMZX, new-height: u151728 }
{ borrower: 'SP15NXA780H0JW0CCBTNVPDP9MN51FAJJ114XWCP, new-height: u183336 }
{ borrower: 'SPEXFBMSDS656FAV6V9TRPAPY9G7XGAASE9PYJGA, new-height: u150003 }
{ borrower: 'SP3D0SAFAZB9X2XE3XA74JGHJ8RTRFYQEQPGWEG04, new-height: u301362 }
{ borrower: 'SP1WQAB4ES6PNN3D115XAXGHRPRP160T46NM9ETH2, new-height: u178434 }
{ borrower: 'SP2Z4W3X43BRDSDXHTYB783B2JH5B9FA2RG5RKSAX, new-height: u150508 }
{ borrower: 'SP1BKCYPZR74V7WGREYGTN6HX40W66NZ51SJ39XWG, new-height: u152672 }
{ borrower: 'SPZ1KS5R0XX9F6MMEVS715RM2ND7PWTNP9V1R3JQ, new-height: u145948 }
{ borrower: 'SP3SP7K3XFT4ASCD8B99B7DHY2RG3ENP8DR6ES5F3, new-height: u225077 }
{ borrower: 'SPWYXX9SGPDZ8RAWZSR7J9SB2P039P393NJ316GS, new-height: u150838 }
{ borrower: 'SPMRZSNH0ZKMT8GQT8XV25SG841ZHC4BQSK49MW7, new-height: u177831 }
{ borrower: 'SP14CKWNSJ1YTPH87YJKP2FVRRJJ0SZ430JWWBD42, new-height: u152672 }
{ borrower: 'SP2G8PQH2QV3ZGNE4SYJH81JQ87PVWHCTKQ7J424C, new-height: u326706 }
{ borrower: 'SPVGHVMWEE5PE0PJPQ0XVKAGCM5VRVEMSYKB3VY3, new-height: u144788 }
{ borrower: 'SPZ7AFCNK9W555F7PWP20AJZ8WH70V2JTZQHT1M8, new-height: u153092 }
{ borrower: 'SP26NBGDCS4SR4G6R5FGCTHDBV2KQP8M2S6Q9Z5PG, new-height: u156936 }
{ borrower: 'SP160N9M3HDGDACNTKJKH0CMPPZMFR2460T6HV7NT, new-height: u151007 }
{ borrower: 'SP14Z85YT1E5DTSVBKR0ZZ7JYABS7TTYFCFN6DY4P, new-height: u152682 }
{ borrower: 'SP1GNA5PQGA8G5FPQXC9JVHQ7M3PS53S2GGHB4QQN, new-height: u320513 }
{ borrower: 'SP1JBBGYFQ7M19C2C8N08HGP3M57NZYE3QZKKT79K, new-height: u244341 }
{ borrower: 'SP3YYFF1K5W7AN0YT2ETS93YF1SPD004ASCWENKAQ, new-height: u144702 }
{ borrower: 'SP34HBB15K9P54ZRK2PEARGG0PW98QGSV92YKQHEW, new-height: u150158 }
{ borrower: 'SP272A2XX6NQ94J6VFX7D3X68PV5F3XEK1QXKD8X8, new-height: u152706 }
{ borrower: 'SP28FBBHNGN1HMAHYGB1552KS0Y4MG5C9C69PRX16, new-height: u150072 }
{ borrower: 'SP11JJ5RT71B3S5V02WGA77A5TW5SD15A5QZ2WT0F, new-height: u145991 }
{ borrower: 'SPX71C0K7Q381T091GP87FC902CNZ55TEQHVC5Q7, new-height: u151659 }
{ borrower: 'SPNS0NNPZGGM6F8S95452B4ZCVZM4884FYD89Y5F, new-height: u151172 }
{ borrower: 'SP2F845QAR3CMT1WFWF52KMFQ4SJK3J3QJXMBCQM3, new-height: u144408 }
{ borrower: 'SP2GE4KF7Q9Z6590F5P1MXHJZ3B8RRV4JVDQXKPW0, new-height: u150605 }
{ borrower: 'SP2KK924Y35RZ81KS2B445D19V47QSR4BYF84J4BV, new-height: u156033 }
{ borrower: 'SP3KMGHQ0AZY23G1RABGD8VT0BY8P2C91J604AA8G, new-height: u145482 }
{ borrower: 'SP37V30X7F9AZ3088R3SCPEHAS8YMYKHYSB736WQF, new-height: u149665 }
{ borrower: 'SP3BG5YA9G4HC9ZXKFRGQTB2DKN6GJFGD27DPBA23, new-height: u341782 }
{ borrower: 'SP6Y3K6FMFV7VA0RPJ0PRT798TEVHBRE4EXQVQPQ, new-height: u150631 }
{ borrower: 'SP19HCHPFVSAQ82ZZGMMXBBVFKP6AFKVMWTV1GEH9, new-height: u151714 }
{ borrower: 'SP2ZC6WC1B18PY9G1Y6NZWGRT15YJ270ANC23QKBT, new-height: u151007 }
{ borrower: 'SP1T6YAEGDDHV4N7M6HMQZA8QDQ6P7ZT8KY33QE1R, new-height: u152685 }
{ borrower: 'SP2AZVJ817DGD2X493Q9TJARKGF6H1FD4HD2GF8V4, new-height: u151714 }
{ borrower: 'SPMDA32YNE0CRPE4ZX3N812S095TGY9V2SJDRPB1, new-height: u176282 }
{ borrower: 'SP38JGANYK8HVK3S62PNYDP25CR66NDKGRMQ38BQH, new-height: u150750 }
{ borrower: 'SP15M881ED8JGZ5CAXTR6VM4FRH61C0SJQ3H9BAFR, new-height: u144877 }
{ borrower: 'SP3X277YP0TBAER6EA63E6MF5AEMM25DHT303P6F7, new-height: u149638 }
{ borrower: 'SP2MZQMF5VHZVYXWNAAJXJ9HPHNM8118VQ5T69X7P, new-height: u156732 }
{ borrower: 'SP2MQ1M6REE7JFQJRFH908H3D8BH7HS1J0WX1D1D7, new-height: u152682 }
{ borrower: 'SP16ZCNPS9VH8TQM1PMN800TT375YZGPWKP48RQ11, new-height: u151588 }
{ borrower: 'SP1TD7DWWPK3MSXZFV0GTS9MXS5GEGWB29EYNY4KK, new-height: u151799 }
{ borrower: 'SP30MXC484QAN5472KXWJ03MKPF3Z5K6YEWFRDW9T, new-height: u263634 }
{ borrower: 'SP9522XY6FZHCX5SSBY2HMWTY24YT2FDJ5V8Q99M, new-height: u150323 }
{ borrower: 'SPMED7SKX8C3QCR85351SFD0QY4AXWTZRWDR3BSQ, new-height: u151571 }
{ borrower: 'SP2F8ZMEPAN43EDHGN1X7SFRJWSSQ48THCJNEF0DR, new-height: u149967 }
{ borrower: 'SP187S18MC3B6E80QNMGDDWFJTZVZM65PPVCR1QP8, new-height: u150136 }
{ borrower: 'SP1Y27D4F7HTSM43HK391Z3Q8K313JBCWT3ZTASMW, new-height: u151007 }
{ borrower: 'SP185MT0TN0QRKMSV2KXS6HD9NC8P1RMBWKVNVJXP, new-height: u150014 }
{ borrower: 'SP1AEFS4DFN77S096X55273MZX8CHW8Q2VGJKQWVA, new-height: u151032 }
{ borrower: 'SP2460ZC8GAP7PFX3HGX9XTN74TFCBH26B8S2VFEY, new-height: u205389 }
{ borrower: 'SP10CRJ9KPTMXGSTJ39GDQYWA1PF09F9HF2RMDEXX, new-height: u150398 }
{ borrower: 'SP28ADSCPCT4FF6SJQA5MZJXA1GRBWBKNAZK6X7ES, new-height: u152684 }
{ borrower: 'SP3C6MM8VT29NTE859C2QBE6W0X85YS26EAG9AZ9M, new-height: u149642 }
{ borrower: 'SPF9HDW15CMN9JSFJ2Y1PHWANZ5T4HT1F0ZN4JE8, new-height: u152683 }
{ borrower: 'SP1KX4GB9Y57Z2G00NVQWMX4CNVDSQ9HQJSJ7EM1D, new-height: u152682 }
{ borrower: 'SP1PGHCG4VV9W5F1A6MWYK6D02J0G21CTWKPS18ZG, new-height: u152267 }
{ borrower: 'SP2KNXRKVH1GQ5KPV3TNJZWZ7T0SFS824JBSVF3DG, new-height: u150767 }
{ borrower: 'SP37NHNXT4SZXDENVM57WJ6TR7XWHTVV748S3C01M, new-height: u157072 }
{ borrower: 'SPDAY5W58TE9EAK2FVYEQ5RGMR9DG3WV4QBY6QEP, new-height: u145631 }
{ borrower: 'SP3539DTDFG5GFKG4EXEE2T2F6C2DP291JGHCQW88, new-height: u289461 }
{ borrower: 'SP1QKSRB3AG994K68HJD81CYH8JDHYCB5BRS3QV4Q, new-height: u157067 }
{ borrower: 'SP2W9V8X6A3YG9140YFJ8MQ7MDHJR5M06RAEDPQA8, new-height: u289971 }
{ borrower: 'SP39QDMXZPH5FBQN39X1ZGK9Y720HNX76SB8MMSJJ, new-height: u152672 }
{ borrower: 'SP3X6BV2AGBCDQHVQ6DD689E8ZY4XJBN10NNNXZR9, new-height: u151409 }
{ borrower: 'SP3EBBKX8GHC76AD2WXFEWGEDF6W446EFQA1AD9BJ, new-height: u151051 }
{ borrower: 'SP1AEBF4EB838CWQ3W4HJ596MYDN4KQ2N3DXGE6XC, new-height: u157146 }
{ borrower: 'SPV6BJMKY1ANCAD8YVXVNCVQBQA3ZT8BVMGQ79TK, new-height: u150694 }
{ borrower: 'SP3YWPQ29SZ3AXXRHZE0JBDBK75GBEY2AT94CPV21, new-height: u317060 }
{ borrower: 'SP1NBN8AM3DKPZRYAAHJE6JCTGT9HB0GDCQ6RPC5H, new-height: u152682 }
{ borrower: 'SP3TEG7QB3MFK5JQW75HEXK5S578FQT06ZHYP5ARS, new-height: u152143 }
{ borrower: 'SP1P6D5YNBWJG4D0SGQAE4F1BMD7TM2QJ0DKJC4WV, new-height: u151657 }
{ borrower: 'SPSQWEXFNRQB3FVR3N4QC44ZKGSQH1ABNAEF0ATJ, new-height: u183880 }
{ borrower: 'SP133HFRSC3TQGG5MQD8SG87C4Q1R0N8HS8VXCVG2, new-height: u176512 }
{ borrower: 'SP3JXVWNAYWQWK8XW0V5B3DMGZK709805K9M1RFZ8, new-height: u209252 }
{ borrower: 'SPG0NKRKQGSMRBMS7FZHMCBWJGDFZF5QNYDT0JS1, new-height: u318222 }
{ borrower: 'SP1BBWNR5ND5XFZH1JW15SXSTKBV3YKCZB53DNM8W, new-height: u320513 }
{ borrower: 'SP333RABDXRWDSWC9ZF8Q4SRBGKETF5QSZ3CKA2MD, new-height: u151276 }
{ borrower: 'SP1N7EGJF5QRETBA0XPSKQVW8BFY0CRR7121E5KT0, new-height: u292518 }
{ borrower: 'SP1TVC41BRE5CYKGG2QJW375TD163MGNSEK2CVSZ5, new-height: u287796 }
{ borrower: 'SP3CXAR2VXWWCCGEQ94YKVVNPN6S74P3YC9XKHKDR, new-height: u145934 }
{ borrower: 'SP3QSR24WRN3PSA6K48HSNWVN4CGTBQJP5ZFCMKRH, new-height: u317093 }
{ borrower: 'SP378NAN3DT5Q6A4ZRQNX9ZX1FHTTYNHXD0VSH0T8, new-height: u145934 }
{ borrower: 'SP2TT71CXBRDDYP2P8XMVKRFYKRGSMBWCZ6W6FDGT, new-height: u182614 }
{ borrower: 'SPMDKK36EX59YZ41ZYSHSQ4AAM8QSBWZP8PKN3ZC, new-height: u151020 }
{ borrower: 'SPAYE8JQ4D48WPH3JA6B331QXTNZE2EK6GPFRFPY, new-height: u178199 }
{ borrower: 'SP23YFKQQB2A83TQCDC4MEQPEKQZJKP83A48XMWXV, new-height: u177831 }
{ borrower: 'SP8X251X0GX2QJ1P2VP4MBREK9S22JW0CMP41G11, new-height: u317060 }
{ borrower: 'SP3MMD4F9KAYJA8TYREJA44ZT9XH9FHQ33F3957J4, new-height: u320513 }
{ borrower: 'SPAY1BMJXR7N24CSBF19QXC730JG2G49JX4XHS8N, new-height: u150212 }
{ borrower: 'SP369YMRM83QWP45TFA6C474VB1F0T4MPKGQKQMZT, new-height: u320423 }
{ borrower: 'SP25KA1RNTEA1YDWWPTMZH2DRYC0SHRR7Z9ZA29QT, new-height: u152706 }
{ borrower: 'SP2F6XA179WBAJ3HBZKHCPVXHY4YGNXWHTP0APARZ, new-height: u145072 }
{ borrower: 'SP1XHZJ9QQGM8WQXK0BHMDE61XQG26NTTQRHZWKG3, new-height: u321305 }
{ borrower: 'SPCH1JNJHNBTRSHRWSCFTJ9Q4Y9KE8Z94DX5ME1P, new-height: u321382 }
{ borrower: 'SP3KRJTWQ83KV8GNFXQVKZY8Q594SQ6AKSAVP5Y0S, new-height: u149985 }
{ borrower: 'SP1C7AJ04AKA9KAGB41MG2D6W37GYFEXV7R2PBSSJ, new-height: u321382 }
{ borrower: 'SP3XC5VKX238MJTBWME5PDK3WYT4E5B02XGP08XSR, new-height: u237149 }
{ borrower: 'SPTGCTP78C8155MKSF0X7P4C6P9YFWY1W2S5B393, new-height: u320423 }
{ borrower: 'SP33XF6CRYDVEDB8JXERJW9M22EF97W4YT9KF14R, new-height: u320513 }
{ borrower: 'SP26WMWG6PTR2QCH3XXPH5SZHH2FZ4WCSJJ32DBNP, new-height: u320513 }
{ borrower: 'SP1BQBW16Y1PY48M0F5JFWP46076TK7TH5XTSC6Z7, new-height: u150225 }
{ borrower: 'SPKKA9M9KRQ1P2B6HAAJZ132TVYMBP03YJV7NR1X, new-height: u150766 }
{ borrower: 'SP2TRDF0MSFET67D45JZS101FFN1PCR9RS823HS69, new-height: u320423 }
{ borrower: 'SP2Z4MW9Z71B3SQ1NFP3RB7FR2SMBTQWHVNFTXRF6, new-height: u257212 }
{ borrower: 'SPJSE0WHAJN5R60522K0JY1PVJ2SKSTXKFH3SE11, new-height: u150507 }
{ borrower: 'SP16VJE0XWKRZ8XPQM9RXNR2KC03YYX8910YWWSR, new-height: u151328 }
{ borrower: 'SPD77FQ5YJRN3B84519VF6APYNFFVGSY27VZXZ49, new-height: u156063 }
{ borrower: 'SP3YKW7DBTYDSA0FJH1EF8Q208A9HP65RAP4WEG5H, new-height: u151390 }
{ borrower: 'SPH9Y6FJJY527NKJA8VGEG2840KERZZHVXWVS8CP, new-height: u150295 }
{ borrower: 'SP2E2DB7ZRW9TQ1AEMC94NY23PW0T99X7ANB0KY2Y, new-height: u320423 }
{ borrower: 'SP13BY024J6JHW526XNGNXJVSGXM40VCBM5PJ4HRR, new-height: u150961 }
{ borrower: 'SP384PHPGAYKGX3Z8A3MKHT6M9TNHNPA12YRSXCA7, new-height: u150027 }
{ borrower: 'SP3SJSJPN28AAZMW27YKY4CMT9J6PVXHTXCMBZ1FZ, new-height: u150865 }
{ borrower: 'SPTNBAFF07YZSTQV757BEMEXK8ESP3T2CYN1WQ6V, new-height: u152681 }
{ borrower: 'SPSF51MNG91H47S50V5PHG5G22YJ7A2ZTNR5GYJQ, new-height: u320462 }
{ borrower: 'SP2MX50BX723AH6BDCGXW18VJGZM6TKN98J0VQR9T, new-height: u156878 }
{ borrower: 'SP1NJHRCCT85H32JEQK5JCA4MW9P2PMQY1Q5D53VG, new-height: u156190 }
{ borrower: 'SP2QCDVNWBM0HPKXZ2B9T9SJ9YB2ZG1KJ6WXJK61A, new-height: u145546 }
{ borrower: 'SP11KG08SDVDGC8QF1D1FE9GGT05WB51CMX1B5DK5, new-height: u179234 }
{ borrower: 'SP2W1HT181ZWEY1FZNEEDEKWKSKRAXHGGJCWC84PN, new-height: u151565 }
{ borrower: 'SP1DTNP1973ZGMXPN21RBB4P73Q5G2H4JRMXN35ZR, new-height: u156761 }
{ borrower: 'SP2NAQ3MDASD9EANBHAZQ83XEFBF2GH8XAQZCANJV, new-height: u152673 }
{ borrower: 'SP1QSMPQJK184K2SHBG3DZH9BF5A2FVPQ4ZANC79V, new-height: u144772 }
{ borrower: 'SP3XE83R926A0X892VA30028K0TT06PSMC8YGWGXQ, new-height: u145817 }
{ borrower: 'SP3GNMSAKWK5P93B47EMQK4Y0ZKGHY89SGYN95BQM, new-height: u152672 }
{ borrower: 'SP134ACD749QYM1J4ZTWMJ43MZH38BJB33D24DQB8, new-height: u182326 }
{ borrower: 'SP1TP5Y9E0FWA6J2A7TPWSFXCV2C5A1BMVYBVAQNN, new-height: u149976 }
{ borrower: 'SPKTWHES76JSVK3AC7JQY472EFMQ4AEN5K94BZAN, new-height: u177831 }
{ borrower: 'SP7DTTR30FX57K7W26RCTW1FPAV12DF3B04NBRWT, new-height: u168944 }
{ borrower: 'SP1ZZ7G7R1R548DC7EBVKGWV83EBZXFNA00VDP5FH, new-height: u152684 }
{ borrower: 'SP3X6G145Z6DV5H49MN0P0RK9SXY83ZN4ACM3RPMA, new-height: u152968 }
{ borrower: 'SP31E6MW7V48SGQV5VQ9JX8XCJ0AQ1RTVWEJS9PC8, new-height: u151007 }
{ borrower: 'SP3H16WEDNK57P0N518DK2WY9CWMJRMZRK6F995JV, new-height: u152683 }
{ borrower: 'SP3ZJJ1528NXYXCQMR1BAFD269G48MBW0EZT8XZD9, new-height: u167932 }
{ borrower: 'SP1JHDHYF7S1BWW9DN3692XKY2Y16NN50FWNYZ3Y0, new-height: u150003 }
{ borrower: 'SP34HPDPJV2VE06RN7KFQ775C82ZEVBCAZ4MDJ8GF, new-height: u157072 }
{ borrower: 'SPA4Q216PTXBE9YGG34JN7X7AEHZHTJZQP1YV7A3, new-height: u155898 }
{ borrower: 'SPD5R8ZB3B0VCRDW21STNPG035P99DZDFY17DAJ8, new-height: u320423 }
{ borrower: 'SP1R3516EDV2QB10HQX6ACKYGYP7A4BQ77M0CVKZB, new-height: u152706 }
{ borrower: 'SP3KSKWPGS0PYQ8VA027V5EDFJSDG5GG91QTNFDHV, new-height: u317354 }
{ borrower: 'SP39RF23607FNN6J373FDRPSYARAA514W9RKVGMZJ, new-height: u152760 }
{ borrower: 'SPMKGW2WW33NJTD57YSVB7JES847A5VGNJNV0GR2, new-height: u156878 }
{ borrower: 'SP1ZBHR6B8BH6F4S7MFX9AV4MS0B6AE85E4SNARZA, new-height: u144760 }
{ borrower: 'SP1FKNNAKV8FJ93YW9W3XWPV0RT385V3ZEX8VJE0E, new-height: u150015 }
{ borrower: 'SP3ADPF1R31REZGRYMC8G62XY3X6KRMFK75YM914J, new-height: u149835 }
{ borrower: 'SPM5A4Y2SG6HM2PC3MQFPSPWH312MMPQH3FXBVV9, new-height: u170774 }
{ borrower: 'SPCRBX951ZJVKQ9B0ZN8Z6QG3WZ0FG8D7TC3PSFZ, new-height: u283124 }
{ borrower: 'SPZA8R3NW38689CTBWE8H4WSR4WY63Z03A3EYR4F, new-height: u321358 }
{ borrower: 'SP1PJCJ3VRVZYF36DJE0SXX8DRR8D9CK7JNGM7V8C, new-height: u321382 }
{ borrower: 'SP1KMMZCJESRYGHZVDZKRXZ1TY778GJJF6SRJ60WG, new-height: u149905 }
{ borrower: 'SP111G0S42TY2TY3QSATH2KZMMRJYY00Q0WA1A1CR, new-height: u151007 }
{ borrower: 'SP1TRMTVW882W2M7ED9AQ9E3T7YAR47CW3N83AFN, new-height: u256129 }
{ borrower: 'SP3GEVG8CBXAPVBYKR20KYJ1MA206V3SDFD5W3YKH, new-height: u321382 }
{ borrower: 'SP11GJ9MXCSFA8F1QZ2P5RRD85JKRYR1A1HC05KSQ, new-height: u285160 }
{ borrower: 'SP1YM7WWHA02RYR14EN2E7720KZMWVCJRX9WQ3HX9, new-height: u145934 }
{ borrower: 'SP3G2C60QHG9ZNBDG0J519C3QQEP8XQNWD80KD9GS, new-height: u189151 }
{ borrower: 'SPW22ZQGDN9H5VVMZQ0DRFT26W8PQ8N0PWR89KXT, new-height: u321382 }
{ borrower: 'SP37MW060D9HH2NHY3MS4Y22W9D9W293YK9CPDC0E, new-height: u169603 }
{ borrower: 'SPV5MQ3N28HX7K9YXY1EF71KHSCPPQ6ECXV7GSSY, new-height: u151319 }
{ borrower: 'SP19V54WD431PG6VCS5NE31BAWVQ9DB4WVHN5Z579, new-height: u152881 }
{ borrower: 'SPF236HH35ZAMTS7CV08V75G3DT9B2V8S4H4AQVA, new-height: u152672 }
{ borrower: 'SP3J6MR8XGT88PWJ43KR5XG225ZC17K3R4XY5R7XC, new-height: u156542 }
{ borrower: 'SP17Y3F4K7MTJH4724RMTZFZ2V15AJFWGJSAJP2YZ, new-height: u152685 }
{ borrower: 'SPX4BWHPH4CSCP3159KR8EACAQ9CQVX2N3W67K0K, new-height: u152323 }
{ borrower: 'SP5TXV59MPMDRQKRC4E6TD9FTW2SVG3DRNTKP6G4, new-height: u152682 }
{ borrower: 'SP35N6HZTH0GBN0N69FDXWR13T8JG3GRE3Q4WB6V9, new-height: u215365 }
{ borrower: 'SP3CPTZK9X90P1JPEGRFA3DCDCTZJ0RJKM0EFCAH3, new-height: u150224 }
{ borrower: 'SPDVQQ1N5CMA4H12SV6EWJYMW13SJWRWRFDK0C2A, new-height: u157072 }
{ borrower: 'SP2XV97TQ925WMTQTBJWJVP5ZEK7ATR0G5F6982AX, new-height: u150341 }
{ borrower: 'SP2EWMWC2FZCT7M2PX9840FE811VCFT5R72DANVCK, new-height: u293286 }
{ borrower: 'SP33YEMAP9AHRJGW94BA04HXVJ7BHZKRCWGFFGAKD, new-height: u321358 }
{ borrower: 'SP3FR4YBYR6ZK009K5VWQT5DPR9XGVMGPJC3TYJYD, new-height: u151828 }
{ borrower: 'SP17W459944DRA4FSRE1DYTHTVZ6620WS8F24NXR9, new-height: u322141 }
{ borrower: 'SP3X6RAX5BFAQXQE2PZP1JEK5XBEJJV1NMGANGQ36, new-height: u152127 }
{ borrower: 'SPF0Y419TGBGAYSRCQ7EN2GXCZK3A1RGKZGTECM1, new-height: u152673 }
{ borrower: 'SP97H7HP5XH17KQBH7VQFT08CSA4Y1YMZTS58371, new-height: u156235 }
{ borrower: 'SP3XYXX4N50GPPAZ8YE1C9XX5YF3B8BJBQAA9FVTT, new-height: u152682 }
{ borrower: 'SP3SB0NRVYFK91K2GRXEKR4MEYVBDNSS5ZNBAR7GB, new-height: u152683 }
{ borrower: 'SPAV7F452T54B4XYX5SSM5QZRRKQXS1B21HP5GTN, new-height: u152707 }
{ borrower: 'SPZBR3JHKX1E4FD5PPF9JGVFJET97CMSD1NZ95C5, new-height: u149900 }
{ borrower: 'SP23HPNEMH64THDRY5PNKCTA481CBB8R25CFCRZ6N, new-height: u152706 }
{ borrower: 'SP2HXFQVSP5JQH6MSWKYWCZM3FPRCDFCD014PJN7C, new-height: u150760 }
{ borrower: 'SP28DPJ06NQ0HDS000D9482FP0DHKHY3FRTAYD2QV, new-height: u150007 }
{ borrower: 'SP2HMJC22B41J1CXXPMKJGW0GV3PWF9X0WN5ETW0E, new-height: u156541 }
{ borrower: 'SP15ZGMJC9W74NARD5VPB4DNBB1AB92YH3JXFET5D, new-height: u168050 }
))
(define-public (set-borrowers-block-height)
(begin
(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-wstx-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-wstx-user-burn-block-height-lambda (wstx-borrower (tuple (borrower principal) (new-height uint))))
(set-user-burn-block-height-to-stacks-block-height
(get borrower wstx-borrower)
.wstx
(get new-height wstx-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)