Source Code

;; Proposal to authorize market contract in market-vault
;; Sets market as the implementation contract for market-vault

(impl-trait .st-dao-traits.proposal-script)

(define-public (execute)
  (begin
    ;; Set market as implementation in market-vault
    (try! (contract-call? .st-market-vault set-impl .st-1-market))

    ;; =========================================================================
    ;; STEP 2: AUTHORIZE MARKET CONTRACT
    ;; Allows market to call deposit, redeem, borrow, repay on vaults
    ;; =========================================================================
    
    (try! (contract-call? .st-vault-stx set-authorized-contract .st-1-market true))
    (try! (contract-call? .st-vault-sbtc set-authorized-contract .st-1-market true))
    (try! (contract-call? .st-vault-ststx set-authorized-contract .st-1-market true))
    (try! (contract-call? .st-vault-usdc set-authorized-contract .st-1-market true))
    (try! (contract-call? .st-vault-usdh set-authorized-contract .st-1-market true))
    ;; latest vault
    (try! (contract-call? .st-vault-ststxbtc set-authorized-contract .st-1-market true))

    (try! (contract-call? .st-vault-stx set-authorized-contract .st-market false))
    (try! (contract-call? .st-vault-sbtc set-authorized-contract .st-market false))
    (try! (contract-call? .st-vault-ststx set-authorized-contract .st-market false))
    (try! (contract-call? .st-vault-usdc set-authorized-contract .st-market false))
    (try! (contract-call? .st-vault-usdh set-authorized-contract .st-market false))
    
    (ok true)))

Functions (1)

FunctionAccessArgs
executepublic