;; 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: 'SP1ZW56W69Y6WHE2Y7P3G5GSB3B9WZV0X1W467BKF, new-height: u155338 }
{ borrower: 'SP3MK3F24FR93SC4SPDCGA75BHJ9VK9VJDZ3QF9DN, new-height: u155337 }
{ borrower: 'SP2ZNESKVAN6P9WYNXY0TCNMPFSKCMP0XP82ZE3BW, new-height: u155343 }
{ borrower: 'SP3XTRRBJHEMVY2SF77DJKDXV5Q09MRZXYM431P3S, new-height: u155343 }
{ borrower: 'SP34118J2CZQ2JEQ1V2Y90A5WF2ZT8920VTY6E4VT, new-height: u155905 }
{ borrower: 'SPARK7R24Y65X53R9T9FHB8H412N2DFCYTMH688S, new-height: u155337 }
{ borrower: 'SP3T01YZJWMQ2VDG20MGX23WKHE1XT12PHJGPJBAB, new-height: u155338 }
{ borrower: 'SP29CRNY1ZCDCAXGG65P60E31K1QN6E3AHWDA1VXQ, new-height: u155882 }
{ borrower: 'SPY5MEW1FZHX3EQGEVTVRJS5ARJRKSFMZ0PH4ZCY, new-height: u155343 }
{ borrower: 'SP7F0N9E90XMA50F58CTHRT2598E56F6V3VPYXCQ, new-height: u155122 }
{ borrower: 'SPKPFJCXQ5B9EK4X4VKA0F0VZAP46XHR2WRANSE2, new-height: u155338 }
{ borrower: 'SPN0FMB91X65WPEMQ278NCWCZ14XSAT7MJ4J9543, new-height: u167101 }
{ borrower: 'SP2AZJJBT8T8F9VPJX0H5P2722KWWT59AVAHJST4P, new-height: u166543 }
{ borrower: 'SPDH4MRBTPA7TY969XX57HB0EZJSGTTHP5ZBTAPH, new-height: u255419 }
{ borrower: 'SP11V2Y543KRWF5Z48HVC0EQVJQD5JDVEE70EWRKZ, new-height: u156396 }
{ borrower: 'SP2MGZ8M0XK3E8WZV2CZ3SY2DZEG8BAZXAX07M7MS, new-height: u152112 }
{ borrower: 'SP2ZYTBCV6MK1M9XRX425483MT8BBA50TJQBBGWD4, new-height: u165989 }
{ borrower: 'SP1P36H5CQV121SM6RRP839NDPSG5QA5JA098KJ4M, new-height: u155341 }
{ borrower: 'SPNF8ED588DAEYE16TE56R5N0JAKT1F94N5N9C2P, new-height: u165837 }
{ borrower: 'SPTMXJTZ8TY26H5P6GYC6XHAGJJK3WB03MWM5W27, new-height: u155946 }
{ borrower: 'SP2CPG8G7RHK0FJJTJP1XF0YQ9Y0C03NT339QVKXQ, new-height: u155986 }
{ borrower: 'SP2H84QZT1V0YZ70RTRZFT7HAZWDK88XK4CSNBMYE, new-height: u171456 }
{ borrower: 'SP3GMVPF5WSRFVV8WQ6P0M4VZFMC46R5MRA6P34EE, new-height: u171467 }
{ borrower: 'SPK959EVHGPV89APDC0QFDJ8N4PEKM1MXY519Y04, new-height: u144422 }
{ borrower: 'SP2R0T61X06QHGQ67SNTF6M533QB21FBYWY4JFG1B, new-height: u151984 }
{ borrower: 'SPWDN8SX01N2310G2A9Y7M20QQZ9KC594DQ0QZKH, new-height: u165824 }
{ borrower: 'SP3VRJ5DP3FH2634PW3T3S60S9EC010CAPQ7XV35N, new-height: u156002 }
{ borrower: 'SP23YTQDD36TXW1Z3CFKGHWBGDBB4R2B0GFTZ649Q, new-height: u152112 }
{ borrower: 'SP2Q4KDMT49WP7E8GG19Y4ZVJAT19M2DEHN7NSPJT, new-height: u280974 }
{ borrower: 'SP3J86ZDPVYJ50JXAXX5VQJ19VVDCCXCMDS0TT0GY, new-height: u165399 }
{ borrower: 'SP3QAE6MF75M9WPNDHZWV2DCJ33DDJ2NES5051JCT, new-height: u151319 }
{ borrower: 'SPKA8TZZ2GJK06RSQ2JFJ0J7X85D8P4XX16C8MX5, new-height: u252121 }
{ borrower: 'SPQFACZ5KGYJH3XG8BDWW2VGGRBJ8BPFVEXEVC6M, new-height: u240226 }
{ borrower: 'SP350N4SX832092H6F07YKB1R5X5DM90BV6P97B8N, new-height: u152716 }
{ borrower: 'SP1V0MWV8V9Z7MRVJAABWR4XPSFJZ67R4FMN011HE, new-height: u164976 }
{ borrower: 'SPC92KKHGWRXAJD30ZHQA041X1R5Z3EHMWYMFD3G, new-height: u243652 }
{ borrower: 'SP34PBER02VRG8CSPH1J4F3BHRDWEWWMX30Q2440T, new-height: u191128 }
{ borrower: 'SP1T4RZDKYPN7QQN2SMX7F73MQ8ZG4SDYX017D8X4, new-height: u154765 }
{ borrower: 'SP1H6WMP29RXTQQCB3QSA146P6SR7G59BVHTTKWCC, new-height: u168415 }
{ borrower: 'SP1MZN19KN6DHGHYWB580SAGA7D95DP4RB4PCSG2A, new-height: u154878 }
{ borrower: 'SP3DX1DG12BBTDHMXNHXQ5EV4MW0HP7SZE83D5ASV, new-height: u144768 }
{ borrower: 'SP34A1CFX21AN9X9AK2J7JA4BN3A9ZABQ3014P71V, new-height: u165183 }
{ borrower: 'SP17YG5A833SDJTSDKF1YY09GBHC2PTY22S0N36FP, new-height: u151058 }
{ borrower: 'SP27K5VXGG9512F3Z1JCE5NS4NDC72KAAZD929ABS, new-height: u338715 }
{ borrower: 'SPXRWYCBABERSTKC2XNS4M9QMQFSR907SWR3582S, new-height: u170257 }
{ borrower: 'SP1Y2T8VZ3KSH3ASQN42ZT291JPEGEX292HKN525D, new-height: u202838 }
{ borrower: 'SP3KFMTFS3W0A5VE3H3JTCK6GT9SKFKB59W2DQ6Q0, new-height: u164559 }
{ borrower: 'SPGZPVBKCH1ZV7R31ZW7E9R61E2CV7ABW0XGEJWP, new-height: u166294 }
{ borrower: 'SP12827T3YEN8812EXXGYCPY1BW4M3KB6FZ1FCRBD, new-height: u241601 }
{ borrower: 'SP1GDMYCGWEF311Y1SBDB3J8XKC4JD5AJAAYFJZNZ, new-height: u296422 }
{ borrower: 'SP184S7J6TWNM75WJX98X9P7R0FMSQ312TF5B7X67, new-height: u154461 }
{ borrower: 'SP4PFFP8JRS69BS65RQ0TVQPHWZZZAAVTHK6PQWT, new-height: u282304 }
{ borrower: 'SP3KEAPV2K6Z5Y7TA7K5WYY2BYE19320DK7D9RBH3, new-height: u151716 }
{ borrower: 'SP1CKNBR248ZNTX1B443TSS6FRNNNYQD44ACETE8W, new-height: u151264 }
{ borrower: 'SP3HCM6CG3EM4XK5EM65ZP9P9K5QHTY5X868SVAAJ, new-height: u296408 }
{ borrower: 'SP1DC9B9FTVED6N1984X89V3XMCJFRVAHHG62Q6WH, new-height: u182661 }
{ borrower: 'SP3PN457AYB863WP4DEQEACE9C76ZBZG2ZFRX0XGA, new-height: u158918 }
{ borrower: 'SP1CFYP0E00YWR57Q655YQYZWXVHPF8AXVSJA82QC, new-height: u171406 }
{ borrower: 'SP367R692XMF14Z4AY4XKYY1D7XK8E7GTZ68P8Q2Q, new-height: u168164 }
{ borrower: 'SP1S2S18XDQ71A92JVN898S621XAQBDQMY6WT4EA4, new-height: u154200 }
{ borrower: 'SP2Y55WKSPB1ACM5RZDAKPDKHECZJD4GZ4V311NP7, new-height: u248890 }
{ borrower: 'SP2XM1QJB05F2JA76J6PEKHTEKBW8GEDY1XRND9F6, new-height: u150435 }
{ borrower: 'SP2BENRVZR0TJVXGV3X3XMK9V7C0TJFGSN8SYB6DP, new-height: u292616 }
{ borrower: 'SP37E46M4GR5X7A1KGE3B3V7TCVWBJCZCGQH0PS40, new-height: u269863 }
{ borrower: 'SP271PVR9R7FY3T4SNZ769MFB7HS4CGBVDN61VSPE, new-height: u170655 }
{ borrower: 'SP142E4RCPP5CF4CH8XJWKD4VSD06Z3207NPHMFN1, new-height: u154586 }
{ borrower: 'SP32AD7VVPWH34DGD6J9TDE77PV4506M519W8TVV1, new-height: u164505 }
{ borrower: 'SP328YDZCWYGN7865XXCTR4MHRAT7AK6CJ9EYENAK, new-height: u150001 }
{ borrower: 'SP1GNWSAKFDWWRXCTMQTH7BSRDXRRPQTMJ02ZQE38, new-height: u164755 }
{ borrower: 'SP23S4KHTBQADHS6Q0EQVHTC7Q9YRGBSD0F3X6QY, new-height: u154156 }
{ borrower: 'SP1PSTA73FRSRK0KZAWBCM9KRXHVE3RY255E3VZ3N, new-height: u168595 }
{ borrower: 'SP3HNAHDP23DDC4589STTSDYZA3CPYJ84R872D086, new-height: u156512 }
{ borrower: 'SP18QG8A8943KY9S15M08AMAWWF58W9X1M90BRCSJ, new-height: u265797 }
{ borrower: 'SP3045VHS30MW2T425PMPD7FABPHNTR47HVZGFE90, new-height: u298498 }
{ borrower: 'SP3GSSCC9DBPFP97033XDSVHDX6TMQJ2DCN56P5HN, new-height: u154521 }
{ borrower: 'SP6SVZRG52SS35ANKZR0RTBE0CN982E3AJZZKZF3, new-height: u162925 }
{ borrower: 'SP2YZ69H0J46KC6N3TS1FD26W73Q5TP6JBB2G7JYP, new-height: u164126 }
{ borrower: 'SP1XWB45KS2HPJ1C25C2NX7FSZQZ7AFFS3HCGZF1K, new-height: u151195 }
{ borrower: 'SP399DK5DZ3Q9ME894KEFZB4C7BPJRT4FYH08YPNZ, new-height: u165731 }
{ borrower: 'SP2SA9PKXCA39VDF8P8YX9V32QY96QZ46E344SYNA, new-height: u154041 }
{ borrower: 'SP262PDQ7VA401X7FSP8PHH3F0W6YTWA7YW9A6R4K, new-height: u162408 }
{ borrower: 'SP1YWFP80QE1GD65MPGCXE509R0662DXJ9ANCKWDD, new-height: u162902 }
{ borrower: 'SP3P1TCXN3FP3V79YWXC49F5X2HYKS39CMCP5FEHN, new-height: u164552 }
{ borrower: 'SP196Q9CYB2NZ24AMZ0XHP5N8MYRJ1NE48XXA0GKK, new-height: u153997 }
{ borrower: 'SP3DNVSQBYVJDSZXMCFTWZP3DHAC01PGG8RWNRQ3E, new-height: u299068 }
{ borrower: 'SP39RQFWJZ0VC7P8RW2066D5E5GZ8S4YA4CK4R11W, new-height: u180905 }
{ borrower: 'SP1FJ766Q4703PCENCWPSSSHQSTAQ34C15CFA90PG, new-height: u154239 }
{ borrower: 'SP2CJBNE5DMQA3KS2S2AAE0AW8BZDS33RXCBTXPQM, new-height: u153941 }
{ borrower: 'SP3MFP8XTMW85B0X0BPFT81RPMC6QWDR34HTWH334, new-height: u282853 }
{ borrower: 'SP2WCGD4T8V432VF1866PKN7B313FMRKX795BCME9, new-height: u144481 }
{ borrower: 'SP363NCTT1W21JC3JT3417XV8K1XJQNQZY1MX4FH, new-height: u180005 }
{ borrower: 'SP3RZF2W4YMMQX0ZFEQY8ANW73WTYNFKCD9BACCCH, new-height: u293109 }
{ borrower: 'SP2S48W70RJW2FZQ0MGZXN6BJKQ4GNRRV6B83Y91S, new-height: u206100 }
{ borrower: 'SP1RR6PNPESZSC8Y7APDX0GZCBJ394YSFPKVMDK3V, new-height: u161659 }
{ borrower: 'SP3TT3RNCJY4GKJK8AYNJJD0EX32G0A1TCAM4NTSW, new-height: u224867 }
{ borrower: 'SP1K30YJE3K05ETW7MBQP8VM2ZC5DFPECT2ATXDPF, new-height: u151119 }
{ borrower: 'SP172ZXH6NM1C47HA60APXRFMKFFHS9MFMEM7XT0G, new-height: u207616 }
{ borrower: 'SP32ZYEZGWHHFQ5RX2WMFVDXR77C5WWQP4EK7E6HC, new-height: u198344 }
{ borrower: 'SP3G29YRCHN8B474T8MXJWEYZE16XRPMQW1DW5GXY, new-height: u305767 }
{ borrower: 'SP2HMHC2JNXJ9363MDE1G2S4CTJSMDCXG4AG50VQX, new-height: u254340 }
{ borrower: 'SP79QJDK1XBRECMGBMYXBHH5ANEQ0GCNYDGP39M0, new-height: u153634 }
{ borrower: 'SP1MKKX1CDRYNRGSA1E1BE4C2Q63FK27K5ZWMATYE, new-height: u209519 }
{ borrower: 'SPYJ7JAWA02WSRH51ZSFYVBKQ80H6B3G9K3B7CKZ, new-height: u174759 }
{ borrower: 'SP1W2ZYVWM974TFQBQ0QKM8CG6YHACJKVSA47K0GC, new-height: u169541 }
{ borrower: 'SP3G5RZETXZ4WB7BWCMF57CF7DSR56M0BHE32VB9E, new-height: u203250 }
{ borrower: 'SPHKAF5XRYMQ164HQ6JTN68FHH60CCKC7WT4GFA9, new-height: u153357 }
{ borrower: 'SP2X4SDD5KGTQ225ENR03BVCH2V6F28EBX60814AQ, new-height: u161661 }
{ borrower: 'SP7TEF3PAXCQHZF4N5PT68GWQ5PGWR6VDNWQ5CYK, new-height: u170294 }
{ borrower: 'SPC6G4B6AWB3Q72EDWNAKGAR2QGZP46RSCWQPPBK, new-height: u167939 }
{ borrower: 'SP2K3F56YDVABD2MQG01KGJ0RQZYY4C8B6VJS5GT4, new-height: u161660 }
{ borrower: 'SP2WHHNS0QFZKE4J2V0PMJ9X4GHKXA6NTCMXX36AF, new-height: u295332 }
{ borrower: 'SP33JS3FEPHZ0254MX17SK863QE1MNTJHSEDY94RF, new-height: u144342 }
{ borrower: 'SP1K51PR6KXQKWGHNRJFK92SCYTAPYDKHEVWX5TPZ, new-height: u153334 }
{ borrower: 'SP3KMFCG18AGYH7A9V3JR1PSG74NFDQ6NTB2G1R54, new-height: u152207 }
{ borrower: 'SP7TYMCHNJJ0F8FQPXSN2B7TT90V9798G2PQ2CN3, new-height: u170739 }
{ borrower: 'SPD035CRTEXCYF6WMFZVNPPG0965TZM74NPSWXB6, new-height: u151731 }
{ borrower: 'SP2E3DNHPVJH045SSMFYN1DW7ZWGKYZBZZQPG6V1P, new-height: u153093 }
{ borrower: 'SP1N6T6JZFD8CWDP76BMVR7MCF1AHXA4EGC87F2DP, new-height: u153190 }
{ borrower: 'SP2FSQ43XMXR76HN1X0YMXWJN4NX7HKKC6DX7D2H6, new-height: u161659 }
{ borrower: 'SP1232YJY3NM44265BK37ZC3S6BQ1JXB4MZG1MAZ9, new-height: u161660 }
{ borrower: 'SP2XE0W323XF3EZETK5VHXJYKE84VWPK50ZMB31S1, new-height: u169121 }
{ borrower: 'SP3BK01NQBKFGA8W39N7YQ4QH2G6K9T5FP0258VY6, new-height: u177800 }
{ borrower: 'SPNQMBXEM92PQH5VE12E82JG74PHPP1TW5FAT84P, new-height: u153574 }
{ borrower: 'SP1VVWMVY7YCM5Y5DJKJNDYX4PVKJD6FQ2K1VJ6JB, new-height: u159547 }
{ borrower: 'SP1QCQX8N19AQ3EP1W08YMMPMNNMA5Z1Y60ESHQ25, new-height: u161283 }
{ borrower: 'SP1SG8ZPWC51YPDH495G5YX9NZZE8A84WSANX7HP6, new-height: u150247 }
{ borrower: 'SP10Q0MJKXWXJ2FH9GZPSJXHJX4K2ERET5TDJQBC5, new-height: u198148 }
{ borrower: 'SPNWSXE42S9RHBXASM8JQ15APPYQ6TCNGGNDZ02C, new-height: u153092 }
{ borrower: 'SP3ZZ0MR8C26QWXE92NK0MR52KHMBZE3KHANX3E1G, new-height: u153060 }
{ borrower: 'SP3RRNXXXWTX6DQVA1QGR7A99T0063NK6Z85RQPWC, new-height: u153191 }
{ borrower: 'SP354SDJC9RMTP4ZC4ZCT0AB362XR44B74G1SN33V, new-height: u153058 }
{ borrower: 'SP8SHCQXZJZN6TS58MTX6M4PBN5PQ110F0PAEG9T, new-height: u161382 }
{ borrower: 'SP2XCT5BAMVJG6M9NPRYEPS33S04SWD4E9DTC4EY9, new-height: u150182 }
{ borrower: 'SP2HJ5P67V0MKJA0BNW4AVGF166SK4MX8W6JK2XC, new-height: u153139 }
{ borrower: 'SP336EE6CBKM01N4G9E9BYFN1WM46GQJS22TDM8YS, new-height: u153302 }
{ borrower: 'SP1YYHMNQTAX7ZYBJ981N8QC8CD4E1F7C4GKN2588, new-height: u153284 }
{ borrower: 'SP3VM8F6FKS3810M3NVE6GZ937BJXZGMVKZPVT1E2, new-height: u166539 }
{ borrower: 'SP2M64HRBNK59JJ2V23D92MMAS7V85GDQ8VCRGDG9, new-height: u167943 }
{ borrower: 'SP2SGTG124NX7XPXFSTD47T77N0K5KX7DGFT2SRV8, new-height: u149895 }
{ borrower: 'SP3F7B21T0T3XR3DWQJD0YFEAQ82WTZ25YYBNTKPH, new-height: u153092 }
{ borrower: 'SP21TMS2PXRAAKH1D6GDZ9KD1JYJW7SXX54XHJ1AS, new-height: u153091 }
{ borrower: 'SP2CDJ70KAQM56ETHXD51C0BM344PM20H3M8F9H94, new-height: u153060 }
{ borrower: 'SP1HNQH0FW7N5QWYEF77SGRZSDPHCV39TY3SJN8B1, new-height: u153366 }
{ borrower: 'SP20SZTX927EXMBAZH6ZQ0REQS98K201J1A0AAXEH, new-height: u161374 }
{ borrower: 'SP2YT55JGXDRM1XRBAKJ1H9HRY21G4XZERTJ6K6WC, new-height: u153092 }
{ borrower: 'SP12RM1MZQC1XRW8DVS92D07TJX8CCEK9K3KK6JV, new-height: u153192 }
{ borrower: 'SP1G0EGYPGT7RQN2JJEQVPP1QRHZA5Y5HHY2CQX0F, new-height: u153192 }
{ borrower: 'SP2ZGXB09V8T0TV1Q75PKA8YVMQBC0ZPFYAE18972, new-height: u261186 }
{ borrower: 'SP1C3RX6Y4M3E2SK305WY65VFWD956GWEGZPSSEVB, new-height: u153094 }
{ borrower: 'SPFYP975AXQ1T05VZ9VJ3RRNRNHXJ70SZJ96PS59, new-height: u153094 }
{ borrower: 'SPJS1QSCZH9X1M3GF6P6YE8382F49947VM15MHCZ, new-height: u153292 }
{ borrower: 'SP32ZHGWDV2ZRTDCJ08EVF9WSNED529HZV9GQVCAM, new-height: u153093 }
{ borrower: 'SPSFQ68AE3NG4JGDWNJVWRMSEP7WT4DHEYWF5XJJ, new-height: u153093 }
{ borrower: 'SP1E2630AV1RBY3A3D56M2TPF6PH63MGBA1FJSY63, new-height: u153092 }
{ borrower: 'SP1XVVBXPSRMQEEDB549SY1THD1Y00KDHHWXTYFXZ, new-height: u328198 }
{ borrower: 'SP38XSJ91XTY6ARN2W58AKKPBJAJ0AM02W1QJ497F, new-height: u264901 }
{ borrower: 'SP3R7JHWZNMRX4NG19QZ91SWZA4MF8HJD04131KXJ, new-height: u152686 }
{ borrower: 'SP8J8NZDN88QPS1PBA85R474QYS590HPRP34TEWM, new-height: u153094 }
{ borrower: 'SP22SM689EZH0AYPTF4W4WYGEKWY9TV83RD1HQ1KG, new-height: u156906 }
{ borrower: 'SP18Q554PS648J745RNFFKT90QW7NW8WASQJ06TC8, new-height: u152682 }
{ borrower: 'SP2EKAF598JF8074QDDRZTD27TQEXDVN63586MYZ2, new-height: u152681 }
{ borrower: 'SP3W5R37Y7Z0VKFBGRS4FKTRM7H1QENTQXNFZ64H6, new-height: u152683 }
{ borrower: 'SP85BBSRQXDYV7VRCH074DXZFZTSXC3D73BD707J, new-height: u153092 }
{ borrower: 'SP1MPZZ3Q1AV52XYGQV94FQD0YTSHPQCYPKSDJ0SJ, new-height: u152673 }
{ borrower: 'SPVMY3KNEF6VZ6NXG0VCRR88XGZQ6AQQWB9ACWP0, new-height: u156760 }
{ borrower: 'SP3MQXSR0HXPBVAM36JWVQGEG0WBNSF9AA3K4K8C8, new-height: u152950 }
{ borrower: 'SP3YYBQ9Z8213CA0XBG92H8HVE8JF8E40XGEQ3ESV, new-height: u152695 }
{ borrower: 'SP33V8QFCFF18VFYAKHN8NPS998683P1N510RAD7W, new-height: u152672 }
{ borrower: 'SP3PKRBPR9JVA3C4DB1X6AB8BPWWMZFK158GC7RA1, new-height: u170981 }
{ borrower: 'SP3ZY0X5RVF844ZSGBQ22MTDERV2PJEN1C5TSG1N0, new-height: u152683 }
{ borrower: 'SP1A4MBYCB2DKM0HCVPTCKWBVSAD0J73KWVRJ8RWF, new-height: u152979 }
{ borrower: 'SPH3F1C379BKG5X7YXQEZJD215NG1C2SGHA185V6, new-height: u153190 }
{ borrower: 'SP3SDZ9WKEDX6WT8BKMY80SM37VD6QKGQH9GP5CD, new-height: u153190 }
{ borrower: 'SP2FZMQQT0FG9GNFVT04YA5QCG7NE4ECKANJ2QNVZ, new-height: u161374 }
{ borrower: 'SPEFCW4DY382E1YGJFZD4DQARNWASE5CT9P3V6YV, new-height: u156772 }
{ borrower: 'SP1VKEVK39KZTA7T95XTYX3ACXBSDBDQC3HECH4QA, new-height: u305580 }
{ borrower: 'SP38ZJWREWK3JRM6W09XK5856CN7RGCTJFT1FQXHT, new-height: u170218 }
{ borrower: 'SP1PB8FRYJ04JFK601RA6GRXEWGTZ7H24WZY7PC8R, new-height: u152682 }
{ borrower: 'SP2GZ39RX2YJYQDW72C73X6PFKX086FV9ZVKRTPEK, new-height: u299227 }
{ borrower: 'SP1DA3QCZE3FG9VCZ8V3CWS6QMHYARK0GD26AGQHM, new-height: u152686 }
{ borrower: 'SPFD1J8TSFE71YZXEW0M9J31M7TTPWMVB8R87DTQ, new-height: u153059 }
{ borrower: 'SP2N7FTSJYX9XN22F8EE3X2W2X6KB680W8F2J71QV, new-height: u153058 }
{ borrower: 'SP11CJX3NEVEE6RZD1M6V06A6Q20B553RJECZY6Q2, new-height: u152706 }
{ borrower: 'SP32WAC5Z5TJB57GVFWYWD0R46MKVBKR3RG8GKQNH, new-height: u153093 }
{ borrower: 'SP1N973K3V574VJ86KM95HFCT1T0V1VCQPDADRGMS, new-height: u181591 }
{ borrower: 'SP1353CTXA3DHFWFTQPEHCKBKDMYTJQWWK03RFFFN, new-height: u152707 }
{ borrower: 'SP1AQGDVHGD26NGP5SGVZ85NP6RGPE8DZ57CES1D1, new-height: u151823 }
{ borrower: 'SP1E2KMT1DSKZ3CVRWG9470N5TZFFGZBQZAKYWVZH, new-height: u152685 }
{ borrower: 'SP22DGADCDARESGJ1A9TJ1B8VMRW5BBSNGTW6P95N, new-height: u204319 }
{ borrower: 'SP1Q9SC2P66BRTPPGAASSX8WNSZ38C3XF9XPRFSAT, new-height: u152706 }
{ borrower: 'SP3XAGB4X61XCF68MDMFQD8W7MPFHN8HJBCW2E7JA, new-height: u152706 }
{ borrower: 'SP2A4101CRS4FHK06VGVBP41SD31007A5Z93ZN8RV, new-height: u153061 }
{ borrower: 'SP3EVSTZBE5BKHBREY4RMX5EVH3PJDTPKBG73A6QA, new-height: u284683 }
{ borrower: 'SP3SPBHEFP4M6AAQM16WF8YCXDP01RSN1J6QKZ16X, new-height: u153092 }
{ borrower: 'SPFMSWQ1SRTYSECDBFPAY4KF5HDWC3C0B35CP764, new-height: u151510 }
{ borrower: 'SP2SNQHT55ZM0TBF7DD0TA39XM652QZ97E3CXN2SJ, new-height: u338369 }
{ borrower: 'SP23B0XMZSJW3EX5TSPZZ7D6X9EPT3CA7K2TZFSPB, new-height: u152706 }
{ borrower: 'SP29DX2PV40QY2J6Y66MDTVW5KANSGD8VA1FXC6RA, new-height: u152725 }
{ borrower: 'SP3M87BY9G9AZ90D97V0B25F5JRWRXTWHHNERGX2Z, new-height: u152682 }
{ borrower: 'SP18Q757EDXW10RD1TSKS59PXRP1AEEEF8RWVPY37, new-height: u152707 }
))
(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)