Files
liquid-stacking/contracts/mocks/rebase-mock.clar
fiftyeightandeight ce69b46641 chore: license header
2024-03-14 22:31:45 +08:00

35 lines
1.2 KiB
Plaintext

;; SPDX-License-Identifier: BUSL-1.1
(define-constant PENDING 0x00)
(define-constant FINALIZED 0x01)
(define-constant REVOKED 0x02)
(define-public (rebase)
(as-contract (contract-call? .lisa-rebase rebase (list .mock-strategy))))
(define-public (finalize-mint (request-id uint))
(begin
(try! (rebase))
(as-contract (try! (contract-call? .lqstx-mint-endpoint-v1-01 finalize-mint request-id)))
(try! (rebase))
(ok true)))
(define-public (finalize-burn (request-id uint))
(begin
(try! (rebase))
(as-contract (try! (contract-call? .lqstx-mint-endpoint-v1-01 finalize-burn request-id)))
(try! (rebase))
(ok true)))
(define-public (request-burn (amount uint))
(let (
(sender tx-sender)
(send-token (try! (contract-call? .token-lqstx transfer amount sender (as-contract tx-sender) none)))
(request-data (as-contract (try! (contract-call? .lqstx-mint-endpoint-v1-01 request-burn sender amount)))))
(match (finalize-burn (get request-id request-data))
ok-value (ok { request-id: (get request-id request-data), status: FINALIZED })
err-value (ok request-data))))
(define-public (callback (extension principal) (payload (buff 2048)))
(ok true))