diff --git a/contracts/dao/aibtcdev-dao.clar b/contracts/dao/aibtcdev-dao.clar index ef1a885..42eea0a 100644 --- a/contracts/dao/aibtcdev-dao.clar +++ b/contracts/dao/aibtcdev-dao.clar @@ -14,6 +14,7 @@ (define-constant ERR_UNAUTHORIZED (err u900)) (define-constant ERR_ALREADY_EXECUTED (err u901)) (define-constant ERR_INVALID_EXTENSION (err u902)) +(define-constant ERR_NO_EMPTY_LISTS (err u903)) ;; data vars ;; @@ -47,7 +48,13 @@ (begin (try! (is-self-or-extension)) (asserts! (map-insert ExecutedProposals (contract-of proposal) block-height) ERR_ALREADY_EXECUTED) - (print {event: "execute", proposal: proposal}) + (print { + notification: "execute", + payload: { + proposal: proposal, + sender: sender, + } + }) (as-contract (contract-call? proposal execute sender)) ) ) @@ -56,7 +63,13 @@ (define-public (set-extension (extension principal) (enabled bool)) (begin (try! (is-self-or-extension)) - (print {event: "extension", enabled: enabled, extension: extension,}) + (print { + notification: "extension", + payload: { + enabled: enabled, + extension: extension, + } + }) (ok (map-set Extensions extension enabled)) ) ) @@ -65,6 +78,7 @@ (define-public (set-extensions (extensionList (list 200 {extension: principal, enabled: bool}))) (begin (try! (is-self-or-extension)) + (asserts! (>= (len extensionList) u0) ERR_NO_EMPTY_LISTS) (ok (map set-extensions-iter extensionList)) ) ) @@ -75,6 +89,14 @@ ((sender tx-sender)) (asserts! (is-extension contract-caller) ERR_INVALID_EXTENSION) (asserts! (is-eq contract-caller (contract-of extension)) ERR_INVALID_EXTENSION) + (print { + notification: "request-extension-callback", + payload: { + extension: extension, + memo: memo, + sender: sender, + } + }) (as-contract (contract-call? extension callback sender memo)) ) ) @@ -101,7 +123,13 @@ ;; set extensions helper function (define-private (set-extensions-iter (item {extension: principal, enabled: bool})) (begin - (print {event: "extension", enabled: (get enabled item), extension: (get extension item)}) + (print { + notification: "extension", + payload: { + enabled: (get enabled item), + extension: (get extension item), + } + }) (map-set Extensions (get extension item) (get enabled item)) ) ) diff --git a/deployments/default.simnet-plan.yaml b/deployments/default.simnet-plan.yaml index 534bac1..18d9ccd 100644 --- a/deployments/default.simnet-plan.yaml +++ b/deployments/default.simnet-plan.yaml @@ -58,23 +58,15 @@ plan: - id: 1 transactions: - emulated-contract-publish: - contract-name: aibtcdev-aibtc + contract-name: aibtcdev-proposal-trait emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aibtcdev-aibtc.clar + path: contracts/dao/traits/aibtcdev-proposal-trait.clar clarity-version: 2 - emulated-contract-publish: - contract-name: aibtcdev-traits-v1 + contract-name: aibtc001-bootstrap emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aibtcdev-traits-v1.clar + path: contracts/dao/proposals/aibtc001-bootstrap.clar clarity-version: 2 - - emulated-contract-publish: - contract-name: aibtcdev-resources-v1 - emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aibtcdev-resources-v1.clar - clarity-version: 2 - epoch: "2.4" - - id: 2 - transactions: - emulated-contract-publish: contract-name: aibtcdev-airdrop-1 emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM @@ -88,7 +80,12 @@ plan: - emulated-contract-publish: contract-name: aibtcdev-bank-account emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aibtcdev-bank-account.clar + path: contracts/dao/extensions/aibtcdev-bank-account.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: aibtcdev-extension-trait + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/dao/traits/aibtcdev-extension-trait.clar clarity-version: 2 - emulated-contract-publish: contract-name: aibtcdev-dao @@ -98,7 +95,22 @@ plan: - emulated-contract-publish: contract-name: aibtcdev-messaging emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM - path: contracts/aibtcdev-messaging.clar + path: contracts/dao/extensions/aibtcdev-messaging.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: aibtcdev-payment-traits + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/dao/traits/aibtcdev-payment-traits.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: aibtcdev-payments + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/dao/extensions/aibtcdev-payments.clar + clarity-version: 2 + - emulated-contract-publish: + contract-name: aibtcdev-treasury + emulated-sender: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM + path: contracts/dao/extensions/aibtcdev-treasury.clar clarity-version: 2 - emulated-contract-publish: contract-name: proxy