From da29090fc2859744527f4d1c564436a49a9b5b27 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 07:34:29 +0800 Subject: [PATCH 1/9] lqstx-mint-endpoint-v1-01 --- Clarinet.toml | 4 + contracts/boot.clar | 7 +- contracts/extensions/lisa-rebase.clar | 2 +- .../extensions/lqstx-mint-endpoint-v1-01.clar | 237 ++++++++++++ contracts/extensions/lqstx-mint-endpoint.clar | 12 +- deployments/default.simnet-plan.yaml | 343 +++++++++--------- 6 files changed, 425 insertions(+), 180 deletions(-) create mode 100644 contracts/extensions/lqstx-mint-endpoint-v1-01.clar diff --git a/Clarinet.toml b/Clarinet.toml index f40f2a7..5f7700e 100644 --- a/Clarinet.toml +++ b/Clarinet.toml @@ -174,6 +174,10 @@ epoch = 2.4 path = "contracts/extensions/lqstx-mint-endpoint.clar" epoch = 2.4 +[contracts.lqstx-mint-endpoint-v1-01] +path = "contracts/extensions/lqstx-mint-endpoint-v1-01.clar" +epoch = 2.4 + [contracts.lqstx-mint-registry] path = "contracts/aux/lqstx-mint-registry.clar" epoch = 2.4 diff --git a/contracts/boot.clar b/contracts/boot.clar index 06f9832..a05d06c 100644 --- a/contracts/boot.clar +++ b/contracts/boot.clar @@ -3,7 +3,8 @@ (define-public (execute (sender principal)) (begin (try! (contract-call? .lisa-dao set-extensions (list - { extension: .lqstx-mint-endpoint, enabled: true } + { extension: .lqstx-mint-endpoint, enabled: false } + { extension: .lqstx-mint-endpoint-v1-01, enabled: true } { extension: .lqstx-vault, enabled: true } { extension: .treasury, enabled: true } { extension: .token-vesting, enabled: true } @@ -36,8 +37,8 @@ ))) ;; Enable whitelist - (try! (contract-call? .lqstx-mint-endpoint set-use-whitelist true)) - (try! (contract-call? .lqstx-mint-endpoint set-whitelisted-many + (try! (contract-call? .lqstx-mint-endpoint-v1-01 set-use-whitelist true)) + (try! (contract-call? .lqstx-mint-endpoint-v1-01 set-whitelisted-many (list 'SP3BQ65DRM8DMTYDD5HWMN60EYC0JFS5NC2V5CWW7 'SP2VZBR9GCVM33BN0WXA05VJP6QV7CJ3Z3SQKJ5HH diff --git a/contracts/extensions/lisa-rebase.clar b/contracts/extensions/lisa-rebase.clar index 962c55c..eac1857 100644 --- a/contracts/extensions/lisa-rebase.clar +++ b/contracts/extensions/lisa-rebase.clar @@ -11,7 +11,7 @@ ) (define-public (rebase (strategies (list 20 ))) - (let ((total-stx (- (+ (stx-get-balance .lqstx-vault) (try! (fold sum-strategy-amounts strategies (ok u0)))) (contract-call? .lqstx-mint-endpoint get-mint-requests-pending-amount)))) + (let ((total-stx (- (+ (stx-get-balance .lqstx-vault) (try! (fold sum-strategy-amounts strategies (ok u0)))) (contract-call? .lqstx-mint-endpoint-v1-01 get-mint-requests-pending-amount)))) (try! (is-dao-or-extension)) (as-contract (try! (contract-call? .token-lqstx set-reserve total-stx))) (ok total-stx) diff --git a/contracts/extensions/lqstx-mint-endpoint-v1-01.clar b/contracts/extensions/lqstx-mint-endpoint-v1-01.clar new file mode 100644 index 0000000..55b8f6a --- /dev/null +++ b/contracts/extensions/lqstx-mint-endpoint-v1-01.clar @@ -0,0 +1,237 @@ +;; +;; lqstx-mint-endpoint-v1-01 +;; +(use-trait sip-010-trait .sip-010-trait.sip-010-trait) +(use-trait rebase-strategy-trait .rebase-strategy-trait.rebase-strategy-trait) + +(define-constant err-unauthorised (err u1000)) +(define-constant err-paused (err u1001)) +(define-constant err-request-pending (err u1006)) +(define-constant err-request-finalized-or-revoked (err u1007)) +(define-constant err-not-whitelisted (err u1008)) + +(define-constant PENDING 0x00) +(define-constant FINALIZED 0x01) +(define-constant REVOKED 0x02) + +(define-constant max-uint u340282366920938463463374607431768211455) + +(define-data-var paused bool true) +(define-data-var mint-delay uint u144) ;; mint available 1 day after cycle starts + +;; @dev used for testing only +(define-data-var activation-block uint u0) +(define-data-var reward-cycle-length uint u2016) ;; 2 weeks + +(define-data-var use-whitelist bool false) +(define-map whitelisted principal bool) + +;; read-only calls + +(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))) + +(define-read-only (is-paused) + (var-get paused)) + +(define-read-only (is-paused-or-fail) + (ok (asserts! (not (is-paused)) err-paused))) + +(define-read-only (get-mint-request-or-fail (request-id uint)) + (contract-call? .lqstx-mint-registry get-mint-request-or-fail request-id)) + +(define-read-only (get-burn-request-or-fail (request-id uint)) + (contract-call? .lqstx-mint-registry get-burn-request-or-fail request-id)) + +(define-read-only (get-mint-requests-pending-or-default (user principal)) + (contract-call? .lqstx-mint-registry get-mint-requests-pending-or-default user)) + +(define-read-only (get-burn-requests-pending-or-default (user principal)) + (contract-call? .lqstx-mint-registry get-burn-requests-pending-or-default user)) + +(define-read-only (get-mint-requests-pending-amount) + (contract-call? .lqstx-mint-registry get-mint-requests-pending-amount)) + +(define-read-only (get-mint-request-or-fail-many (request-ids (list 1000 uint))) + (ok (map get-mint-request-or-fail request-ids))) + +(define-read-only (get-burn-request-or-fail-many (request-ids (list 1000 uint))) + (ok (map get-burn-request-or-fail request-ids))) + +(define-read-only (validate-mint-request (request-id uint)) + (let ( + (request-details (try! (contract-call? .lqstx-mint-registry get-mint-request-or-fail request-id))) + (request-id-idx (unwrap! (index-of? (get-mint-requests-pending-or-default (get requested-by request-details)) request-id) err-request-finalized-or-revoked))) + (asserts! (>= block-height (+ (get-first-stacks-block-in-reward-cycle (+ (get requested-at request-details) u1)) (var-get mint-delay))) err-request-pending) + (ok request-id-idx))) + +;; @dev it favours smaller amounts as we do not allow partial burn +(define-read-only (validate-burn-request (request-id uint)) + (let ( + (request-details (try! (contract-call? .lqstx-mint-registry get-burn-request-or-fail request-id))) + (request-id-idx (unwrap! (index-of? (get-burn-requests-pending-or-default (get requested-by request-details)) request-id) err-request-finalized-or-revoked)) + (vaulted-amount (contract-call? .token-vlqstx get-shares-to-tokens (get wrapped-amount request-details)))) + (asserts! (>= (stx-get-balance .lqstx-vault) vaulted-amount) err-request-pending) + (ok { vaulted-amount: vaulted-amount, request-id-idx: request-id-idx }))) + +;; @dev used for testing only +(define-read-only (get-reward-cycle (stacks-height uint)) + (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) + ;; (if (>= stacks-height (var-get activation-block)) + ;; (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) + ;; none)) + +;; @dev used for testing only +(define-read-only (get-first-stacks-block-in-reward-cycle (reward-cycle uint)) + (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) + ;; (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) + +(define-read-only (get-mint-delay) + (var-get mint-delay)) + +(define-read-only (is-whitelisted-or-mint-for-all (user principal)) + (or (not (var-get use-whitelist)) (default-to false (map-get? whitelisted user)))) + +;; governance calls + +(define-public (set-use-whitelist (new-use bool)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set use-whitelist new-use)))) + +(define-public (set-whitelisted (user principal) (new-whitelisted bool)) + (begin + (try! (is-dao-or-extension)) + (set-whitelisted-private user new-whitelisted))) + +(define-public (set-whitelisted-many (users (list 1000 principal)) (new-whitelisteds (list 1000 bool))) + (begin + (try! (is-dao-or-extension)) + (fold check-err (map set-whitelisted-private users new-whitelisteds) (ok true)))) + +(define-public (set-paused (new-paused bool)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set paused new-paused)))) + +(define-public (set-mint-delay (new-delay uint)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set mint-delay new-delay)))) + +;; @dev used for testing only +(define-public (set-reward-cycle-length (new-reward-cycle-length uint)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set reward-cycle-length new-reward-cycle-length)))) + +;; public calls + +;; @dev the requestor stx is held by the contract until mint can be finalized. +(define-public (request-mint (amount uint)) + (let ( + (sender tx-sender) + (cycle (unwrap-panic (get-reward-cycle block-height))) + (request-details { requested-by: sender, amount: amount, requested-at: cycle, status: PENDING }) + (request-id (try! (contract-call? .lqstx-mint-registry set-mint-request u0 request-details)))) + (try! (is-paused-or-fail)) + (asserts! (is-whitelisted-or-mint-for-all sender) err-not-whitelisted) + (try! (stx-transfer? amount sender .lqstx-vault)) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (+ (get-mint-requests-pending-amount) amount))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending sender (unwrap-panic (as-max-len? (append (get-mint-requests-pending-or-default sender) request-id) u1000)))) + (print { type: "mint-request", id: request-id, details: request-details }) + (ok request-id))) + +(define-public (finalize-mint (request-id uint)) + (let ( + (request-details (try! (get-mint-request-or-fail request-id))) + (mint-requests (get-mint-requests-pending-or-default (get requested-by request-details))) + (request-id-idx (try! (validate-mint-request request-id)))) + (try! (is-paused-or-fail)) + (try! (is-dao-or-extension)) + (try! (contract-call? .token-lqstx dao-mint (get amount request-details) (get requested-by request-details))) + (try! (contract-call? .lqstx-mint-registry set-mint-request request-id (merge request-details { status: FINALIZED }))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (- (get-mint-requests-pending-amount) (get amount request-details)))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending (get requested-by request-details) (pop mint-requests request-id-idx))) + (ok true))) + +(define-public (finalize-mint-many (request-ids (list 1000 uint))) + (fold check-err (map finalize-mint request-ids) (ok true))) + +(define-public (revoke-mint (request-id uint)) + (let ( + (request-details (try! (get-mint-request-or-fail request-id))) + (mint-requests (get-mint-requests-pending-or-default (get requested-by request-details))) + (request-id-idx (unwrap! (index-of? mint-requests request-id) err-request-finalized-or-revoked))) + (try! (is-paused-or-fail)) + (asserts! (is-eq tx-sender (get requested-by request-details)) err-unauthorised) + (asserts! (is-eq PENDING (get status request-details)) err-request-finalized-or-revoked) + (try! (contract-call? .lqstx-vault proxy-call .stx-transfer-proxy (unwrap-panic (to-consensus-buff? { ustx: (get amount request-details), recipient: (get requested-by request-details) })))) + (try! (contract-call? .lqstx-mint-registry set-mint-request request-id (merge request-details { status: REVOKED }))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (- (get-mint-requests-pending-amount) (get amount request-details)))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending (get requested-by request-details) (pop mint-requests request-id-idx))) + (ok true))) + +(define-public (request-burn (amount uint) (rebase-trait )) + (let ( + (sender tx-sender) + ;; @dev requested-at not used for burn + (cycle (unwrap-panic (get-reward-cycle block-height))) + (vlqstx-amount (contract-call? .token-vlqstx get-tokens-to-shares amount)) + (request-details { requested-by: sender, amount: amount, wrapped-amount: vlqstx-amount, requested-at: cycle, status: PENDING }) + (request-id (try! (contract-call? .lqstx-mint-registry set-burn-request u0 request-details)))) + (try! (is-paused-or-fail)) + (try! (contract-call? .token-vlqstx mint amount sender)) + (try! (contract-call? .token-vlqstx transfer vlqstx-amount sender .lqstx-mint-registry none)) + (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending sender (unwrap-panic (as-max-len? (append (get-burn-requests-pending-or-default sender) request-id) u1000)))) + (match (contract-call? rebase-trait finalize-burn request-id) + ok-value (ok { request-id: request-id, status: FINALIZED }) + err-value (begin (print { type: "burn-request", id: request-id, details: request-details, finalize-err: err-value }) (ok { request-id: request-id, status: PENDING }))))) + +(define-public (finalize-burn (request-id uint)) + (let ( + (request-details (try! (get-burn-request-or-fail request-id))) + (transfer-vlqstx (try! (contract-call? .lqstx-mint-registry transfer (get wrapped-amount request-details) (as-contract tx-sender) .token-vlqstx))) + (burn-requests (get-burn-requests-pending-or-default (get requested-by request-details))) + (validation-data (try! (validate-burn-request request-id)))) + (try! (is-paused-or-fail)) + (try! (is-dao-or-extension)) + (try! (contract-call? .token-vlqstx burn (get wrapped-amount request-details) (as-contract tx-sender))) + (try! (contract-call? .token-lqstx dao-burn (get vaulted-amount validation-data) (as-contract tx-sender))) + (try! (contract-call? .lqstx-vault proxy-call .stx-transfer-proxy (unwrap-panic (to-consensus-buff? { ustx: (get vaulted-amount validation-data), recipient: (get requested-by request-details) })))) + (try! (contract-call? .lqstx-mint-registry set-burn-request request-id (merge request-details { status: FINALIZED }))) + (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending (get requested-by request-details) (pop burn-requests (get request-id-idx validation-data)))) + (ok true))) + +(define-public (finalize-burn-many (request-ids (list 1000 uint))) + (fold check-err (map finalize-burn request-ids) (ok true))) + +(define-public (revoke-burn (request-id uint)) + (let ( + (request-details (try! (get-burn-request-or-fail request-id))) + (burn-requests (get-burn-requests-pending-or-default (get requested-by request-details))) + (request-id-idx (unwrap! (index-of? burn-requests request-id) err-request-finalized-or-revoked)) + (lqstx-amount (contract-call? .token-vlqstx get-shares-to-tokens (get wrapped-amount request-details)))) + (try! (is-paused-or-fail)) + (asserts! (is-eq PENDING (get status request-details)) err-request-finalized-or-revoked) + (asserts! (is-eq tx-sender (get requested-by request-details)) err-unauthorised) + (try! (contract-call? .lqstx-mint-registry transfer (get wrapped-amount request-details) (as-contract tx-sender) .token-vlqstx)) + (try! (contract-call? .token-vlqstx burn (get wrapped-amount request-details) (as-contract tx-sender))) + (try! (contract-call? .token-lqstx transfer lqstx-amount (as-contract tx-sender) (get requested-by request-details) none)) + (try! (contract-call? .lqstx-mint-registry set-burn-request request-id (merge request-details { status: REVOKED }))) + (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending (get requested-by request-details) (pop burn-requests request-id-idx))) + (ok true))) + +(define-private (check-err (result (response bool uint)) (prior (response bool uint))) + (match prior + ok-value result + err-value (err err-value))) + +(define-private (pop (target (list 1000 uint)) (idx uint)) + (match (slice? target (+ idx u1) (len target)) + some-value (unwrap-panic (as-max-len? (concat (unwrap-panic (slice? target u0 idx)) some-value) u1000)) + (unwrap-panic (slice? target u0 idx)))) + +(define-private (set-whitelisted-private (user principal) (new-whitelisted bool)) + (ok (map-set whitelisted user new-whitelisted))) + diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index 4de2269..8daff19 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -76,15 +76,15 @@ ;; @dev used for testing only (define-read-only (get-reward-cycle (stacks-height uint)) - (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) - ;; (if (>= stacks-height (var-get activation-block)) - ;; (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) - ;; none)) + ;; (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) + (if (>= stacks-height (var-get activation-block)) + (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) + none)) ;; @dev used for testing only (define-read-only (get-first-stacks-block-in-reward-cycle (reward-cycle uint)) - (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) - ;; (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) + ;; (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) + (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) (define-read-only (get-mint-delay) (var-get mint-delay)) diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index 95df709..0d073ce 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -39,6 +39,7 @@ genesis: - pox - pox-2 - pox-3 + - pox-4 - lockup - costs-2 - costs-3 @@ -51,338 +52,340 @@ plan: - emulated-contract-publish: contract-name: sip-010-trait-ft-standard emulated-sender: SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE - path: "./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar" + path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar clarity-version: 1 - epoch: "2.0" - - id: 1 - transactions: - emulated-contract-publish: contract-name: trait-sip-010 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-sip-010.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-sip-010.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-flash-loan-user emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-flash-loan-user.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-flash-loan-user.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-semi-fungible emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-semi-fungible.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-semi-fungible.clar clarity-version: 1 - emulated-contract-publish: contract-name: alex-vault-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/alex-vault-v1-1.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/alex-vault-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-ownable emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-ownable.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-ownable.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-wstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/wrapped-token/token-wstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/wrapped-token/token-wstx.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-vault.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-vault.clar clarity-version: 1 - epoch: "2.05" - - id: 2 + epoch: "2.1" + - id: 1 transactions: - emulated-contract-publish: contract-name: pox-pools-1-cycle-v2 emulated-sender: SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX - path: "./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar" + path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar clarity-version: 2 - emulated-contract-publish: contract-name: pox-fast-pool-v2 emulated-sender: SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP - path: "./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar" + path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar clarity-version: 2 - emulated-contract-publish: contract-name: extension-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/extension-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/extension-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: proposal-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/proposal-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proposal-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lisa-dao emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/lisa-dao.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/lisa-dao.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/sip-010-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-registry emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aux/lqstx-mint-registry.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/aux/lqstx-mint-registry.clar clarity-version: 2 - emulated-contract-publish: contract-name: proxy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/proxy-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proxy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/strategy-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lqstx-vault.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-vault.clar clarity-version: 2 - emulated-contract-publish: contract-name: rebase-strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/rebase-strategy-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/rebase-strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/stx-transfer-proxy.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-lqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/token-lqstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/token-lqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/token-vlqstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/token-vlqstx.clar clarity-version: 2 - emulated-contract-publish: - contract-name: lqstx-mint-endpoint + contract-name: lqstx-mint-endpoint-v1-01 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lqstx-mint-endpoint.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint-v1-01.clar clarity-version: 2 - emulated-contract-publish: contract-name: operators emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/operators.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/operators.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member10 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member2 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member3 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member4 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member5 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member6 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member7 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member8 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + clarity-version: 2 + epoch: "2.4" + - id: 2 + transactions: + - emulated-contract-publish: + contract-name: fastpool-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member10 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member2 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member3 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member4 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member5 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member6 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member7 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member8 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/public-pools-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/public-pools-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: token-lisa + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/token-lisa.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/boot.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-rebase + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lisa-rebase.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lisa-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-mint-endpoint + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lqstx-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-proposal + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-proposal.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/rules/rebase-1.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-mock + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/rebase-mock.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: regtest-boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/regtest-boot.clar clarity-version: 2 epoch: "2.4" - id: 3 transactions: - - emulated-contract-publish: - contract-name: fastpool-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member10 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member2 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member3 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member4 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member5 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member6 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member7 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member8 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/public-pools-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/public-pools-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: token-lisa - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/token-lisa.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/boot.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-rebase - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lisa-rebase.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/lisa-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/lqstx-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-proposal - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/mock-proposal.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/mock-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/mock-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/rules/rebase-1.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-mock - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/rebase-mock.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: regtest-boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/regtest-boot.clar - clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-extensions-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/sip-010-extensions-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-extensions-trait.clar clarity-version: 2 - epoch: "2.4" - - id: 4 - transactions: - emulated-contract-publish: contract-name: sip-010-transferable-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/sip-010-transferable-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-transferable-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-many-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/stx-transfer-many-proxy.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-many-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vesting emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/token-vesting.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/token-vesting.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-wlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/token-wlqstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/token-wlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: treasury emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/treasury.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/treasury.clar clarity-version: 2 epoch: "2.4" From 9d42a27c1266ae1acfe3877a6f7df1999d70d08f Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 07:42:18 +0800 Subject: [PATCH 2/9] chore: clean up --- contracts/boot.clar | 2 +- .../extensions/lqstx-mint-endpoint-v1-01.clar | 14 +- deployments/default.simnet-plan.yaml | 346 +++++++++--------- 3 files changed, 182 insertions(+), 180 deletions(-) diff --git a/contracts/boot.clar b/contracts/boot.clar index a05d06c..df6ed2e 100644 --- a/contracts/boot.clar +++ b/contracts/boot.clar @@ -53,7 +53,7 @@ true true ))) - + (try! (contract-call? .lqstx-mint-endpoint-v1-01 set-paused false)) (ok true) ) ) diff --git a/contracts/extensions/lqstx-mint-endpoint-v1-01.clar b/contracts/extensions/lqstx-mint-endpoint-v1-01.clar index 55b8f6a..745bcb3 100644 --- a/contracts/extensions/lqstx-mint-endpoint-v1-01.clar +++ b/contracts/extensions/lqstx-mint-endpoint-v1-01.clar @@ -17,11 +17,11 @@ (define-constant max-uint u340282366920938463463374607431768211455) (define-data-var paused bool true) -(define-data-var mint-delay uint u144) ;; mint available 1 day after cycle starts +(define-data-var mint-delay uint u432) ;; mint available 3 day after cycle starts ;; @dev used for testing only -(define-data-var activation-block uint u0) -(define-data-var reward-cycle-length uint u2016) ;; 2 weeks +;; (define-data-var activation-block uint u0) +;; (define-data-var reward-cycle-length uint u2016) ;; 2 weeks (define-data-var use-whitelist bool false) (define-map whitelisted principal bool) @@ -120,10 +120,10 @@ (ok (var-set mint-delay new-delay)))) ;; @dev used for testing only -(define-public (set-reward-cycle-length (new-reward-cycle-length uint)) - (begin - (try! (is-dao-or-extension)) - (ok (var-set reward-cycle-length new-reward-cycle-length)))) +;; (define-public (set-reward-cycle-length (new-reward-cycle-length uint)) +;; (begin +;; (try! (is-dao-or-extension)) +;; (ok (var-set reward-cycle-length new-reward-cycle-length)))) ;; public calls diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index 0d073ce..fd139b8 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -39,7 +39,6 @@ genesis: - pox - pox-2 - pox-3 - - pox-4 - lockup - costs-2 - costs-3 @@ -52,340 +51,343 @@ plan: - emulated-contract-publish: contract-name: sip-010-trait-ft-standard emulated-sender: SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar + path: "./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar" clarity-version: 1 + epoch: "2.0" + - id: 1 + transactions: - emulated-contract-publish: contract-name: trait-sip-010 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-sip-010.clar + path: contracts_modules/alex_v1/traits/trait-sip-010.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-flash-loan-user emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-flash-loan-user.clar + path: contracts_modules/alex_v1/traits/trait-flash-loan-user.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-semi-fungible emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-semi-fungible.clar + path: contracts_modules/alex_v1/traits/trait-semi-fungible.clar clarity-version: 1 - emulated-contract-publish: contract-name: alex-vault-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/alex-vault-v1-1.clar + path: contracts_modules/alex_v1/alex-vault-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-ownable emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-ownable.clar + path: contracts_modules/alex_v1/traits/trait-ownable.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar + path: contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar + path: contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-wstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/wrapped-token/token-wstx.clar + path: contracts_modules/alex_v1/wrapped-token/token-wstx.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-vault.clar + path: contracts_modules/alex_v1/traits/trait-vault.clar clarity-version: 1 - epoch: "2.1" - - id: 1 + epoch: "2.05" + - id: 2 transactions: - emulated-contract-publish: contract-name: pox-pools-1-cycle-v2 emulated-sender: SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar + path: "./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar" clarity-version: 2 - emulated-contract-publish: contract-name: pox-fast-pool-v2 emulated-sender: SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar + path: "./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar" clarity-version: 2 - emulated-contract-publish: contract-name: extension-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/extension-trait.clar + path: contracts/traits/extension-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: proposal-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proposal-trait.clar + path: contracts/traits/proposal-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lisa-dao emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/lisa-dao.clar + path: contracts/lisa-dao.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-trait.clar + path: contracts/traits/sip-010-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-registry emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/aux/lqstx-mint-registry.clar + path: contracts/aux/lqstx-mint-registry.clar clarity-version: 2 - emulated-contract-publish: contract-name: proxy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proxy-trait.clar + path: contracts/traits/proxy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/strategy-trait.clar + path: contracts/traits/strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-vault.clar + path: contracts/extensions/lqstx-vault.clar clarity-version: 2 - emulated-contract-publish: contract-name: rebase-strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/rebase-strategy-trait.clar + path: contracts/traits/rebase-strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-proxy.clar + path: contracts/proxies/stx-transfer-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-lqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-lqstx.clar + path: contracts/token-lqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-vlqstx.clar + path: contracts/token-vlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-endpoint-v1-01 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint-v1-01.clar + path: contracts/extensions/lqstx-mint-endpoint-v1-01.clar clarity-version: 2 - emulated-contract-publish: contract-name: operators emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/operators.clar + path: contracts/extensions/operators.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member10 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member2 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member3 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member4 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member5 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member6 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member7 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member8 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar - clarity-version: 2 - epoch: "2.4" - - id: 2 - transactions: - - emulated-contract-publish: - contract-name: fastpool-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member10 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member2 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member3 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member4 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member5 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member6 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member7 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member8 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/public-pools-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/public-pools-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: token-lisa - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-lisa.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/boot.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-rebase - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lisa-rebase.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lisa-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-mint-endpoint - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lqstx-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-proposal - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-proposal.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/rules/rebase-1.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-mock - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/rebase-mock.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: regtest-boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/regtest-boot.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 epoch: "2.4" - id: 3 + transactions: + - emulated-contract-publish: + contract-name: fastpool-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/fastpool-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member10 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member2 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member3 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member4 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member5 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member6 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member7 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member8 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/public-pools-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/public-pools-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: token-lisa + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/token-lisa.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/boot.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-rebase + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/lisa-rebase.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/proxies/lisa-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-mint-endpoint + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/lqstx-mint-endpoint.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/proxies/lqstx-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-proposal + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-proposal.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/rules/rebase-1.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-mock + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/rebase-mock.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: regtest-boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/regtest-boot.clar + clarity-version: 2 + epoch: "2.4" + - id: 4 transactions: - emulated-contract-publish: contract-name: sip-010-extensions-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-extensions-trait.clar + path: contracts/traits/sip-010-extensions-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-transferable-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-transferable-trait.clar + path: contracts/traits/sip-010-transferable-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-many-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-many-proxy.clar + path: contracts/proxies/stx-transfer-many-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vesting emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/token-vesting.clar + path: contracts/extensions/token-vesting.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-wlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/token-wlqstx.clar + path: contracts/mocks/token-wlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: treasury emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/treasury.clar + path: contracts/extensions/treasury.clar clarity-version: 2 epoch: "2.4" From 30535cdf5b634607252c12ad7560193840e8df61 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 09:25:00 +0800 Subject: [PATCH 3/9] re-arrange for better readability of change --- Clarinet.toml | 6 ++-- .../lqstx-mint-endpoint.clar} | 28 +++++++++---------- contracts/extensions/lqstx-mint-endpoint.clar | 28 +++++++++---------- deployments/default.simnet-plan.yaml | 4 +-- 4 files changed, 33 insertions(+), 33 deletions(-) rename contracts/{extensions/lqstx-mint-endpoint-v1-01.clar => deployed/lqstx-mint-endpoint.clar} (93%) diff --git a/Clarinet.toml b/Clarinet.toml index 5f7700e..c39b6ee 100644 --- a/Clarinet.toml +++ b/Clarinet.toml @@ -170,12 +170,12 @@ epoch = 2.4 path = "contracts/extensions/public-pools-strategy-manager.clar" epoch = 2.4 -[contracts.lqstx-mint-endpoint] +[contracts.lqstx-mint-endpoint-v1-01] path = "contracts/extensions/lqstx-mint-endpoint.clar" epoch = 2.4 -[contracts.lqstx-mint-endpoint-v1-01] -path = "contracts/extensions/lqstx-mint-endpoint-v1-01.clar" +[contracts.lqstx-mint-endpoint] +path = "contracts/deployed/lqstx-mint-endpoint.clar" epoch = 2.4 [contracts.lqstx-mint-registry] diff --git a/contracts/extensions/lqstx-mint-endpoint-v1-01.clar b/contracts/deployed/lqstx-mint-endpoint.clar similarity index 93% rename from contracts/extensions/lqstx-mint-endpoint-v1-01.clar rename to contracts/deployed/lqstx-mint-endpoint.clar index 745bcb3..8daff19 100644 --- a/contracts/extensions/lqstx-mint-endpoint-v1-01.clar +++ b/contracts/deployed/lqstx-mint-endpoint.clar @@ -1,5 +1,5 @@ ;; -;; lqstx-mint-endpoint-v1-01 +;; lqstx-mint-endpoint ;; (use-trait sip-010-trait .sip-010-trait.sip-010-trait) (use-trait rebase-strategy-trait .rebase-strategy-trait.rebase-strategy-trait) @@ -17,11 +17,11 @@ (define-constant max-uint u340282366920938463463374607431768211455) (define-data-var paused bool true) -(define-data-var mint-delay uint u432) ;; mint available 3 day after cycle starts +(define-data-var mint-delay uint u144) ;; mint available 1 day after cycle starts ;; @dev used for testing only -;; (define-data-var activation-block uint u0) -;; (define-data-var reward-cycle-length uint u2016) ;; 2 weeks +(define-data-var activation-block uint u0) +(define-data-var reward-cycle-length uint u2016) ;; 2 weeks (define-data-var use-whitelist bool false) (define-map whitelisted principal bool) @@ -76,15 +76,15 @@ ;; @dev used for testing only (define-read-only (get-reward-cycle (stacks-height uint)) - (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) - ;; (if (>= stacks-height (var-get activation-block)) - ;; (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) - ;; none)) + ;; (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) + (if (>= stacks-height (var-get activation-block)) + (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) + none)) ;; @dev used for testing only (define-read-only (get-first-stacks-block-in-reward-cycle (reward-cycle uint)) - (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) - ;; (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) + ;; (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) + (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) (define-read-only (get-mint-delay) (var-get mint-delay)) @@ -120,10 +120,10 @@ (ok (var-set mint-delay new-delay)))) ;; @dev used for testing only -;; (define-public (set-reward-cycle-length (new-reward-cycle-length uint)) -;; (begin -;; (try! (is-dao-or-extension)) -;; (ok (var-set reward-cycle-length new-reward-cycle-length)))) +(define-public (set-reward-cycle-length (new-reward-cycle-length uint)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set reward-cycle-length new-reward-cycle-length)))) ;; public calls diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index 8daff19..745bcb3 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -1,5 +1,5 @@ ;; -;; lqstx-mint-endpoint +;; lqstx-mint-endpoint-v1-01 ;; (use-trait sip-010-trait .sip-010-trait.sip-010-trait) (use-trait rebase-strategy-trait .rebase-strategy-trait.rebase-strategy-trait) @@ -17,11 +17,11 @@ (define-constant max-uint u340282366920938463463374607431768211455) (define-data-var paused bool true) -(define-data-var mint-delay uint u144) ;; mint available 1 day after cycle starts +(define-data-var mint-delay uint u432) ;; mint available 3 day after cycle starts ;; @dev used for testing only -(define-data-var activation-block uint u0) -(define-data-var reward-cycle-length uint u2016) ;; 2 weeks +;; (define-data-var activation-block uint u0) +;; (define-data-var reward-cycle-length uint u2016) ;; 2 weeks (define-data-var use-whitelist bool false) (define-map whitelisted principal bool) @@ -76,15 +76,15 @@ ;; @dev used for testing only (define-read-only (get-reward-cycle (stacks-height uint)) - ;; (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) - (if (>= stacks-height (var-get activation-block)) - (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) - none)) + (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) + ;; (if (>= stacks-height (var-get activation-block)) + ;; (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) + ;; none)) ;; @dev used for testing only (define-read-only (get-first-stacks-block-in-reward-cycle (reward-cycle uint)) - ;; (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) - (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) + (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) + ;; (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) (define-read-only (get-mint-delay) (var-get mint-delay)) @@ -120,10 +120,10 @@ (ok (var-set mint-delay new-delay)))) ;; @dev used for testing only -(define-public (set-reward-cycle-length (new-reward-cycle-length uint)) - (begin - (try! (is-dao-or-extension)) - (ok (var-set reward-cycle-length new-reward-cycle-length)))) +;; (define-public (set-reward-cycle-length (new-reward-cycle-length uint)) +;; (begin +;; (try! (is-dao-or-extension)) +;; (ok (var-set reward-cycle-length new-reward-cycle-length)))) ;; public calls diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index fd139b8..8e376ca 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -177,7 +177,7 @@ plan: - emulated-contract-publish: contract-name: lqstx-mint-endpoint-v1-01 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lqstx-mint-endpoint-v1-01.clar + path: contracts/extensions/lqstx-mint-endpoint.clar clarity-version: 2 - emulated-contract-publish: contract-name: operators @@ -320,7 +320,7 @@ plan: - emulated-contract-publish: contract-name: lqstx-mint-endpoint emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lqstx-mint-endpoint.clar + path: contracts/deployed/lqstx-mint-endpoint.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-transfer-proxy From 980bf5f96a0feaec11f9788d4fb22bb62ce4f339 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 10:08:53 +0800 Subject: [PATCH 4/9] refactor: request-burn --- Clarinet.toml | 4 + contracts/deployed/rebase-strategy-trait.clar | 8 + contracts/extensions/lqstx-mint-endpoint.clar | 26 +- contracts/mocks/rebase-mock.clar | 17 +- contracts/regtest-boot.clar | 9 +- contracts/rules/rebase-1.clar | 28 ++ contracts/traits/rebase-strategy-trait.clar | 1 + deployments/default.simnet-plan.yaml | 351 +++++++++--------- tests/lqstx-mint-endpoint.test.ts | 8 +- 9 files changed, 253 insertions(+), 199 deletions(-) create mode 100644 contracts/deployed/rebase-strategy-trait.clar diff --git a/Clarinet.toml b/Clarinet.toml index c39b6ee..8c6e813 100644 --- a/Clarinet.toml +++ b/Clarinet.toml @@ -155,6 +155,10 @@ path = "contracts/traits/sip-010-trait.clar" epoch = 2.4 [contracts.rebase-strategy-trait] +path = "contracts/deployed/rebase-strategy-trait.clar" +epoch = 2.4 + +[contracts.rebase-strategy-trait-v1-01] path = "contracts/traits/rebase-strategy-trait.clar" epoch = 2.4 diff --git a/contracts/deployed/rebase-strategy-trait.clar b/contracts/deployed/rebase-strategy-trait.clar new file mode 100644 index 0000000..cc631cf --- /dev/null +++ b/contracts/deployed/rebase-strategy-trait.clar @@ -0,0 +1,8 @@ +(define-trait rebase-strategy-trait + ( + (rebase () (response uint uint)) + (finalize-mint (uint) (response bool uint)) + (finalize-burn (uint) (response bool uint)) + ) +) + diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index 745bcb3..1f125a1 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -2,7 +2,6 @@ ;; lqstx-mint-endpoint-v1-01 ;; (use-trait sip-010-trait .sip-010-trait.sip-010-trait) -(use-trait rebase-strategy-trait .rebase-strategy-trait.rebase-strategy-trait) (define-constant err-unauthorised (err u1000)) (define-constant err-paused (err u1001)) @@ -20,8 +19,8 @@ (define-data-var mint-delay uint u432) ;; mint available 3 day after cycle starts ;; @dev used for testing only -;; (define-data-var activation-block uint u0) -;; (define-data-var reward-cycle-length uint u2016) ;; 2 weeks +(define-data-var activation-block uint u0) +(define-data-var reward-cycle-length uint u2016) ;; 2 weeks (define-data-var use-whitelist bool false) (define-map whitelisted principal bool) @@ -120,10 +119,10 @@ (ok (var-set mint-delay new-delay)))) ;; @dev used for testing only -;; (define-public (set-reward-cycle-length (new-reward-cycle-length uint)) -;; (begin -;; (try! (is-dao-or-extension)) -;; (ok (var-set reward-cycle-length new-reward-cycle-length)))) +(define-public (set-reward-cycle-length (new-reward-cycle-length uint)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set reward-cycle-length new-reward-cycle-length)))) ;; public calls @@ -172,21 +171,20 @@ (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending (get requested-by request-details) (pop mint-requests request-id-idx))) (ok true))) -(define-public (request-burn (amount uint) (rebase-trait )) +(define-public (request-burn (sender principal) (amount uint)) (let ( - (sender tx-sender) ;; @dev requested-at not used for burn (cycle (unwrap-panic (get-reward-cycle block-height))) (vlqstx-amount (contract-call? .token-vlqstx get-tokens-to-shares amount)) (request-details { requested-by: sender, amount: amount, wrapped-amount: vlqstx-amount, requested-at: cycle, status: PENDING }) (request-id (try! (contract-call? .lqstx-mint-registry set-burn-request u0 request-details)))) (try! (is-paused-or-fail)) - (try! (contract-call? .token-vlqstx mint amount sender)) - (try! (contract-call? .token-vlqstx transfer vlqstx-amount sender .lqstx-mint-registry none)) + (try! (is-dao-or-extension)) + (try! (contract-call? .token-vlqstx mint amount tx-sender)) + (try! (contract-call? .token-vlqstx transfer vlqstx-amount tx-sender .lqstx-mint-registry none)) (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending sender (unwrap-panic (as-max-len? (append (get-burn-requests-pending-or-default sender) request-id) u1000)))) - (match (contract-call? rebase-trait finalize-burn request-id) - ok-value (ok { request-id: request-id, status: FINALIZED }) - err-value (begin (print { type: "burn-request", id: request-id, details: request-details, finalize-err: err-value }) (ok { request-id: request-id, status: PENDING }))))) + (print { type: "burn-request", id: request-id, details: request-details }) + (ok { request-id: request-id, status: PENDING }))) (define-public (finalize-burn (request-id uint)) (let ( diff --git a/contracts/mocks/rebase-mock.clar b/contracts/mocks/rebase-mock.clar index db37e5a..fad76e6 100644 --- a/contracts/mocks/rebase-mock.clar +++ b/contracts/mocks/rebase-mock.clar @@ -1,19 +1,32 @@ +(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 finalize-mint request-id))) + (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 finalize-burn request-id))) + (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)) \ No newline at end of file diff --git a/contracts/regtest-boot.clar b/contracts/regtest-boot.clar index 5d40a39..23600fb 100644 --- a/contracts/regtest-boot.clar +++ b/contracts/regtest-boot.clar @@ -3,7 +3,8 @@ (define-public (execute (sender principal)) (begin (try! (contract-call? .lisa-dao set-extensions (list - {extension: .lqstx-mint-endpoint, enabled: true} + {extension: .lqstx-mint-endpoint, enabled: false} + {extension: .lqstx-mint-endpoint-v1-01, enabled: true} {extension: .lisa-rebase, enabled: true} {extension: .rebase-mock, enabled: true} {extension: .mock-strategy-manager, enabled: true} @@ -19,9 +20,9 @@ ))) (try! (contract-call? .operators set-proposal-threshold 2)) - (try! (contract-call? .lqstx-mint-endpoint set-paused false)) - (try! (contract-call? .lqstx-mint-endpoint set-reward-cycle-length u200)) - (try! (contract-call? .lqstx-mint-endpoint set-mint-delay u14)) + (try! (contract-call? .lqstx-mint-endpoint-v1-01 set-paused false)) + (try! (contract-call? .lqstx-mint-endpoint-v1-01 set-reward-cycle-length u200)) + (try! (contract-call? .lqstx-mint-endpoint-v1-01 set-mint-delay u14)) (try! (contract-call? .mock-strategy-manager set-authorised-manager 'ST2QXSK64YQX3CQPC530K79XWQ98XFAM9W3XKEH3N true)) (try! (contract-call? .mock-strategy-manager set-authorised-manager 'ST2NEB84ASENDXKYGJPQW86YXQCEFEX2ZQPG87ND true)) (ok true) diff --git a/contracts/rules/rebase-1.clar b/contracts/rules/rebase-1.clar index cf891b7..f234748 100644 --- a/contracts/rules/rebase-1.clar +++ b/contracts/rules/rebase-1.clar @@ -1,3 +1,31 @@ + +(define-constant PENDING 0x00) +(define-constant FINALIZED 0x01) +(define-constant REVOKED 0x02) + (define-public (rebase) (contract-call? .lisa-rebase rebase (list .public-pools-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)))) diff --git a/contracts/traits/rebase-strategy-trait.clar b/contracts/traits/rebase-strategy-trait.clar index cc631cf..ac21dd3 100644 --- a/contracts/traits/rebase-strategy-trait.clar +++ b/contracts/traits/rebase-strategy-trait.clar @@ -3,6 +3,7 @@ (rebase () (response uint uint)) (finalize-mint (uint) (response bool uint)) (finalize-burn (uint) (response bool uint)) + (request-burn (uint) (response { request-id: uint, status: (buff 1) } uint)) ) ) diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index 8e376ca..c75aa5d 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -39,6 +39,7 @@ genesis: - pox - pox-2 - pox-3 + - pox-4 - lockup - costs-2 - costs-3 @@ -51,343 +52,345 @@ plan: - emulated-contract-publish: contract-name: sip-010-trait-ft-standard emulated-sender: SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE - path: "./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar" + path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar clarity-version: 1 - epoch: "2.0" - - id: 1 - transactions: - emulated-contract-publish: contract-name: trait-sip-010 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-sip-010.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-sip-010.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-flash-loan-user emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-flash-loan-user.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-flash-loan-user.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-semi-fungible emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-semi-fungible.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-semi-fungible.clar clarity-version: 1 - emulated-contract-publish: contract-name: alex-vault-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/alex-vault-v1-1.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/alex-vault-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-ownable emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-ownable.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-ownable.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-wstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/wrapped-token/token-wstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/wrapped-token/token-wstx.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts_modules/alex_v1/traits/trait-vault.clar + path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-vault.clar clarity-version: 1 - epoch: "2.05" - - id: 2 + epoch: "2.1" + - id: 1 transactions: - emulated-contract-publish: contract-name: pox-pools-1-cycle-v2 emulated-sender: SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX - path: "./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar" + path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar clarity-version: 2 - emulated-contract-publish: contract-name: pox-fast-pool-v2 emulated-sender: SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP - path: "./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar" + path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar clarity-version: 2 - emulated-contract-publish: contract-name: extension-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/extension-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/extension-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: proposal-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/proposal-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proposal-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lisa-dao emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/lisa-dao.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/lisa-dao.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/sip-010-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-registry emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aux/lqstx-mint-registry.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/aux/lqstx-mint-registry.clar clarity-version: 2 - emulated-contract-publish: contract-name: proxy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/proxy-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proxy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/strategy-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lqstx-vault.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-strategy-trait - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/rebase-strategy-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-vault.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/stx-transfer-proxy.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-lqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/token-lqstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/token-lqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/token-vlqstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/token-vlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-endpoint-v1-01 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lqstx-mint-endpoint.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint.clar clarity-version: 2 - emulated-contract-publish: contract-name: operators emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/operators.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/operators.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member10 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member2 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member3 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member4 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member5 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member6 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member7 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member8 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: fastpool-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + clarity-version: 2 + epoch: "2.4" + - id: 2 + transactions: + - emulated-contract-publish: + contract-name: xverse-member1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member10 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member2 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member3 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member4 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member5 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member6 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member7 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member8 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/public-pools-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/public-pools-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: token-lisa + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/token-lisa.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/boot.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-rebase + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lisa-rebase.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lisa-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-strategy-trait + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/deployed/rebase-strategy-trait.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-mint-endpoint + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/deployed/lqstx-mint-endpoint.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lqstx-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-proposal + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-proposal.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/rules/rebase-1.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-mock + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/rebase-mock.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-strategy-trait-v1-01 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/rebase-strategy-trait.clar clarity-version: 2 epoch: "2.4" - id: 3 transactions: - - emulated-contract-publish: - contract-name: fastpool-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/fastpool-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member10 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member2 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member3 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member4 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member5 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member6 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member7 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member8 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/strategies/public-pools/public-pools-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/public-pools-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: token-lisa - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/token-lisa.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/boot.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-rebase - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/lisa-rebase.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/lisa-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-mint-endpoint - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/deployed/lqstx-mint-endpoint.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/lqstx-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-proposal - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/mock-proposal.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/mock-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/mock-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/rules/rebase-1.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-mock - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/rebase-mock.clar - clarity-version: 2 - emulated-contract-publish: contract-name: regtest-boot emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/regtest-boot.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/regtest-boot.clar clarity-version: 2 - epoch: "2.4" - - id: 4 - transactions: - emulated-contract-publish: contract-name: sip-010-extensions-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/sip-010-extensions-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-extensions-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-transferable-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/traits/sip-010-transferable-trait.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-transferable-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-many-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/proxies/stx-transfer-many-proxy.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-many-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vesting emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/token-vesting.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/token-vesting.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-wlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/mocks/token-wlqstx.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/token-wlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: treasury emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/extensions/treasury.clar + path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/treasury.clar clarity-version: 2 epoch: "2.4" diff --git a/tests/lqstx-mint-endpoint.test.ts b/tests/lqstx-mint-endpoint.test.ts index a8b44ac..a68e860 100644 --- a/tests/lqstx-mint-endpoint.test.ts +++ b/tests/lqstx-mint-endpoint.test.ts @@ -9,7 +9,7 @@ const bot = accounts.get('wallet_3')!; const manager = accounts.get('wallet_4')!; const contracts = { - endpoint: 'lqstx-mint-endpoint', + endpoint: 'lqstx-mint-endpoint-v1-01', registry: 'lqstx-mint-registry', vault: 'lqstx-vault', lqstx: 'token-lqstx', @@ -76,11 +76,10 @@ const requestBurn = (payload: Buffer) => oracle ), tx.callPublicFn( - contracts.endpoint, + contracts.rebase1, 'request-burn', [ Cl.uint(100e6), - Cl.contractPrincipal(simnet.deployer, contracts.rebase1), ], user ), @@ -360,11 +359,10 @@ describe(contracts.endpoint, () => { bot ), tx.callPublicFn( - contracts.endpoint, + contracts.rebase1, 'request-burn', [ Cl.uint(100e6), - Cl.contractPrincipal(simnet.deployer, contracts.rebase1), ], user ), From 37d1d2ca5000a72d64ae57a94140b66539f4a617 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 10:10:34 +0800 Subject: [PATCH 5/9] chore: fix default.simnet-plan.yaml --- deployments/default.simnet-plan.yaml | 348 ++++++++++++++------------- 1 file changed, 175 insertions(+), 173 deletions(-) diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index c75aa5d..a19128e 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -39,7 +39,6 @@ genesis: - pox - pox-2 - pox-3 - - pox-4 - lockup - costs-2 - costs-3 @@ -52,345 +51,348 @@ plan: - emulated-contract-publish: contract-name: sip-010-trait-ft-standard emulated-sender: SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar + path: "./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar" clarity-version: 1 + epoch: "2.0" + - id: 1 + transactions: - emulated-contract-publish: contract-name: trait-sip-010 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-sip-010.clar + path: contracts_modules/alex_v1/traits/trait-sip-010.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-flash-loan-user emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-flash-loan-user.clar + path: contracts_modules/alex_v1/traits/trait-flash-loan-user.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-semi-fungible emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-semi-fungible.clar + path: contracts_modules/alex_v1/traits/trait-semi-fungible.clar clarity-version: 1 - emulated-contract-publish: contract-name: alex-vault-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/alex-vault-v1-1.clar + path: contracts_modules/alex_v1/alex-vault-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-ownable emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-ownable.clar + path: contracts_modules/alex_v1/traits/trait-ownable.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar + path: contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar + path: contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-wstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/wrapped-token/token-wstx.clar + path: contracts_modules/alex_v1/wrapped-token/token-wstx.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-vault.clar + path: contracts_modules/alex_v1/traits/trait-vault.clar clarity-version: 1 - epoch: "2.1" - - id: 1 + epoch: "2.05" + - id: 2 transactions: - emulated-contract-publish: contract-name: pox-pools-1-cycle-v2 emulated-sender: SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar + path: "./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar" clarity-version: 2 - emulated-contract-publish: contract-name: pox-fast-pool-v2 emulated-sender: SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar + path: "./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar" clarity-version: 2 - emulated-contract-publish: contract-name: extension-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/extension-trait.clar + path: contracts/traits/extension-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: proposal-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proposal-trait.clar + path: contracts/traits/proposal-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lisa-dao emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/lisa-dao.clar + path: contracts/lisa-dao.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-trait.clar + path: contracts/traits/sip-010-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-registry emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/aux/lqstx-mint-registry.clar + path: contracts/aux/lqstx-mint-registry.clar clarity-version: 2 - emulated-contract-publish: contract-name: proxy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proxy-trait.clar + path: contracts/traits/proxy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/strategy-trait.clar + path: contracts/traits/strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-vault.clar + path: contracts/extensions/lqstx-vault.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-proxy.clar + path: contracts/proxies/stx-transfer-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-lqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-lqstx.clar + path: contracts/token-lqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-vlqstx.clar + path: contracts/token-vlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-endpoint-v1-01 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint.clar + path: contracts/extensions/lqstx-mint-endpoint.clar clarity-version: 2 - emulated-contract-publish: contract-name: operators emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/operators.clar + path: contracts/extensions/operators.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member10 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member2 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member3 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member4 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member5 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member6 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member7 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member8 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member9 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar - clarity-version: 2 - epoch: "2.4" - - id: 2 - transactions: - - emulated-contract-publish: - contract-name: xverse-member1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member10 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member2 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member3 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member4 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member5 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member6 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member7 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member8 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/public-pools-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/public-pools-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: token-lisa - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-lisa.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/boot.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-rebase - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lisa-rebase.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lisa-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-strategy-trait - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/deployed/rebase-strategy-trait.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-mint-endpoint - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/deployed/lqstx-mint-endpoint.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lqstx-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-proposal - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-proposal.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/rules/rebase-1.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-mock - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/rebase-mock.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-strategy-trait-v1-01 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/rebase-strategy-trait.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 epoch: "2.4" - id: 3 + transactions: + - emulated-contract-publish: + contract-name: xverse-member1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member10 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member2 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member3 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member4 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member5 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member6 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member7 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member8 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/public-pools-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/public-pools-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: token-lisa + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/token-lisa.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/boot.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-rebase + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/lisa-rebase.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/proxies/lisa-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-strategy-trait + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/deployed/rebase-strategy-trait.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-mint-endpoint + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/deployed/lqstx-mint-endpoint.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/proxies/lqstx-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-proposal + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-proposal.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/rules/rebase-1.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-mock + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/rebase-mock.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-strategy-trait-v1-01 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/traits/rebase-strategy-trait.clar + clarity-version: 2 + epoch: "2.4" + - id: 4 transactions: - emulated-contract-publish: contract-name: regtest-boot emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/regtest-boot.clar + path: contracts/regtest-boot.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-extensions-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-extensions-trait.clar + path: contracts/traits/sip-010-extensions-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-transferable-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-transferable-trait.clar + path: contracts/traits/sip-010-transferable-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-many-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-many-proxy.clar + path: contracts/proxies/stx-transfer-many-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vesting emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/token-vesting.clar + path: contracts/extensions/token-vesting.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-wlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/token-wlqstx.clar + path: contracts/mocks/token-wlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: treasury emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/treasury.clar + path: contracts/extensions/treasury.clar clarity-version: 2 epoch: "2.4" From 5e968c7d5839e784d2630edad83a1748bd01e226 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 10:18:03 +0800 Subject: [PATCH 6/9] chore: refactor lqstx-mint-endpoint-v1-01 --- contracts/extensions/lqstx-mint-endpoint.clar | 94 ++++++++++--------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index 1f125a1..0fdbd75 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -91,6 +91,53 @@ (define-read-only (is-whitelisted-or-mint-for-all (user principal)) (or (not (var-get use-whitelist)) (default-to false (map-get? whitelisted user)))) +;; public calls + +;; @dev the requestor stx is held by the contract until mint can be finalized. +(define-public (request-mint (amount uint)) + (let ( + (sender tx-sender) + (cycle (unwrap-panic (get-reward-cycle block-height))) + (request-details { requested-by: sender, amount: amount, requested-at: cycle, status: PENDING }) + (request-id (try! (contract-call? .lqstx-mint-registry set-mint-request u0 request-details)))) + (try! (is-paused-or-fail)) + (asserts! (is-whitelisted-or-mint-for-all sender) err-not-whitelisted) + (try! (stx-transfer? amount sender .lqstx-vault)) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (+ (get-mint-requests-pending-amount) amount))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending sender (unwrap-panic (as-max-len? (append (get-mint-requests-pending-or-default sender) request-id) u1000)))) + (print { type: "mint-request", id: request-id, details: request-details }) + (ok request-id))) + +(define-public (revoke-mint (request-id uint)) + (let ( + (request-details (try! (get-mint-request-or-fail request-id))) + (mint-requests (get-mint-requests-pending-or-default (get requested-by request-details))) + (request-id-idx (unwrap! (index-of? mint-requests request-id) err-request-finalized-or-revoked))) + (try! (is-paused-or-fail)) + (asserts! (is-eq tx-sender (get requested-by request-details)) err-unauthorised) + (asserts! (is-eq PENDING (get status request-details)) err-request-finalized-or-revoked) + (try! (contract-call? .lqstx-vault proxy-call .stx-transfer-proxy (unwrap-panic (to-consensus-buff? { ustx: (get amount request-details), recipient: (get requested-by request-details) })))) + (try! (contract-call? .lqstx-mint-registry set-mint-request request-id (merge request-details { status: REVOKED }))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (- (get-mint-requests-pending-amount) (get amount request-details)))) + (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending (get requested-by request-details) (pop mint-requests request-id-idx))) + (ok true))) + +(define-public (revoke-burn (request-id uint)) + (let ( + (request-details (try! (get-burn-request-or-fail request-id))) + (burn-requests (get-burn-requests-pending-or-default (get requested-by request-details))) + (request-id-idx (unwrap! (index-of? burn-requests request-id) err-request-finalized-or-revoked)) + (lqstx-amount (contract-call? .token-vlqstx get-shares-to-tokens (get wrapped-amount request-details)))) + (try! (is-paused-or-fail)) + (asserts! (is-eq PENDING (get status request-details)) err-request-finalized-or-revoked) + (asserts! (is-eq tx-sender (get requested-by request-details)) err-unauthorised) + (try! (contract-call? .lqstx-mint-registry transfer (get wrapped-amount request-details) (as-contract tx-sender) .token-vlqstx)) + (try! (contract-call? .token-vlqstx burn (get wrapped-amount request-details) (as-contract tx-sender))) + (try! (contract-call? .token-lqstx transfer lqstx-amount (as-contract tx-sender) (get requested-by request-details) none)) + (try! (contract-call? .lqstx-mint-registry set-burn-request request-id (merge request-details { status: REVOKED }))) + (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending (get requested-by request-details) (pop burn-requests request-id-idx))) + (ok true))) + ;; governance calls (define-public (set-use-whitelist (new-use bool)) @@ -124,22 +171,7 @@ (try! (is-dao-or-extension)) (ok (var-set reward-cycle-length new-reward-cycle-length)))) -;; public calls - -;; @dev the requestor stx is held by the contract until mint can be finalized. -(define-public (request-mint (amount uint)) - (let ( - (sender tx-sender) - (cycle (unwrap-panic (get-reward-cycle block-height))) - (request-details { requested-by: sender, amount: amount, requested-at: cycle, status: PENDING }) - (request-id (try! (contract-call? .lqstx-mint-registry set-mint-request u0 request-details)))) - (try! (is-paused-or-fail)) - (asserts! (is-whitelisted-or-mint-for-all sender) err-not-whitelisted) - (try! (stx-transfer? amount sender .lqstx-vault)) - (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (+ (get-mint-requests-pending-amount) amount))) - (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending sender (unwrap-panic (as-max-len? (append (get-mint-requests-pending-or-default sender) request-id) u1000)))) - (print { type: "mint-request", id: request-id, details: request-details }) - (ok request-id))) +;; privileged calls (define-public (finalize-mint (request-id uint)) (let ( @@ -157,20 +189,6 @@ (define-public (finalize-mint-many (request-ids (list 1000 uint))) (fold check-err (map finalize-mint request-ids) (ok true))) -(define-public (revoke-mint (request-id uint)) - (let ( - (request-details (try! (get-mint-request-or-fail request-id))) - (mint-requests (get-mint-requests-pending-or-default (get requested-by request-details))) - (request-id-idx (unwrap! (index-of? mint-requests request-id) err-request-finalized-or-revoked))) - (try! (is-paused-or-fail)) - (asserts! (is-eq tx-sender (get requested-by request-details)) err-unauthorised) - (asserts! (is-eq PENDING (get status request-details)) err-request-finalized-or-revoked) - (try! (contract-call? .lqstx-vault proxy-call .stx-transfer-proxy (unwrap-panic (to-consensus-buff? { ustx: (get amount request-details), recipient: (get requested-by request-details) })))) - (try! (contract-call? .lqstx-mint-registry set-mint-request request-id (merge request-details { status: REVOKED }))) - (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending-amount (- (get-mint-requests-pending-amount) (get amount request-details)))) - (try! (contract-call? .lqstx-mint-registry set-mint-requests-pending (get requested-by request-details) (pop mint-requests request-id-idx))) - (ok true))) - (define-public (request-burn (sender principal) (amount uint)) (let ( ;; @dev requested-at not used for burn @@ -204,21 +222,7 @@ (define-public (finalize-burn-many (request-ids (list 1000 uint))) (fold check-err (map finalize-burn request-ids) (ok true))) -(define-public (revoke-burn (request-id uint)) - (let ( - (request-details (try! (get-burn-request-or-fail request-id))) - (burn-requests (get-burn-requests-pending-or-default (get requested-by request-details))) - (request-id-idx (unwrap! (index-of? burn-requests request-id) err-request-finalized-or-revoked)) - (lqstx-amount (contract-call? .token-vlqstx get-shares-to-tokens (get wrapped-amount request-details)))) - (try! (is-paused-or-fail)) - (asserts! (is-eq PENDING (get status request-details)) err-request-finalized-or-revoked) - (asserts! (is-eq tx-sender (get requested-by request-details)) err-unauthorised) - (try! (contract-call? .lqstx-mint-registry transfer (get wrapped-amount request-details) (as-contract tx-sender) .token-vlqstx)) - (try! (contract-call? .token-vlqstx burn (get wrapped-amount request-details) (as-contract tx-sender))) - (try! (contract-call? .token-lqstx transfer lqstx-amount (as-contract tx-sender) (get requested-by request-details) none)) - (try! (contract-call? .lqstx-mint-registry set-burn-request request-id (merge request-details { status: REVOKED }))) - (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending (get requested-by request-details) (pop burn-requests request-id-idx))) - (ok true))) +;; private calls (define-private (check-err (result (response bool uint)) (prior (response bool uint))) (match prior From d014098aae84c59aadf0c28ab7e5d08e3b13dd97 Mon Sep 17 00:00:00 2001 From: Kyle Fang Date: Sun, 10 Mar 2024 11:07:34 +0800 Subject: [PATCH 7/9] feat: add ;; __IF_MAINNET__ --- contracts/extensions/lqstx-mint-endpoint.clar | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index 0fdbd75..bb597db 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -75,15 +75,19 @@ ;; @dev used for testing only (define-read-only (get-reward-cycle (stacks-height uint)) + ;; __IF_MAINNET__ (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) ;; (if (>= stacks-height (var-get activation-block)) ;; (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) - ;; none)) + ;; none)) + ;; __ENDIF__ ;; @dev used for testing only (define-read-only (get-first-stacks-block-in-reward-cycle (reward-cycle uint)) + ;; __IF_MAINNET__ (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) ;; (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) + ;; __ENDIF__ (define-read-only (get-mint-delay) (var-get mint-delay)) @@ -136,17 +140,17 @@ (try! (contract-call? .token-lqstx transfer lqstx-amount (as-contract tx-sender) (get requested-by request-details) none)) (try! (contract-call? .lqstx-mint-registry set-burn-request request-id (merge request-details { status: REVOKED }))) (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending (get requested-by request-details) (pop burn-requests request-id-idx))) - (ok true))) + (ok true))) ;; governance calls (define-public (set-use-whitelist (new-use bool)) - (begin + (begin (try! (is-dao-or-extension)) (ok (var-set use-whitelist new-use)))) (define-public (set-whitelisted (user principal) (new-whitelisted bool)) - (begin + (begin (try! (is-dao-or-extension)) (set-whitelisted-private user new-whitelisted))) @@ -201,8 +205,8 @@ (try! (contract-call? .token-vlqstx mint amount tx-sender)) (try! (contract-call? .token-vlqstx transfer vlqstx-amount tx-sender .lqstx-mint-registry none)) (try! (contract-call? .lqstx-mint-registry set-burn-requests-pending sender (unwrap-panic (as-max-len? (append (get-burn-requests-pending-or-default sender) request-id) u1000)))) - (print { type: "burn-request", id: request-id, details: request-details }) - (ok { request-id: request-id, status: PENDING }))) + (print { type: "burn-request", id: request-id, details: request-details }) + (ok { request-id: request-id, status: PENDING }))) (define-public (finalize-burn (request-id uint)) (let ( @@ -210,7 +214,7 @@ (transfer-vlqstx (try! (contract-call? .lqstx-mint-registry transfer (get wrapped-amount request-details) (as-contract tx-sender) .token-vlqstx))) (burn-requests (get-burn-requests-pending-or-default (get requested-by request-details))) (validation-data (try! (validate-burn-request request-id)))) - (try! (is-paused-or-fail)) + (try! (is-paused-or-fail)) (try! (is-dao-or-extension)) (try! (contract-call? .token-vlqstx burn (get wrapped-amount request-details) (as-contract tx-sender))) (try! (contract-call? .token-lqstx dao-burn (get vaulted-amount validation-data) (as-contract tx-sender))) From d8a3c4d2599ab22543b846e7ead6fa1ceec861b3 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 18:53:39 +0800 Subject: [PATCH 8/9] remove pox-3 dependency --- contracts/extensions/lqstx-mint-endpoint.clar | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index 0fdbd75..5b26854 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -18,9 +18,9 @@ (define-data-var paused bool true) (define-data-var mint-delay uint u432) ;; mint available 3 day after cycle starts -;; @dev used for testing only -(define-data-var activation-block uint u0) -(define-data-var reward-cycle-length uint u2016) ;; 2 weeks +;; corresponds to `first-burnchain-block-height` and `pox-reward-cycle-length` in pox-3 +(define-data-var activation-burn-block uint u666050) +(define-data-var reward-cycle-length uint u2100) (define-data-var use-whitelist bool false) (define-map whitelisted principal bool) @@ -61,7 +61,7 @@ (let ( (request-details (try! (contract-call? .lqstx-mint-registry get-mint-request-or-fail request-id))) (request-id-idx (unwrap! (index-of? (get-mint-requests-pending-or-default (get requested-by request-details)) request-id) err-request-finalized-or-revoked))) - (asserts! (>= block-height (+ (get-first-stacks-block-in-reward-cycle (+ (get requested-at request-details) u1)) (var-get mint-delay))) err-request-pending) + (asserts! (>= burn-block-height (+ (get-first-burn-block-in-reward-cycle (+ (get requested-at request-details) u1)) (var-get mint-delay))) err-request-pending) (ok request-id-idx))) ;; @dev it favours smaller amounts as we do not allow partial burn @@ -73,17 +73,13 @@ (asserts! (>= (stx-get-balance .lqstx-vault) vaulted-amount) err-request-pending) (ok { vaulted-amount: vaulted-amount, request-id-idx: request-id-idx }))) -;; @dev used for testing only -(define-read-only (get-reward-cycle (stacks-height uint)) - (some (contract-call? 'SP000000000000000000002Q6VF78.pox-3 current-pox-reward-cycle))) - ;; (if (>= stacks-height (var-get activation-block)) - ;; (some (/ (- stacks-height (var-get activation-block)) (var-get reward-cycle-length))) - ;; none)) +(define-read-only (get-reward-cycle (burn-block uint)) + (if (>= burn-block (var-get activation-burn-block)) + (some (/ (- burn-block (var-get activation-burn-block)) (var-get reward-cycle-length))) + none)) -;; @dev used for testing only -(define-read-only (get-first-stacks-block-in-reward-cycle (reward-cycle uint)) - (contract-call? 'SP000000000000000000002Q6VF78.pox-3 reward-cycle-to-burn-height reward-cycle)) - ;; (+ (var-get activation-block) (* (var-get reward-cycle-length) reward-cycle))) +(define-read-only (get-first-burn-block-in-reward-cycle (reward-cycle uint)) + (+ (var-get activation-burn-block) (* (var-get reward-cycle-length) reward-cycle))) (define-read-only (get-mint-delay) (var-get mint-delay)) @@ -97,7 +93,7 @@ (define-public (request-mint (amount uint)) (let ( (sender tx-sender) - (cycle (unwrap-panic (get-reward-cycle block-height))) + (cycle (unwrap-panic (get-reward-cycle burn-block-height))) (request-details { requested-by: sender, amount: amount, requested-at: cycle, status: PENDING }) (request-id (try! (contract-call? .lqstx-mint-registry set-mint-request u0 request-details)))) (try! (is-paused-or-fail)) @@ -165,7 +161,11 @@ (try! (is-dao-or-extension)) (ok (var-set mint-delay new-delay)))) -;; @dev used for testing only +(define-public (set-activation-burn-block (new-activation-burn-block uint)) + (begin + (try! (is-dao-or-extension)) + (ok (var-set activation-burn-block new-activation-burn-block)))) + (define-public (set-reward-cycle-length (new-reward-cycle-length uint)) (begin (try! (is-dao-or-extension)) @@ -192,7 +192,7 @@ (define-public (request-burn (sender principal) (amount uint)) (let ( ;; @dev requested-at not used for burn - (cycle (unwrap-panic (get-reward-cycle block-height))) + (cycle (unwrap-panic (get-reward-cycle burn-block-height))) (vlqstx-amount (contract-call? .token-vlqstx get-tokens-to-shares amount)) (request-details { requested-by: sender, amount: amount, wrapped-amount: vlqstx-amount, requested-at: cycle, status: PENDING }) (request-id (try! (contract-call? .lqstx-mint-registry set-burn-request u0 request-details)))) From 6b56fa796b6b875b8b46f66cfbf6cfd16f48e3ea Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Tue, 12 Mar 2024 09:16:53 +0800 Subject: [PATCH 9/9] chore: comments fixed --- contracts/boot.clar | 1 + contracts/extensions/lqstx-mint-endpoint.clar | 2 +- .../public-pools-strategy-manager.clar | 2 +- deployments/default.simnet-plan.yaml | 348 +++++++++--------- 4 files changed, 178 insertions(+), 175 deletions(-) diff --git a/contracts/boot.clar b/contracts/boot.clar index df6ed2e..e98394f 100644 --- a/contracts/boot.clar +++ b/contracts/boot.clar @@ -29,6 +29,7 @@ (try! (contract-call? .operators set-proposal-threshold 4)) ;; Set initial strategy managers, sender is the deployer + ;; TODO add manager (try! (contract-call? .public-pools-strategy-manager set-authorised-manager sender true)) ;; Mint max LISA token supply (1bn) diff --git a/contracts/extensions/lqstx-mint-endpoint.clar b/contracts/extensions/lqstx-mint-endpoint.clar index f536db2..7be2e0f 100644 --- a/contracts/extensions/lqstx-mint-endpoint.clar +++ b/contracts/extensions/lqstx-mint-endpoint.clar @@ -76,7 +76,7 @@ (define-read-only (get-reward-cycle (burn-block uint)) (if (>= burn-block (var-get activation-burn-block)) (some (/ (- burn-block (var-get activation-burn-block)) (var-get reward-cycle-length))) - none)) + none)) (define-read-only (get-first-burn-block-in-reward-cycle (reward-cycle uint)) (+ (var-get activation-burn-block) (* (var-get reward-cycle-length) reward-cycle))) diff --git a/contracts/extensions/public-pools-strategy-manager.clar b/contracts/extensions/public-pools-strategy-manager.clar index 493fe91..c22081f 100644 --- a/contracts/extensions/public-pools-strategy-manager.clar +++ b/contracts/extensions/public-pools-strategy-manager.clar @@ -1,4 +1,4 @@ -(define-constant err-unauthorised (err u10000)) +(define-constant err-unauthorised (err u3000)) (define-map authorised-managers principal bool) (map-set authorised-managers tx-sender true) diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index c75aa5d..a19128e 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -39,7 +39,6 @@ genesis: - pox - pox-2 - pox-3 - - pox-4 - lockup - costs-2 - costs-3 @@ -52,345 +51,348 @@ plan: - emulated-contract-publish: contract-name: sip-010-trait-ft-standard emulated-sender: SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar + path: "./.cache/requirements/SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE.sip-010-trait-ft-standard.clar" clarity-version: 1 + epoch: "2.0" + - id: 1 + transactions: - emulated-contract-publish: contract-name: trait-sip-010 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-sip-010.clar + path: contracts_modules/alex_v1/traits/trait-sip-010.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-flash-loan-user emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-flash-loan-user.clar + path: contracts_modules/alex_v1/traits/trait-flash-loan-user.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-semi-fungible emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-semi-fungible.clar + path: contracts_modules/alex_v1/traits/trait-semi-fungible.clar clarity-version: 1 - emulated-contract-publish: contract-name: alex-vault-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/alex-vault-v1-1.clar + path: contracts_modules/alex_v1/alex-vault-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-ownable emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-ownable.clar + path: contracts_modules/alex_v1/traits/trait-ownable.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar + path: contracts_modules/alex_v1/pool-token/token-amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: amm-swap-pool-v1-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar + path: contracts_modules/alex_v1/pool/amm-swap-pool-v1-1.clar clarity-version: 1 - emulated-contract-publish: contract-name: token-wstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/wrapped-token/token-wstx.clar + path: contracts_modules/alex_v1/wrapped-token/token-wstx.clar clarity-version: 1 - emulated-contract-publish: contract-name: trait-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts_modules/alex_v1/traits/trait-vault.clar + path: contracts_modules/alex_v1/traits/trait-vault.clar clarity-version: 1 - epoch: "2.1" - - id: 1 + epoch: "2.05" + - id: 2 transactions: - emulated-contract-publish: contract-name: pox-pools-1-cycle-v2 emulated-sender: SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar + path: "./.cache/requirements/SP001SFSMC2ZY76PD4M68P3WGX154XCH7NE3TYMX.pox-pools-1-cycle-v2.clar" clarity-version: 2 - emulated-contract-publish: contract-name: pox-fast-pool-v2 emulated-sender: SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP - path: /Users/chanahn/githome/liquid-stacking/./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar + path: "./.cache/requirements/SP21YTSM60CAY6D011EZVEVNKXVW8FVZE198XEFFP.pox-fast-pool-v2.clar" clarity-version: 2 - emulated-contract-publish: contract-name: extension-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/extension-trait.clar + path: contracts/traits/extension-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: proposal-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proposal-trait.clar + path: contracts/traits/proposal-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lisa-dao emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/lisa-dao.clar + path: contracts/lisa-dao.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-trait.clar + path: contracts/traits/sip-010-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-registry emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/aux/lqstx-mint-registry.clar + path: contracts/aux/lqstx-mint-registry.clar clarity-version: 2 - emulated-contract-publish: contract-name: proxy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/proxy-trait.clar + path: contracts/traits/proxy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: strategy-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/strategy-trait.clar + path: contracts/traits/strategy-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-vault emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-vault.clar + path: contracts/extensions/lqstx-vault.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-proxy.clar + path: contracts/proxies/stx-transfer-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-lqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-lqstx.clar + path: contracts/token-lqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-vlqstx.clar + path: contracts/token-vlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: lqstx-mint-endpoint-v1-01 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lqstx-mint-endpoint.clar + path: contracts/extensions/lqstx-mint-endpoint.clar clarity-version: 2 - emulated-contract-publish: contract-name: operators emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/operators.clar + path: contracts/extensions/operators.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member10 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member2 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member3 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member4 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member5 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member6 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member7 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member8 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 - emulated-contract-publish: contract-name: fastpool-member9 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/fastpool-member.clar - clarity-version: 2 - epoch: "2.4" - - id: 2 - transactions: - - emulated-contract-publish: - contract-name: xverse-member1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member10 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member2 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member3 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member4 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member5 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member6 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member7 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member8 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: xverse-member9 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/xverse-member.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/strategies/public-pools/public-pools-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: public-pools-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/public-pools-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: token-lisa - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/token-lisa.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: boot - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/boot.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-rebase - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/lisa-rebase.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lisa-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lisa-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-strategy-trait - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/deployed/rebase-strategy-trait.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-mint-endpoint - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/deployed/lqstx-mint-endpoint.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: lqstx-transfer-proxy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/lqstx-transfer-proxy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-proposal - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-proposal.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: mock-strategy-manager - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/mock-strategy-manager.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/rules/rebase-1.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-mock - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/rebase-mock.clar - clarity-version: 2 - - emulated-contract-publish: - contract-name: rebase-strategy-trait-v1-01 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/rebase-strategy-trait.clar + path: contracts/strategies/public-pools/fastpool-member.clar clarity-version: 2 epoch: "2.4" - id: 3 + transactions: + - emulated-contract-publish: + contract-name: xverse-member1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member10 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member2 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member3 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member4 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member5 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member6 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member7 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member8 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: xverse-member9 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/xverse-member.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/strategies/public-pools/public-pools-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: public-pools-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/public-pools-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: token-lisa + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/token-lisa.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: boot + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/boot.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-rebase + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/extensions/lisa-rebase.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lisa-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/proxies/lisa-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-strategy-trait + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/deployed/rebase-strategy-trait.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-mint-endpoint + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/deployed/lqstx-mint-endpoint.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: lqstx-transfer-proxy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/proxies/lqstx-transfer-proxy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-proposal + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-proposal.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-strategy.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: mock-strategy-manager + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/mock-strategy-manager.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-1 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/rules/rebase-1.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-mock + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/mocks/rebase-mock.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: rebase-strategy-trait-v1-01 + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/traits/rebase-strategy-trait.clar + clarity-version: 2 + epoch: "2.4" + - id: 4 transactions: - emulated-contract-publish: contract-name: regtest-boot emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/regtest-boot.clar + path: contracts/regtest-boot.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-extensions-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-extensions-trait.clar + path: contracts/traits/sip-010-extensions-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: sip-010-transferable-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/traits/sip-010-transferable-trait.clar + path: contracts/traits/sip-010-transferable-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: stx-transfer-many-proxy emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/proxies/stx-transfer-many-proxy.clar + path: contracts/proxies/stx-transfer-many-proxy.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-vesting emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/token-vesting.clar + path: contracts/extensions/token-vesting.clar clarity-version: 2 - emulated-contract-publish: contract-name: token-wlqstx emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/mocks/token-wlqstx.clar + path: contracts/mocks/token-wlqstx.clar clarity-version: 2 - emulated-contract-publish: contract-name: treasury emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: /Users/chanahn/githome/liquid-stacking/contracts/extensions/treasury.clar + path: contracts/extensions/treasury.clar clarity-version: 2 epoch: "2.4"