Smart Contract

GUMStakingTracker

A.807c3d470888cc48.GUMStakingTracker

Deployed

1w ago
Feb 19, 2026, 10:24:09 AM UTC

Dependents

0 imports
1access(all)
2contract GUMStakingTracker{ 
3	access(self)
4	var flunksClaimedGum:{ UInt64: UFix64}
5	
6	access(self)
7	var backpackClaimedGum:{ UInt64: UFix64}
8	
9	access(all)
10	let AdminStoragePath: StoragePath
11	
12	access(all)
13	resource Admin{ 
14		access(all)
15		fun updateClaimedGUM(pool: String, tokenID: UInt64, amount: UFix64){ 
16			if pool == "Flunks"{ 
17				let existingAmount = GUMStakingTracker.flunksClaimedGum[tokenID] ?? 0.0
18				let newAmount = existingAmount + amount
19				GUMStakingTracker.flunksClaimedGum[tokenID] = newAmount
20			} else if pool == "Backpack"{ 
21				let existingAmount = GUMStakingTracker.backpackClaimedGum[tokenID] ?? 0.0
22				let newAmount = existingAmount + amount
23				GUMStakingTracker.backpackClaimedGum[tokenID] = newAmount
24			}
25		}
26	}
27	
28	access(all)
29	fun getClaimedFlunksTracker():{ UInt64: UFix64}{ 
30		return self.flunksClaimedGum
31	}
32	
33	access(all)
34	fun getClaimedBackpackTracker():{ UInt64: UFix64}{ 
35		return self.backpackClaimedGum
36	}
37	
38	init(){ 
39		self.AdminStoragePath = /storage/GUMStakingTrackerAdmin
40		self.flunksClaimedGum ={} 
41		self.backpackClaimedGum ={} 
42		let admin <- create Admin()
43		self.account.storage.save(<-admin, to: self.AdminStoragePath)
44	}
45}
46