(use-trait ft-trait 'SP2BSV94A650WGZ2YZ5Y8HM93W01NGT4GY0W2BN3P.fungible-token-trait.trait)
(use-trait nft-trait 'SP2BSV94A650WGZ2YZ5Y8HM93W01NGT4GY0W2BN3P.non-fungible-token-trait.trait)

(define-trait trait
  (
    ;; deposit assets into dao
    (deposit-stx (uint) (response bool uint))
    (deposit-ft (<ft-trait> uint) (response bool uint))
    (deposit-nft (<nft-trait> uint) (response bool uint))

    ;; dao moves asset out of treasury
    (move-stx (uint principal) (response bool uint))
    (move-ft (<ft-trait> uint principal) (response bool uint))
    (move-nft (<nft-trait> uint principal) (response bool uint))
  )
)