From 980bf5f96a0feaec11f9788d4fb22bb62ce4f339 Mon Sep 17 00:00:00 2001 From: fiftyeightandeight Date: Sun, 10 Mar 2024 10:08:53 +0800 Subject: [PATCH] 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 ),