Smart Contract

AFLBurnRegistry

A.8f9231920da9af6d.AFLBurnRegistry

Deployed

1d ago
Feb 26, 2026, 10:18:21 PM UTC

Dependents

0 imports
1access(all) contract AFLBurnRegistry {
2    access(all) let totalBurnsByTemplateId: {UInt64: UInt64}
3
4    access(account) fun burn(templateId: UInt64) {
5        if self.totalBurnsByTemplateId[templateId] == nil {
6            self.totalBurnsByTemplateId[templateId] = 1
7        } else {
8            self.totalBurnsByTemplateId[templateId] = self.totalBurnsByTemplateId[templateId]! + 1
9        }
10    }
11
12    access(account) fun burnMultiple(templateId: UInt64, count: UInt64) {
13        if self.totalBurnsByTemplateId[templateId] == nil {
14            self.totalBurnsByTemplateId[templateId] = count
15        } else {
16            self.totalBurnsByTemplateId[templateId] = self.totalBurnsByTemplateId[templateId]! + count
17        }
18    }
19
20    access(account) fun setTotalBurns(templateId: UInt64, total: UInt64) {
21        self.totalBurnsByTemplateId[templateId] = total
22    }
23
24    access(all) view fun getBurnDetails(templateId: UInt64): UInt64 {
25        return self.totalBurnsByTemplateId[templateId] ?? 0
26    }
27    
28    init() {
29        self.totalBurnsByTemplateId = {}
30    }
31}
32