Smart Contract

HoodlumsMetadata

A.427ceada271aa0b1.HoodlumsMetadata

Deployed

19h ago
Feb 27, 2026, 10:12:42 PM UTC

Dependents

0 imports
1access(all) contract HoodlumsMetadata {
2
3  access(all) event ContractInitialized()
4  access(all) event MetadataSetted(tokenID: UInt64, metadata: {String: String})
5
6  access(all) let AdminStoragePath: StoragePath
7
8  access(self) let metadata: {UInt64: {String: String}}
9  access(all) var sturdyRoyaltyAddress: Address
10  access(all) var artistRoyaltyAddress: Address
11  access(all) var sturdyRoyaltyCut: UFix64
12  access(all) var artistRoyaltyCut: UFix64
13
14  access(all) entitlement Owner
15
16  access(all) resource Admin {
17    access(Owner) fun setMetadata(tokenID: UInt64, metadata: {String: String}) {
18      HoodlumsMetadata.metadata[tokenID] = metadata;
19      emit MetadataSetted(tokenID: tokenID, metadata: metadata)
20    }
21
22    access(Owner) fun setSturdyRoyaltyAddress(sturdyRoyaltyAddress: Address) {
23      HoodlumsMetadata.sturdyRoyaltyAddress = sturdyRoyaltyAddress;
24    }
25
26    access(Owner) fun setArtistRoyaltyAddress(artistRoyaltyAddress: Address) {
27      HoodlumsMetadata.artistRoyaltyAddress = artistRoyaltyAddress;
28    }
29
30    access(Owner) fun setSturdyRoyaltyCut(sturdyRoyaltyCut: UFix64) {
31      HoodlumsMetadata.sturdyRoyaltyCut = sturdyRoyaltyCut;
32    }
33
34    access(Owner) fun setArtistRoyaltyCut(artistRoyaltyCut: UFix64) {
35      HoodlumsMetadata.artistRoyaltyCut = artistRoyaltyCut;
36    }
37  }
38
39  access(all) view fun getMetadata(tokenID: UInt64): {String: String}? {
40    return HoodlumsMetadata.metadata[tokenID]
41  }
42
43  init() {
44    self.AdminStoragePath = /storage/HoodlumsOwner
45
46    self.metadata = {}
47
48    self.sturdyRoyaltyAddress = 0xbb4ed9133bdab28a
49    self.artistRoyaltyAddress = 0x985bafb3357d729b
50    self.sturdyRoyaltyCut = 0.05
51    self.artistRoyaltyCut = 0.05
52
53    let admin <- create Admin()
54    self.account.storage.save(<-admin, to: self.AdminStoragePath)
55
56    emit ContractInitialized()
57  }
58}