Source Code

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

(impl-trait .staging-dao-traits-v0.proposal-script)

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

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

    (try! (contract-call? .staging-vault-stx-v0 set-authorized-contract .staging-market-v0 false))
    (try! (contract-call? .staging-vault-sbtc-v0 set-authorized-contract .staging-market-v0 false))
    (try! (contract-call? .staging-vault-ststx-v0 set-authorized-contract .staging-market-v0 false))
    (try! (contract-call? .staging-vault-usdc-v0 set-authorized-contract .staging-market-v0 false))
    (try! (contract-call? .staging-vault-usdh-v0 set-authorized-contract .staging-market-v0 false))

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

Functions (1)

FunctionAccessArgs
executepublic