;; 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: 'SP1E3SYVDWCA3TRWT6TF2C3GAHSZB0NSEAQ46WEK2, new-height: u151020 }
{ borrower: 'SP7CNKQV68P6RB599T3SV4QTWTMRQ9CWGBS4MJYW, new-height: u152348 }
{ borrower: 'SP3BVQSZB9GV2YHD7D72QP4RXVNAED4419Z3CYHP5, new-height: u151007 }
{ borrower: 'SP2GTAYZK314040CZJRDV743YTFEQD4SVM67S3D5G, new-height: u321358 }
{ borrower: 'SP9RV75K77F7G8HKKKVS3438JEH8ZBEW36PEVNW9, new-height: u152135 }
{ borrower: 'SP2W7BV0JJX2PDC2KAANHJRX8RXHXK82YCH7KED24, new-height: u205209 }
{ borrower: 'SP3YSS1RJJF8CA39NBGAZMWBEYRMRAFJ72RBSN1TM, new-height: u152682 }
{ borrower: 'SP1C79G23QWMW0M3ZRZM4H24X6WBT6SKN1ZZ3F2V8, new-height: u151022 }
{ borrower: 'SP35KYNM1P6KR4M6967SPPQ5PHCE042CNMF090M32, new-height: u296293 }
{ borrower: 'SP3F287FKZM88HN3W1QEWR7GG8YMECV7A4EKDCQGP, new-height: u152684 }
{ borrower: 'SP2S74ZQE7MBBZPXXHYRBKMZV5CB56AGSHQ98BTJM, new-height: u151102 }
{ borrower: 'SP3V9FWMASAC7552X2RTHG9DQYEPHMM4WSBJM2Y6B, new-height: u152672 }
{ borrower: 'SP1HJ9G0SRVDMH2BPRQGR43T2KB5J301BXEP638CB, new-height: u168599 }
{ borrower: 'SP30H9NW71TNJS2429B5EHB1K59NC4Y11SEYN8GRR, new-height: u152673 }
{ borrower: 'SP1TVC1QY4S3ZPVP58M4R52WGH4EXAH6ET5BC24WX, new-height: u171715 }
{ borrower: 'SP1M2KMGZH26GBB5PMMYQ5WB06Z4BTXJAJYJ77DE9, new-height: u300404 }
{ borrower: 'SP2RQ7FK82NPEBW0P55YVF1S0RRB4SF22Y7YZRCFC, new-height: u152682 }
{ borrower: 'SP2QRDEVCNT7H0TXYTDCPYYHBEEX78CGQ0PX35ZVP, new-height: u152681 }
{ borrower: 'SP3A5Z8D47MQSSSR4M4H4S1EJKN3HHYTAATZPGXX1, new-height: u156146 }
{ borrower: 'SP2K793MN5VVA4GN2ZX72NVEB7E0PGR5CTC3HSVAJ, new-height: u150079 }
{ borrower: 'SP1HXR2W32E3H2WHJFR9JHVA23QGASX6224EPCDP9, new-height: u264284 }
{ borrower: 'SP2Q8R1X37CMM6Q0VQEWRZD5JAK4BXGWWMH8NVJXA, new-height: u167929 }
{ borrower: 'SP3F6G7BCHKGTT9CZ92589F8S39M3WV6XBBKQQ4BJ, new-height: u156878 }
{ borrower: 'SP3H5CRENA8TA1SSYEQ5TXS66AWR9FWH2YA5WJA7V, new-height: u164752 }
{ borrower: 'SP1MK5FPWENNA93414ST9TS5FTADHAM3VWZ3EDEK8, new-height: u321390 }
{ borrower: 'SP1N7R7PT634TRWGKZ620HHMYX4YS1P3996YTM42S, new-height: u149905 }
{ borrower: 'SP20MFRJKMXAB8KZECJZ0CMDGNPYPH3GGEKAQ30PC, new-height: u321390 }
{ borrower: 'SP2P6DCS5N32T9J92BG6YZQFNTJJ1YV34ZPS8CDR, new-height: u321358 }
{ borrower: 'SP2021Q3J7A69XDMJ2XBVMAHF0XNXMJ536F0PG1K3, new-height: u151007 }
{ borrower: 'SPZS4EEFDP278N3BSBAAPHAVFBRXMK733D7AH0HC, new-height: u321390 }
{ borrower: 'SP24HEW4DX7QGE41AV6B67J37M12XQJRJGQM8C8F5, new-height: u152331 }
{ borrower: 'SP2VSRZN573WMBX03S1R3HJC7DYMKD9GPFXKN922, new-height: u152683 }
{ borrower: 'SP1ZBR3FWRCKWKYCCN8V3B5M1XBAJD2YKHK9WYQ38, new-height: u321358 }
{ borrower: 'SP2CE123JZGQ63MGMN3VPY26QTQ1DS1CCEEYB3TVF, new-height: u152671 }
{ borrower: 'SP7A10Y8GBTRBGYXZF02DJS9CWQY0T8BZRAHEASP, new-height: u321390 }
{ borrower: 'SP3B85787JXJ5DPV2K4DCAJREKNGWWHZ37ZENR2XY, new-height: u152202 }
{ borrower: 'SP1BNF6VVD3PE2XEFMYPGVS21PE6CJBRTQ4PTGDFK, new-height: u321390 }
{ borrower: 'SP2NPBYX46J3F8C2FEGVMK3RF0BN6WQNV9EXJYN6Y, new-height: u152686 }
{ borrower: 'SP237V09675NR572ZEW9YM4F2PQWJ34KTGCNJKY30, new-height: u321390 }
{ borrower: 'SPRQ1YDKZ4WDA74D3SXYT6DT7GH7RWK1RG3EKBJA, new-height: u321390 }
{ borrower: 'SP3G64KN9RCX2JHSE158A6AF85R4CMD5Q48ZY41VN, new-height: u321358 }
{ borrower: 'SP30WE8NRFAFFWX6BZ25EE5R8VBWXD01H2ZN4HV8E, new-height: u321358 }
{ borrower: 'SP32Q82EW7954FKDFHWQZBXHBV8H3Q5FC07FNFY4S, new-height: u152682 }
{ borrower: 'SP1K026C1ZN65FG4WB96WPJSCJ44E2MFQQ33XYD67, new-height: u321358 }
{ borrower: 'SP4HVX51TQVRZRYQ4Q3VSCPTBJGE2DW5MGV96X1N, new-height: u152690 }
{ borrower: 'SPG7NBRWFSQ1JXMVHF5457EW651F4DBC2FP30H41, new-height: u156542 }
{ borrower: 'SP9FAJ3ZC3ZYD5PB6F8C6D8FN6WVXD8TV86T61RP, new-height: u321390 }
{ borrower: 'SPCS7TEYP9423PB44KQRF20R6DCEXA6SG4X0GD0W, new-height: u152328 }
{ borrower: 'SP256W5CZ649T316REA29NR3H5ZK6ACA160CYF2XT, new-height: u156542 }
{ borrower: 'SP3509TBRM7VNMREKZQRYSC0CK38GZ3HQZDNT7M8Z, new-height: u173262 }
{ borrower: 'SPGXMKC2BDNBZ9S5219Q420BD2HP8G44HP6C4Q7P, new-height: u168289 }
{ borrower: 'SP1ZR6F7803KPB9F6N9QZMX51XJ2Z10NQC2V7HPV8, new-height: u192289 }
{ borrower: 'SP18NFAVW5MFHM3EWYQ2C5VMJKT2XX7GKN5KQZ0QC, new-height: u261479 }
{ borrower: 'SPNAMJGDVGM3P0E7JTZEWCPZV8M7J2RDWCGRXNN9, new-height: u150231 }
{ borrower: 'SPCCXA6F61STMYXT4NX6GN0YJHJH6M637KA0MKAP, new-height: u156235 }
{ borrower: 'SP2HTNFVF2XKP814TTY9M3B2N71C85G34N4R576YZ, new-height: u172167 }
{ borrower: 'SP2EM5T1YJNVDRKXC4M7J1EJV9NTN84K9PN1ZS8GE, new-height: u312466 }
{ borrower: 'SP3FQ2HPJ63E6F9059DC382YFPY1B0Q3KQFPJF6SE, new-height: u165469 }
{ borrower: 'SPK39Q4SZZ0JCQZ18X6R2X64EDX5Z1DSHJHME67G, new-height: u167797 }
{ borrower: 'SP2AA3RQQ8R98CZER4J1SMCSG879A4KM3WH3PM1KW, new-height: u152686 }
{ borrower: 'SP30W6DD86PVMF45CBSJS330ZAZ2T76VT36206VHR, new-height: u313938 }
{ borrower: 'SP12M9AB90Y8V5V645SZCM2DBE2GS82XET2CXRJE0, new-height: u177831 }
{ borrower: 'SP30RK02S4MV7B6KEXCNYKXKBF8T3B1S5G20ZSV2K, new-height: u161056 }
{ borrower: 'SP2CYKHA22MWQKV17ZG4NS77RBFP66RG5GETSF2WD, new-height: u330226 }
{ borrower: 'SP235P7K01RM45M5NTJS6SVAEPRVF049VVSN6DHTW, new-height: u156235 }
{ borrower: 'SP2T186R4C6RA0CJ45VMFQVZPJF5ACTM8PD9WX0D0, new-height: u264696 }
{ borrower: 'SP2SKNBT57ECBV5Q06QD0XEPWRXP6RXC3FEQABFH3, new-height: u165640 }
{ borrower: 'SP2D2M4G94PBW4QTZZ5VPXJMJT25AKNVB5GNC6N88, new-height: u144017 }
{ borrower: 'SP31DKT9GNEGPA1CQ5NE8DVG897SVEY6EZV6PF6VM, new-height: u292481 }
{ borrower: 'SP1T12938AEDPVPK0QMK6FAB1JMJZMBZVFJXQTV1P, new-height: u204835 }
{ borrower: 'SP143HB25C8NHJ2170H1XXG1H88RC6DKJTNJP98QE, new-height: u151408 }
{ borrower: 'SP3DJ3H9CW9K4X4GWKRQD3XJHM3KN9TCW1R44QN86, new-height: u156685 }
{ borrower: 'SP1YJK4CXRHXN76KZHK619SV0NG8AT9E582GF01D8, new-height: u156685 }
{ borrower: 'SP2ND057V3RK6RDAWF4CKBV2VXNCT6ZXY3VM9B1CY, new-height: u296377 }
{ borrower: 'SP17NDNV75HDMS64QJ5ENZ40JAP736RHJPHTS0A0K, new-height: u150882 }
{ borrower: 'SP302KETQ770ME2ZA3KHRAPTN2BJ1HWJFZRH5ZQGZ, new-height: u167779 }
{ borrower: 'SP3B6YG6MTG1FQTZMMP8XRXNBQ9QGDYPB4B553W19, new-height: u156223 }
{ borrower: 'SPQXWA0XAR61JRDH8YDBEBZM54CZDK1P9JC0C1WQ, new-height: u156878 }
{ borrower: 'SPT6A1ZY975ZD0TW5SP128WQWTQNVM4ZC856KZQ2, new-height: u177548 }
{ borrower: 'SP3DXPAJJ7GFMT388BD4YFQ2R676G3VPBT3XP33PW, new-height: u156685 }
{ borrower: 'SPDPT02ZAQ8JVYPB8G9FGK0KG31H5GC9DVXJA9TV, new-height: u156685 }
{ borrower: 'SP34Y9YKYRTGJ4GWE2RQ7GXXS0S82ZSCK45T6F99, new-height: u156173 }
{ borrower: 'SP20M3DXS8P1ZP7X2RVVA0Q162A21X0XBNJKY1VEX, new-height: u156030 }
{ borrower: 'SP3TZHPYHKBG7RSMJFK72EQQ9N9JD5ZM614QASC0J, new-height: u181998 }
{ borrower: 'SPY9Q896GJ209XKATBPBZWXB90BF369DD2CM7R41, new-height: u155912 }
{ borrower: 'SP3JC8QHJP32CYMNYS8Q5V7TZGCNP24S5RDHJR6A7, new-height: u156685 }
{ borrower: 'SP1CH3JGDJVWX8GYHD0BGF3HQ7QTZ7ZQ0YEJH22M, new-height: u167893 }
{ borrower: 'SP1A7N0043HV6HZVGK3MWYEGTJ0Z6CDZ3CTR7KMXA, new-height: u151108 }
{ borrower: 'SP146HRMWDXEC5JVB161N64S5Q40Y7R9TZQKH2DWQ, new-height: u155984 }
{ borrower: 'SP2CT6DTYVCXA1PDT8BD72YR2ATHK2A5PVC5MDDF6, new-height: u152681 }
{ borrower: 'SP1NGMS9Z48PRXFAG2MKBSP0PWERF07C0KV9SPJ66, new-height: u257425 }
{ borrower: 'SP10E9CQ0W38TRYHA1V6XZ5M7M2ED3GG45A6JDNYP, new-height: u156943 }
{ borrower: 'SP18C9Q2F2FXGR1Z4HFM2M6HNRPCBB8XAZ0SBASA4, new-height: u149822 }
{ borrower: 'SP18ZCM270DVYG56EVKQKXHSS7FP3QQCZBZ7H5BVW, new-height: u304026 }
{ borrower: 'SP1ZACF7WEXMNXV9R03C1QRPGM8V6DQ7KB919RNDH, new-height: u167770 }
{ borrower: 'SP31AFRF5ERWQVW0KSNCVQC3Q9NZ51B5N0D8PGJ1D, new-height: u145800 }
{ borrower: 'SP250EWQ2XVTVC79YCFSFM3KYC63E9KMEDFBSVN96, new-height: u156809 }
{ borrower: 'SP26F2CV39RJATZ45X78PX0CMQQ8V6GTVBT1NN3ME, new-height: u204688 }
{ borrower: 'SP1N55MCYVJRREE1XBV0N6ZRDN8Z41ERJ8KQHGR0X, new-height: u150190 }
{ borrower: 'SP23DPK544CQNX958YBKT5GEMQ7N5BDZA40869E7W, new-height: u156690 }
{ borrower: 'SP15P56F24FAY09RVRM98J0NDCW2P3JTDWWK8RQ1J, new-height: u150899 }
{ borrower: 'SP3NWS0XNR5DZZJWMVBA4SC2KM3CJKE6YKDTE2JX8, new-height: u150856 }
{ borrower: 'SP20ZVNE709QNGFCPDNRS3KDVYX12MYGPHQQYNDH4, new-height: u167873 }
{ borrower: 'SP1MF4W0G1DYXCF0WJATM55K2WFKCWXSM09DEQ253, new-height: u170626 }
{ borrower: 'SP37YA46VQF121VEKAP6HTNSPEK5WKDMK4BKPYVA2, new-height: u155876 }
{ borrower: 'SPDYKH10WC4JFZMVMRW8ECXD2FC362G72X4ABJ7Q, new-height: u167236 }
{ borrower: 'SP3ANSGM3J116RTWYMZ5KDHJ9RBF3P2330H8RQQDR, new-height: u342624 }
{ borrower: 'SPACW7T4XKF8T5VAEXQSPR7144MZE9V9ANQVQHNP, new-height: u342854 }
{ borrower: 'SP2SDVG8PPFV4DMJKVE0PN1HZKW8WWJ272M097D8K, new-height: u287008 }
{ borrower: 'SP12MC1AHWA97GXBWWAEPDZG28GKV5HX425Y2W491, new-height: u155967 }
{ borrower: 'SP3G7MEN3SYQPN55HSK3F36GTA5NP7BT561W2PW9J, new-height: u171456 }
{ borrower: 'SP1T5DA1T7SGVW4BTTZEAQZGNZPAVC5QXV9XT5VH1, new-height: u167390 }
{ borrower: 'SPQPRTN8ZMWZF2G7KBVS4H7AM9D2DWBEFF0FM2G0, new-height: u342854 }
{ borrower: 'SP31GEN16RESV2C8X338V1FQN2P2W5RPVS46MP0AK, new-height: u170080 }
{ borrower: 'SP1YGSVXM5PZW4S74W8MRATXJDHVK5MFZS9T0V7VY, new-height: u168401 }
{ borrower: 'SP2SMSPX443W4HTX9YT9WVV5C0A212FJ8WQMGT51M, new-height: u187372 }
{ borrower: 'SP20XJSVQX6MMXK3QXZD3TJKB2AMFDWAW2PZQGZ69, new-height: u170730 }
{ borrower: 'SPBCP52CE88D57EKQYXE125WSZVSHG2F9XP0KW6Y, new-height: u156784 }
{ borrower: 'SP2NMTN4SJX03G7WA49E58TPBDP3XPGD19E987ER2, new-height: u171485 }
{ borrower: 'SP2EXDVB2W63Q45F1TVECVVX16RJ3JMZDTZD7CXZ0, new-height: u167921 }
{ borrower: 'SPMYW766HEERCDHWYAHR83NW4VR2YC89ZN7CQ5BG, new-height: u168538 }
{ borrower: 'SP2D8RP8J0EYMZPFTT0SS0YE4HR0JV6CBBAB9508F, new-height: u171720 }
{ borrower: 'SP3VXX7K2QPG2TRN6X6CYD00CQGZEY6RPV9806DDV, new-height: u156235 }
{ borrower: 'SP3CYCSMGWGCTFYM7EWDBXVNZPJ0VF0CV9WFWPD6V, new-height: u160385 }
{ borrower: 'SPHRRG2QHDCD4ZTVRJSJ8417DPP017YHXKBX03D2, new-height: u155681 }
{ borrower: 'SP1R0R6DC3K9E1N7FW8K0C78KE2QBGXRRK80KTBFN, new-height: u169856 }
{ borrower: 'SP16BTK99YZZJYPCE1HM2ETPXDCZJB208JR5W5JB0, new-height: u167910 }
{ borrower: 'SP2803S0YB2DJK5SBQX56PCYJVEXT9AJH758BAM4M, new-height: u155338 }
{ borrower: 'SP1AQE6H9S85V6S9AXEQ2FAZ6EMC2M83YJM3DKJ47, new-height: u320462 }
{ borrower: 'SPM2HJVJK3Q65K06TWVQX8B9NKK58K9NNVZ1J74Z, new-height: u155341 }
{ borrower: 'SP1YVPFJZ2GP901VQWY0WQQ8F6C2NDD878KH1EDCP, new-height: u155337 }
{ borrower: 'SP12YC4AQB4PN409HMDR1E8R8RRXCD5FQD16C4NE0, new-height: u319411 }
{ borrower: 'SP3P2F02BKN8QV49FEDTGTYTQY7DMNATZDMARHZ80, new-height: u155338 }
{ borrower: 'SP3X1GS53ACYFGAR6WWR6RW6R5NVR168GVBAWJWFQ, new-height: u151926 }
{ borrower: 'SPB65YMYCSYQW1H2EKMDNPD63Z732XGB059AQ4Y2, new-height: u155341 }
{ borrower: 'SPEAM154PP3DYZDB03SJZDJRFZ81S0MVPDD7D305, new-height: u150184 }
{ borrower: 'SP1YN7GXMSGEQMVXZMSHRC8YRGC6XDJK6B8NZ7ZAB, new-height: u155338 }
{ borrower: 'SP1VMP70DZVXZZ3FE9FR31Z4DD2QR3CENZZ09VE2R, new-height: u179446 }
{ borrower: 'SPF628CZHVHT1R5ECM2VGF1RSRX39WV1532GP8Y9, new-height: u150143 }
{ borrower: 'SP2CDJS9Y4SVP2BBMZM6G8E0ETAS99GGD16Z5EVHH, new-height: u156416 }
{ borrower: 'SPCA7JSVDEFKE22N6DWHCPK500Y83S727WXNWFBH, new-height: u149990 }
{ borrower: 'SPT4QSFTPBS8B2QX9VCQ6CCYM5RVNHF1FY45WT0K, new-height: u155339 }
{ borrower: 'SP2HRZ9W6PAEFH755MPDK664SAFC40W65JWWTY93W, new-height: u155344 }
{ borrower: 'SP3V9BARGK0PSJMRDCZQKA7TQ62J62PKVR66C1B9P, new-height: u151741 }
{ borrower: 'SP3010F6GC7C14K9SX5TTRCKFEGVG1D5A3RYKT87W, new-height: u155338 }
{ borrower: 'SP28T4GXDDZP1ANFD6S908T4CRV6FQZ6E3RQGQKGV, new-height: u150130 }
{ borrower: 'SP1G2ZMNH1ZCW7BWTE61BFVKXSFVE6DXPQX31HNAA, new-height: u155340 }
{ borrower: 'SP1T8NWHGM5HYSC0JEHYW4VQSM4CWCCNN47HQBZRT, new-height: u155338 }
{ borrower: 'SP21W0F2W0GFKP02T87AQACFQHF02WWVPHF8MQSDK, new-height: u155955 }
{ borrower: 'SP3T293CBSG335JMV8WPX3Y8N1GFGKNBFFKCKBEH5, new-height: u155413 }
{ borrower: 'SP2Z4N1YCW45176FA0XF5TXHT0KKDQ8EXWWZVBZNB, new-height: u167658 }
{ borrower: 'SP2XVKPNAKAQAWTV8396JV58NTT1YAY3K4M1PGCD9, new-height: u170299 }
{ borrower: 'SP3MWH3AN1TH7JE1512W5QHJDNVK431W4PRZYXSF9, new-height: u155340 }
{ borrower: 'SP2CGGTQ2M90YJ3P7RATTWMBZV6WMRF87XK0NBKTY, new-height: u155337 }
{ borrower: 'SPM942AQAYEX6GVMRN3TZRWRETGEE2YN3RCYY03A, new-height: u169518 }
{ borrower: 'SPKWQM17S8111SGMMED6JXPARN2QJJFVXGK21DSH, new-height: u155905 }
{ borrower: 'SP92Y7K97R51SMHDFY185NV8JNKGRHM214EHNF63, new-height: u167967 }
{ borrower: 'SP2YS9JYN20GWX975X328PNVX3BBYR8HE02X6D0X5, new-height: u155341 }
{ borrower: 'SP2V8PF8QRSQJ3B282WXARZG2C43X5BEEEMCZTSP3, new-height: u170018 }
{ borrower: 'SP2BTWRQT4M8G058MQP2QXXBPHPB9TJBE0RA9XY5C, new-height: u155340 }
{ borrower: 'SPG1SV2FJGP12W9M7J3Q0V2QST6NSNER3APCNTD0, new-height: u156084 }
{ borrower: 'SP3B40SQ5VHAANZSXMYFZRKXY8T59BG1YVEH75NWM, new-height: u167166 }
{ borrower: 'SP31SXJHBV3YN94HQX7NR7TV9RBM8NSNYAGXG9R6X, new-height: u287906 }
{ borrower: 'SP3DTRHXJF6HBAT0EY784GDYRHG1YCFZXJXB5ZTNW, new-height: u170794 }
{ borrower: 'SP1K1B8243JPQGSGAPT0SDDW01VWF2D6YBC8M1CRH, new-height: u145979 }
{ borrower: 'SP2K9MJ51N9B7H1MR5V99K2D1G5WK013M1AW7S0PG, new-height: u156142 }
{ borrower: 'SP2Q3FYQ407FAQY2C47CTP43ZXEG00511R3FTMVTY, new-height: u189743 }
{ borrower: 'SP3QBFQGPQH26CCYCT025PXRTZWCQ7QHYKRD603CJ, new-height: u155339 }
{ borrower: 'SP1Q4DD1WVPTDHXQAHR88GRZRKVEZMKT8J75Y6XH9, new-height: u144990 }
{ borrower: 'SP1ACH08CD1FGTR0P7X1E7JNK5HYMYJPZF48X1NAE, new-height: u155341 }
{ borrower: 'SP10X5JQ38APVZSCM8067MJ76987A5EC035Y8BWZK, new-height: u155337 }
{ borrower: 'SP3CWQEWH6P8JA5FS67TJAM6TGYTDY1GZGJPRQFYD, new-height: u155338 }
{ borrower: 'SPD2JP3HK1F4RGNHRDJGN60QYAT5NDN7J4MP261P, new-height: u156103 }
{ borrower: 'SPV2E19WA1DS67PXBT0EF689T1KNYZ9T2GN9ZGKV, new-height: u155338 }
{ borrower: 'SP1ESHCAMQ1ENPXNXH1J3SK76WDE8YQF3NNK5J1D6, new-height: u156245 }
{ borrower: 'SP5BXQ2WZQXSWC3NPX0ZQ5X2CH93D76F10XX97Q9, new-height: u155638 }
{ borrower: 'SP30Z4TB1Z40VQV6XCN20KXCM4SQNNBHGHDC8QYTK, new-height: u310535 }
{ borrower: 'SP19EC75DBV7BXMEHGW7XFM2G4NM5R8Y31T06BJK5, new-height: u155337 }
{ borrower: 'SPEQB0BDR5Y2G58VGP1PMQG411KM92J176ZPT3QA, new-height: u155343 }
{ borrower: 'SP2EW8RZN4EE9ZWMXEQ2KTXXZP1YK4KJW0PG2D3K, new-height: u151762 }
{ borrower: 'SP3MQVXN5ANM9XJMX9VTYSM78P3J8WE8GR52JJ5CH, new-height: u150352 }
{ borrower: 'SP3SZFGPKV4G45JGPNPHPKB8PNE07SSEQSBD2P0NX, new-height: u155338 }
{ borrower: 'SPVT27H705XYPRWH40VV576KCYWKBVW5VSZ0CVEJ, new-height: u155338 }
{ borrower: 'SP1H7D726T6G13MDJ6SZZZ8SDKZKNNFYEKX4PWN8H, new-height: u167056 }
{ borrower: 'SP2J22Q10P49C83AAZDCM7AFDV98DFV3TF2B1A0TF, new-height: u155339 }
{ borrower: 'SP1W35PY711H9N28DA00M3GDDEAKNDWR6M5FYC8YA, new-height: u156022 }
{ borrower: 'SP1VFTXPFH4S8T99NHWQBJ8BECKZFQ3YFXRN4NJY8, new-height: u155337 }
{ borrower: 'SPSYX3YF9EBMQ84PQERQ27E5EGNZTHHQCHKC6PYE, new-height: u155341 }
{ borrower: 'SPDEHYTG8ZT14EZSF0N2FZE78MK4XRSZH2JR08HE, new-height: u155337 }
{ borrower: 'SP3RFW3FH7890SJ2KJ1VETX9FN9Y4J1T4WF0QRDAH, new-height: u155577 }
{ borrower: 'SP1J80GGVSZ3E9WJ8J8WDC5NPYY6JPZDCF7ZTBATA, new-height: u175323 }
{ borrower: 'SP3YVBDA8AMM7S9Y2MMXFREDWABP454HPW98RQBSD, new-height: u156210 }
{ borrower: 'SP3XNNJ8TMMF1YTETT2Z070VBYJG3Q7DZS00BA2P3, new-height: u318549 }
{ borrower: 'SPCGBQY37XJK557CFQBG20Q7SHZQYZ14F6JG0VEM, new-height: u155338 }
{ borrower: 'SP1YNZ4B6ZDGZB2QHW8B1MSD839RY564QEXCDR7A3, new-height: u155338 }
{ borrower: 'SP2Z2WH6EXDX1EJBK8JMJVQR3C8QFCFG2F3NHM6F1, new-height: u157156 }
{ borrower: 'SP3QM8M4ZMW2XDGFBP006B1ABPD8Y6YPZJ68P6S5K, new-height: u155337 }
{ borrower: 'SP3MB3CSNMK68HYW60KVX9MB4QBKNMSZHYNGNPCCR, new-height: u155338 }
{ borrower: 'SP3FPPW034K562X59PGTF06FBFVW7FSP2WYVQ85A3, new-height: u155337 }
{ borrower: 'SP3MYPXMX0B0R3TT6FA54NBRQGTHBESA98M7603XC, new-height: u175839 }
))
(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)