Source Code


;; SPDX-License-Identifier: BUSL-1.1

;; This contract holds the STX of the members

(use-trait strategy-trait .strategy-trait.strategy-trait)
(use-trait proxy-trait .proxy-trait.proxy-trait)

(define-constant err-unauthorised (err u1000))

(define-read-only (is-dao-or-extension)
	(ok (asserts! (or (is-eq tx-sender .lisa-dao) (contract-call? .lisa-dao is-extension contract-caller)) err-unauthorised)))

;; privileged calls

(define-public (fund-strategy (strategy <strategy-trait>) (payload (buff 2048)))
	(begin
		(try! (is-dao-or-extension))
		(as-contract (contract-call? strategy execute payload))
	)
)

(define-public (refund-strategy (strategy <strategy-trait>) (payload (buff 2048)))
	(begin
		(try! (is-dao-or-extension))
		(as-contract (contract-call? strategy refund payload))
	)
)

(define-public (proxy-call (proxy <proxy-trait>) (payload (buff 2048)))
	(begin
		(try! (is-dao-or-extension))
		(as-contract (contract-call? proxy proxy-call payload))
	)
)

Functions (4)

FunctionAccessArgs
is-dao-or-extensionread-only
fund-strategypublicstrategy: <strategy-trait>, payload: (buff 2048
refund-strategypublicstrategy: <strategy-trait>, payload: (buff 2048
proxy-callpublicproxy: <proxy-trait>, payload: (buff 2048