Source Code

(impl-trait .proposal-trait.proposal-trait)
(define-constant ONE_8 (pow u10 u8))
(define-constant btc-amount u50062174)
(define-constant btc-recipients
	(list
{ amount: u6218908, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u3109454, to: 'SP3BVJ0KRTAAJKFW5WY5Y4AD7HK0NAPFT6WTPDNDV }
{ amount: u1554727, to: 'SP37N35P4903CB8S91SHHYYQ3Q44Q3HCJSBP8DCVF }
{ amount: u1269694, to: 'SP20P8HD3ES6W5HM8TQHNQ3JQRTWA2JSE78JS9GCD }
{ amount: u1269694, to: 'SP1MDE99SRBQFYQAHKVTXMY5TV0NT71GYXXYQS9CW }
{ amount: u1269694, to: 'SP10CFS566AHMN01TZN81MEA098Q9YJTCNH0MEW67 }
{ amount: u1269694, to: 'SP20P8HD3ES6W5HM8TQHNQ3JQRTWA2JSE78JS9GCD }
{ amount: u1269694, to: 'SP1MDE99SRBQFYQAHKVTXMY5TV0NT71GYXXYQS9CW }
{ amount: u1269694, to: 'SP10CFS566AHMN01TZN81MEA098Q9YJTCNH0MEW67 }
{ amount: u1269694, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u1269694, to: 'SP2VGDE21YSVB0NM57G6S1RAA4BV0HQVR9F697VJJ }
{ amount: u1269694, to: 'SP2PBEZB3ZPHJE1XJHFQKGF6E08SV29K96ZWAB8QK }
{ amount: u1269694, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u1269694, to: 'SP1H97TR5F5KJ7Z992SY8W0VC35CS5EHVFWTAJZZ4 }
{ amount: u1269694, to: 'SP1H97TR5F5KJ7Z992SY8W0VC35CS5EHVFWTAJZZ4 }
{ amount: u334864, to: 'SP33N32V3KXBFFXJDRW08VPJNYB3FTGRYTHEHFGVQ }
{ amount: u334864, to: 'SP1KSWBYB8FQQ6F9DTB14YA0JJNGJ3X415XCDADRV }
{ amount: u334864, to: 'SP1EF1PKR40XW37GDC0BP7SN4V4JCVSHSDVG71YTH }
{ amount: u334864, to: 'SP1DWBP0EDQQ198Y1N2ARZQFMNYKBZEJ21T8182VN }
{ amount: u334864, to: 'SP2DH4YK9WBSVJCQEH0WKNY4RNGHEGPFPGBZ71F2S }
{ amount: u334864, to: 'SP10CFS566AHMN01TZN81MEA098Q9YJTCNH0MEW67 }
{ amount: u334864, to: 'SP3FS1SG3273YCMS0G58B0JX0Y1EZQ8JPC92QCVHK }
{ amount: u334864, to: 'SP3WA777K5D7DA3WGWQCVEHHC9JEEWXY0HY26Y8HW }
{ amount: u334864, to: 'SP2DH4YK9WBSVJCQEH0WKNY4RNGHEGPFPGBZ71F2S }
{ amount: u334864, to: 'SP10CFS566AHMN01TZN81MEA098Q9YJTCNH0MEW67 }
{ amount: u334864, to: 'SP3KYPT89WCZT5ANCQKYM970X63D5Z8NZQ49V1TTP }
{ amount: u334864, to: 'SP3FS1SG3273YCMS0G58B0JX0Y1EZQ8JPC92QCVHK }
{ amount: u334864, to: 'SP3WA777K5D7DA3WGWQCVEHHC9JEEWXY0HY26Y8HW }
{ amount: u334864, to: 'SPBZ1FQ7DNDXT8CGDWKA4RKAQXS6B38T5W5PSE6E }
{ amount: u334864, to: 'SP20KJBWKN5BCXP7V6T8G2HTDJBK5GEFXEGC69556 }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP38B195HFKZ4D39P8WEYXS4EQPS30HVNCAHBN814 }
{ amount: u334864, to: 'SP3R5XM4DWX30N7J44E3ARMNTBH0KPNX3T27HA8X2 }
{ amount: u334864, to: 'SPK2TMMHZW3DZN3SABTR35JBRKJYM01GGW0BRSW2 }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP37N35P4903CB8S91SHHYYQ3Q44Q3HCJSBP8DCVF }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP3BVJ0KRTAAJKFW5WY5Y4AD7HK0NAPFT6WTPDNDV }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP3MKEVZ416VZGP37ZK31GSV5WE3AA1FQFNBX4QA0 }
{ amount: u334864, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u334864, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u334864, to: 'SP335DDSZQEHKRA3ZT6PZNA5R0GTZD346BMF9JWG2 }
{ amount: u334864, to: 'SP1TP0GP8CQ91G8JHPY4TEFWQKTF56X9V9SDKYGXG }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP1TP0GP8CQ91G8JHPY4TEFWQKTF56X9V9SDKYGXG }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u334864, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u334864, to: 'SP3HAW9SRDPN1F711XVYBQFFTHC88XB9BCQ1QPYRQ }
{ amount: u172747, to: 'SP28H4MAX23C7ATZWV4YGRQX4X6662KZDFFG3SNB }
{ amount: u172747, to: 'SP4TSR7RRW87BB0W4KJEP8K7AHZZSR2SJ36MFDJ5 }
{ amount: u172747, to: 'SP36FV0WRMDBX3NZDZCQ1FGDGCMS63R18TMVNG203 }
{ amount: u172747, to: 'SP2546MZ27NJ92YH0K4ND5HVYH3T25ET5WEN55569 }
{ amount: u172747, to: 'SPNNFAM88J85E3XK17N5HH49ZPEAJQE398JCTDNR }
{ amount: u172747, to: 'SP10CFS566AHMN01TZN81MEA098Q9YJTCNH0MEW67 }
{ amount: u172747, to: 'SP3KYPT89WCZT5ANCQKYM970X63D5Z8NZQ49V1TTP }
{ amount: u172747, to: 'SP3SNJNMKXJ92KX45YXFW31VY8S3JQ5WXG9QT8YW6 }
{ amount: u172747, to: 'SP4TSR7RRW87BB0W4KJEP8K7AHZZSR2SJ36MFDJ5 }
{ amount: u172747, to: 'SP36FV0WRMDBX3NZDZCQ1FGDGCMS63R18TMVNG203 }
{ amount: u172747, to: 'SP2546MZ27NJ92YH0K4ND5HVYH3T25ET5WEN55569 }
{ amount: u172747, to: 'SPNNFAM88J85E3XK17N5HH49ZPEAJQE398JCTDNR }
{ amount: u172747, to: 'SP10CFS566AHMN01TZN81MEA098Q9YJTCNH0MEW67 }
{ amount: u172747, to: 'SP3SNJNMKXJ92KX45YXFW31VY8S3JQ5WXG9QT8YW6 }
{ amount: u172747, to: 'SP1M8EVVABBXD4F4Z1JHV05XE1723DV2SP5M5N49Q }
{ amount: u172747, to: 'SP2ZAP16ZN98P6FQSPE0VM52N5RJ59A12YYWP5CD3 }
{ amount: u172747, to: 'SP2ZAP16ZN98P6FQSPE0VM52N5RJ59A12YYWP5CD3 }
{ amount: u172747, to: 'SP1YBQ4T7PNRM7GZN284HCZFP46G8MFW1JB293V0F }
{ amount: u172747, to: 'SP26KW236H3EW7HJ5ZBRZ99GJHNZAD296GHBB74K5 }
{ amount: u172747, to: 'SP2XW2QG5RV22R1HHYMQCYJ2FVY5CSF4KMVYQ1FSY }
{ amount: u172747, to: 'SP245RYQHC7TZH2VDQ95KHG4CNKMYYX9Z8A08BGTE }
{ amount: u172747, to: 'SP35BF6TS4EZMWVNWY1MTRTHEAVRHREM2NCTBW85N }
{ amount: u172747, to: 'SP13R78H5QJ6W3ZVMDM9PYAC78MW1CGXNQ2CJCBFD }
{ amount: u172747, to: 'SP37N35P4903CB8S91SHHYYQ3Q44Q3HCJSBP8DCVF }
{ amount: u172747, to: 'SP2791RKSYJJ39MVHC09J8NARWBMK5G9C79EJB0RV }
{ amount: u172747, to: 'SP3YCV9PJEBQ6EKWQ0DMTXHA6H3M616FA5Y8VKCNR }
{ amount: u172747, to: 'SP1A37EMPF9HYESQW5QZJ56EMQGD5SYBTBMHN9SDJ }
{ amount: u172747, to: 'SP1A37EMPF9HYESQW5QZJ56EMQGD5SYBTBMHN9SDJ }
{ amount: u172747, to: 'SP3GGE4EZ34K04JSY9F46J5BBW2WDBHKDM79SYBY7 }
{ amount: u172747, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u172747, to: 'SP3S7TV9KMVB27XY5PDEZTPZ30MXCJ12X5MSPJN1D }
{ amount: u172747, to: 'SPXKP0K5759YDET7NT43QYK8RC7MS973YBSYS226 }
{ amount: u172747, to: 'SP3ZK80YD71QZD3K6FKENF6P6DH0ZA72JYQB4SJ6M }
{ amount: u172747, to: 'SPDQEZCAMVRAZKA5RKC9ZK0YDAM12KNWF8J44KQ1 }
{ amount: u172747, to: 'SP3JAP5XT337FKT8HG6ZGCJBGWYFDGKYJBZM4Z2KN }
{ amount: u172747, to: 'SP3XRPEM69VBKJ73P0MHESXYS7V33V6BV4SJEEP1K }
{ amount: u172747, to: 'SP3MSSVGZTW4TGZ7WXJQZXYX1FJZRV30F0YDTVS5Z }
{ amount: u172747, to: 'SP2GHCPM134Y28EZKNKEMF7SBK0BQ1QW1QASYWS6Z }
{ amount: u172747, to: 'SP0BXQQASV289BC9P4P3RXESS88X3X1KBKMM6CHN }
{ amount: u172747, to: 'SP3N6C5GP4MH2Q2DSH6SMNPH3VBWQHG1H1STSTEKJ }
{ amount: u172747, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u172747, to: 'SP13H831AYFZWGHZBEGK2E2EA8MB09YTXZJ72A44J }
{ amount: u172747, to: 'SP2Y1C88FE2BGEE4DR1PA4MC0FJGYCMJFDCV65JF5 }
{ amount: u172747, to: 'SP2Y7K8GZ2PFSFE7MCQ21A1XZH5NPFQXAYPETECJV }
{ amount: u172747, to: 'SP2791RKSYJJ39MVHC09J8NARWBMK5G9C79EJB0RV }
{ amount: u172747, to: 'SP288MHD64AX8DT87BQX92WH4Q4WKPN6E5NXQ6YNH }
{ amount: u172747, to: 'SP2BM6Z2PM2GWANPHZQ7K9SWQDB4PEZC8FPWERSV9 }
{ amount: u172747, to: 'SP37N35P4903CB8S91SHHYYQ3Q44Q3HCJSBP8DCVF }
{ amount: u172747, to: 'SP1TP0GP8CQ91G8JHPY4TEFWQKTF56X9V9SDKYGXG }
{ amount: u172747, to: 'SP2JKX7KEQEQ77P2S21WFDS7TZAHX72RDDN0Z747Y }
{ amount: u172747, to: 'SP3BVJ0KRTAAJKFW5WY5Y4AD7HK0NAPFT6WTPDNDV }
{ amount: u172747, to: 'SP2EH0EPXMNPJJSQJ9FA6BYERPE425G4WF82KMJFS }
{ amount: u172747, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u172747, to: 'SPJKNDSM3NXW2Y3YXN3A7KG369NEQ77TJQATS519 }
{ amount: u172747, to: 'SP2VGDE21YSVB0NM57G6S1RAA4BV0HQVR9F697VJJ }
{ amount: u172747, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u172747, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u172747, to: 'SPZCFP3486BF968TPQ3H6DBRK70YKKSAW3FBD2E0 }
{ amount: u172747, to: 'SP2V2GSPM5DTJKJR5G994DJFAFRX7CDSDTQD4KJRC }
{ amount: u172747, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u172747, to: 'SP1FHVF49BGKR0GM1YFV5TMZ962454N9RYBDNPEGC }
{ amount: u172747, to: 'SP2V2GSPM5DTJKJR5G994DJFAFRX7CDSDTQD4KJRC }
	)
)
(define-private (check-err (result (response bool uint)) (prior (response bool uint)))
    (match prior 
        ok-value result
        err-value (err err-value)
    )
)
(define-private (transfer-from-tuple (recipient { to: principal, amount: uint }))
  (contract-call? .token-wbtc transfer-fixed (get amount recipient) tx-sender (get to recipient) none)
)
(define-private (send-many (recipients (list 1500 { to: principal, amount: uint})))
  (fold check-err (map transfer-from-tuple recipients) (ok true))
)
(define-public (execute (sender principal))
	(begin
		;; transfer appropriate amount from vault and reduce reserve
		(try! (contract-call? .alex-vault transfer-ft .token-wbtc btc-amount tx-sender))
		(try! (contract-call? .alex-reserve-pool remove-from-balance .token-wbtc btc-amount))
		;; send many
		(try! (send-many btc-recipients))
		(ok true)
	)
)

Functions (4)

FunctionAccessArgs
check-errprivateresult: (response bool uint
transfer-from-tupleprivaterecipient: { to: principal, amount: uint }
send-manyprivaterecipients: (list 1500 { to: principal, amount: uint}
executepublicsender: principal