Skip to content

Commit ee5c5dc

Browse files
committed
fix: add printing to public functions for indexers
Adopted the notification/payload standard from SIP-019.
1 parent 577adda commit ee5c5dc

File tree

1 file changed

+51
-7
lines changed

1 file changed

+51
-7
lines changed

src/aibtcdev-resources-v1.clar

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
(define-constant ERR_USER_NOT_FOUND (err u1009))
3232
(define-constant ERR_INVOICE_ALREADY_PAID (err u1010))
3333
(define-constant ERR_SAVING_INVOICE_DATA (err u1011))
34+
(define-constant ERR_INVOICE_NOT_FOUND (err u1012))
35+
(define-constant ERR_RECENT_PAYMENT_NOT_FOUND (err u1013))
3436

3537
;; data vars
3638
;;
@@ -40,6 +42,9 @@
4042
(define-data-var resourceCount uint u0)
4143
(define-data-var invoiceCount uint u0)
4244

45+
;; tracking overall contract revenue
46+
(define-data-var totalRevenue uint u0)
47+
4348
;; payout address, deployer can set
4449
(define-data-var paymentAddress principal DEPLOYER)
4550

@@ -201,6 +206,16 @@
201206
(is-eq contract-caller oldAddress)
202207
(try! (is-deployer))
203208
) ERR_UNAUTHORIZED)
209+
;; print details
210+
(print {
211+
notification: "set-payment-address",
212+
payload: {
213+
oldAddress: oldAddress,
214+
newAddress: newAddress,
215+
txSender: tx-sender,
216+
contractCaller: contract-caller,
217+
}
218+
})
204219
;; set new payment address
205220
(ok (var-set paymentAddress newAddress))
206221
)
@@ -236,6 +251,16 @@
236251
) ERR_SAVING_RESOURCE_DATA)
237252
;; increment resourceCount
238253
(var-set resourceCount newCount)
254+
;; print details
255+
(print {
256+
notification: "add-resource",
257+
payload: {
258+
resourceIndex: newCount,
259+
resourceData: (unwrap! (get-resource newCount) ERR_RESOURCE_NOT_FOUND),
260+
txSender: tx-sender,
261+
contractCaller: contract-caller
262+
}
263+
})
239264
;; return new count
240265
(ok newCount)
241266
)
@@ -247,6 +272,7 @@
247272
(let
248273
(
249274
(resourceData (unwrap! (get-resource index) ERR_RESOURCE_NOT_FOUND))
275+
(newStatus (not (get enabled resourceData)))
250276
)
251277
;; verify resource > 0
252278
(asserts! (> index u0) ERR_INVALID_PARAMS)
@@ -256,13 +282,21 @@
256282
(map-set ResourceData
257283
index
258284
(merge resourceData {
259-
enabled: (not (get enabled resourceData))
285+
enabled: newStatus
260286
})
261287
)
262-
;; print updated resource data
263-
(print (get-resource index))
288+
;; print details
289+
(print {
290+
notification: "toggle-resource",
291+
payload: {
292+
resourceIndex: index,
293+
resourceData: (unwrap! (get-resource index) ERR_RESOURCE_NOT_FOUND),
294+
txSender: tx-sender,
295+
contractCaller: contract-caller
296+
}
297+
})
264298
;; return based on set status
265-
(ok (not (get enabled resourceData)))
299+
(ok newStatus)
266300
)
267301
)
268302

@@ -323,10 +357,20 @@
323357
)
324358
;; increment counter
325359
(var-set invoiceCount newCount)
326-
;; print updated details
360+
;; print details
327361
(print {
328-
resourceData: (get-resource resourceIndex),
329-
userData: (get-user-data userIndex)
362+
notification: "pay-invoice",
363+
payload: {
364+
invoiceIndex: newCount,
365+
invoiceData: (unwrap! (get-invoice newCount) ERR_INVOICE_NOT_FOUND),
366+
recentPayment: (unwrap! (get-recent-payment resourceIndex userIndex) ERR_RECENT_PAYMENT_NOT_FOUND),
367+
userIndex: userIndex,
368+
userData: (unwrap! (get-user-data userIndex) ERR_USER_NOT_FOUND),
369+
resourceIndex: resourceIndex,
370+
resourceData: (unwrap! (get-resource resourceIndex) ERR_RESOURCE_NOT_FOUND),
371+
txSender: tx-sender,
372+
contractCaller: contract-caller
373+
}
330374
})
331375
;; make transfer
332376
(if (is-some memo)

0 commit comments

Comments
 (0)