Source Code

;; SPDX-License-Identifier: BUSL-1.1

(impl-trait 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.proposal-trait.proposal-trait)
(use-trait ft-trait 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.trait-sip-010.sip-010-trait)

(define-constant ONE_8 u100000000) ;; 8 decimal places

(define-constant revenue-in-stx (* u115025  ONE_8))
(define-constant recovery-in-stx (* u24938 ONE_8))

(define-constant revenue-list (list
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wstx-v2, amount: u5483331719599 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex, amount: u55536915542733 }
{ token: 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-abtc, amount: u34827921 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wcorgi, amount: u847497260662816 }
{ token: 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-susdt, amount: u829429973347 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wleo, amount: u517562059750537 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wxbtc, amount: u2334736 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wnot, amount: u5846094413353950000 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wdiko, amount: u733176001953 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wmia, amount: u147828216272697 }
{ token: 'SP2SF8P7AKN8NYHD57T96C51RRV9M0GKRN02BNHD2.token-wflat, amount: u27414420807768 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wxusd, amount: u97932896839 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wnyc, amount: u14065461248201 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wpomboo, amount: u526623761858535 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wjindo, amount: u1335058334053780 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wlialex, amount: u320084758527 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.runes-dog, amount: u3973562932496 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ornj, amount: u211539390691 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wpepe, amount: u531259629520500 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-trio, amount: u6806074846 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wnasty, amount: u415596373359626 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wwennaka, amount: u32342318776432 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wusda, amount: u23047889529 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wlqstx-v3, amount: u9410768868 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-db20, amount: u252857246738 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wgus, amount: u650569208384353 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-chax, amount: u53770580960575 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wgoat, amount: u1292117530407310 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wmoon, amount: u1872476463028640 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wtremp, amount: u94073015362308 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wwojak, amount: u6052983102060660 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-waeusdc, amount: u8373982511 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wmst, amount: u168061086309035 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-ordg, amount: u39162779143 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wlong, amount: u10551694506989000 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wplay, amount: u308450137199781 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wfrodo, amount: u7033673845142 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wcharisma, amount: u2086867660 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wmojo, amount: u790438369923626 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wsimulation, amount: u64789400626558 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wroo, amount: u49548297299 }
{ token: 'SP673Z4BPB4R73359K9HE55F2X91V5BJTN5SXZ5T.runes-pups, amount: u14423397763 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wwsbtc, amount: u631793735148 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wnakamoto, amount: u111852506873033000000 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wvibes, amount: u2442631417325 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wbspx6900, amount: u189567099608641 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wmax, amount: u621827523645029 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wmega, amount: u18383033569 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wsurge, amount: u443715049900479 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wkiki, amount: u200772009561651 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wfast, amount: u483353769171409 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wban, amount: u36337902465 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wturtle, amount: u2940377424148 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wpnut, amount: u5670125772060 }
{ token: 'SP2SF8P7AKN8NYHD57T96C51RRV9M0GKRN02BNHD2.token-wstone, amount: u114245918960 }
{ token: 'SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.brc20-tx20, amount: u277311671727 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wbordn, amount: u214589959151681 }
{ token: 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wwif, amount: u527406181292521 }
{ token: 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.token-wmeme, amount: u180944428288593 }
))

(define-public (execute (sender principal))
	(begin
		(try! (contract-call? 'SP1E0XBN9T4B10E9QMR7XMFJPMA19D77WY3KP2QKC.self-listing-helper-v2-04 approve-request u30 .token-wbone none))
		(try! (fold check-err (collect-revenue revenue-list) (ok true)))
		(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wxusd transfer-fixed u1550602565746 tx-sender 'SPFD5XBCJWX0RJP35N6YF4S32JWRVXKGZCQ0BX7S none))
		(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-wxbtc transfer-fixed u11674393 tx-sender 'SPFD5XBCJWX0RJP35N6YF4S32JWRVXKGZCQ0BX7S none))
		(try! (contract-call? 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-susdt transfer-fixed u7972159985176 tx-sender 'SPFD5XBCJWX0RJP35N6YF4S32JWRVXKGZCQ0BX7S none))
		(try! (contract-call? 'SP2XD7417HGPRTREMKF748VNEQPDRR0RMANB7X1NK.token-abtc transfer-fixed u34827921 tx-sender 'SPFD5XBCJWX0RJP35N6YF4S32JWRVXKGZCQ0BX7S none))
		(try! (contract-call? .treasury-grant-v3 add-to-claim-base (+ revenue-in-stx recovery-in-stx)))
		(ok true)))

(define-private (collect-revenue (details (list 500 { token: <ft-trait>, amount: uint })))
	(map collect-revenue-iter details))

(define-private (collect-revenue-iter (details { token: <ft-trait>, amount: uint }))
	(let (
			(token-trait (get token details)))
	(try! (contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-vault-v2-01 transfer-ft token-trait (get amount details) 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.executor-dao))
	(contract-call? 'SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-vault-v2-01 remove-from-reserve (contract-of token-trait) (get amount details))))

(define-private (check-err (result (response bool uint)) (prior (response bool uint)))
  (match prior ok-value result err-value (err err-value)))

Functions (4)

FunctionAccessArgs
executepublicsender: principal
collect-revenueprivatedetails: (list 500 { token: <ft-trait>, amount: uint }
collect-revenue-iterprivatedetails: { token: <ft-trait>, amount: uint }
check-errprivateresult: (response bool uint