2022.09.30 11:53 [3317124] smart account 3PDREv1pvqS9r2Gi5CZDHrgsQLigA9xXYp3 > SELF 0.00000000 Waves

{ "type": 13, "id": "EViuKt3ApnxnNm5URVREsSvLoitonFo4b3nrHZaar4Gg", "fee": 600000, "feeAssetId": null, "timestamp": 1664528022422, "version": 2, "chainId": 87, "sender": "3PDREv1pvqS9r2Gi5CZDHrgsQLigA9xXYp3", "senderPublicKey": "DYK8ow5HiBjsgxRtE8RTYvRBoHF7gjRuyqMVM1Y3aFCh", "proofs": [ "3seMULiejy5t3pbczN7vCGRUH6eyc4wv5jVMjp873i23D5p6WhRLuxLKxzU3K4ZjGUdKKzPfQri8GqzCq93XbP5N" ], "script": "base64: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", "height": 3317124, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let shinywggid = base58'A2hcw6RV23Fc8Y8FNfV35Sq5QeS9Tgp6n8hbrESiRvXX'
5+
6+let treasuryAddress = base58'3PDW5NBHrSqYhwB8KJidBfprM6n6KPCykBB'
7+
8+let assetsAddress = base58'3PRCCnKuNS3PdbcSYcKdmTecSXXR9SE3rVb'
9+
10+let marketplaceAddress = base58'3P5EAhvWXJpTW5XCmw4cTRLirr5hdV43wG9'
11+
12+let configurationAddress = base58'3PDREv1pvqS9r2Gi5CZDHrgsQLigA9xXYp3'
13+
14+let nationsAddress = base58'3PAvvCSVicC2Ugsj9zWrzYmu2b6uAuGc3Fo'
15+
16+let adminWallet = addressFromStringValue("3PHKGy65emtBy4xxeQwz49nzSV1cqcJdw4U")
17+
18+let dailyGameRewardsWallet = addressFromStringValue("3PHANHAVYa72vkHVGrLqzUkyKeeEDhDknXj")
19+
20+let dailyStakingRewardsWallet = addressFromStringValue("3PFQGA6DA66ny11vFAWPWrqprmivyyySDCv")
21+
22+func checkAdmin (caller) = if (if (if (if (if ((caller == adminWallet))
23+ then true
24+ else (caller == this))
25+ then true
26+ else (caller.bytes == assetsAddress))
27+ then true
28+ else (caller.bytes == treasuryAddress))
29+ then true
30+ else (caller.bytes == marketplaceAddress))
31+ then true
32+ else (caller.bytes == nationsAddress)
33+
34+
35+func tryGetInteger (key) = match getInteger(this, key) {
36+ case b: Int =>
37+ b
38+ case _ =>
39+ 0
40+}
41+
42+
43+func tryGetBoolean (key) = match getBoolean(this, key) {
44+ case b: Boolean =>
45+ b
46+ case _ =>
47+ false
48+}
49+
50+
51+func tryGetString (key) = match getString(this, key) {
52+ case b: String =>
53+ b
54+ case _ =>
55+ ""
56+}
57+
58+
59+func getALKey (Name,Level) = ((Name + "_lvl") + toString(Level))
60+
61+
62+func confTryGetInteger (key) = match getInteger(Address(configurationAddress), key) {
63+ case b: Int =>
64+ b
65+ case _ =>
66+ 0
67+}
68+
69+
70+func confTryGetString (key) = match getString(Address(configurationAddress), key) {
71+ case b: String =>
72+ b
73+ case _ =>
74+ ""
75+}
76+
77+
78+func confTryGetBoolean (key) = match getBoolean(Address(configurationAddress), key) {
79+ case b: Boolean =>
80+ b
81+ case _ =>
82+ false
83+}
84+
85+
86+func getTreasuryKey (nationid) = (nationid + "_Treasury")
87+
88+
89+func treasuryTryGetInteger (key) = match getInteger(Address(treasuryAddress), key) {
90+ case b: Int =>
91+ b
92+ case _ =>
93+ 0
94+}
95+
96+
97+func nationsTryGetInteger (key) = match getInteger(Address(nationsAddress), key) {
98+ case b: Int =>
99+ b
100+ case _ =>
101+ 0
102+}
103+
104+
105+func nationsTryGetBoolean (key) = match getBoolean(Address(nationsAddress), key) {
106+ case b: Boolean =>
107+ b
108+ case _ =>
109+ false
110+}
111+
112+
113+func nationsTryGetString (key) = match getString(Address(nationsAddress), key) {
114+ case b: String =>
115+ b
116+ case _ =>
117+ ""
118+}
119+
120+
121+func getAssetOwnerKeyString (assetId) = (assetId + "_Owner")
122+
123+
124+func assetsTryGetInteger (key) = match getInteger(Address(assetsAddress), key) {
125+ case b: Int =>
126+ b
127+ case _ =>
128+ 0
129+}
130+
131+
132+@Callable(i)
133+func WriteConfig (AssetOrTecnhology,Level,Description,BuildingTime,Cost,Power,Aggregated,Nft,Technology_Discovered,SacrificeAsset,SacrificeAssetLevel,NationReserved,Sellprice) = if (!(checkAdmin(i.caller)))
134+ then throw("you are not allowed to perform this operation")
135+ else if (if ((Cost > 0))
136+ then (SacrificeAsset != "")
137+ else false)
138+ then throw("you can specify a build cost OR an asset sacrifice, not both")
139+ else if (if (NationReserved)
140+ then (SacrificeAsset != "")
141+ else false)
142+ then throw("you cannot specify a sacrifice for a nation reserved item")
143+ else {
144+ let lk = getALKey(AssetOrTecnhology, Level)
145+[IntegerEntry((lk + "_BuildTime"), BuildingTime), IntegerEntry((lk + "_Cost"), Cost), IntegerEntry((lk + "_Power"), Power), BooleanEntry((lk + "_Aggregated"), Aggregated), BooleanEntry((lk + "_NFT"), Nft), BooleanEntry((lk + "_NationReserved"), NationReserved), StringEntry((lk + "_Description"), Description), StringEntry((lk + "_Tecnhology_discovered"), Technology_Discovered), StringEntry((lk + "_SacrificeAsset"), SacrificeAsset), IntegerEntry((lk + "_SacrificeAssetLevel"), SacrificeAssetLevel), IntegerEntry((lk + "_SellPrice"), Sellprice)]
146+ }
147+
148+
149+
150+@Callable(i)
151+func DeletAsset (AssetOrTecnhology,Level) = if (!(checkAdmin(i.caller)))
152+ then throw("")
153+ else {
154+ let lk = getALKey(AssetOrTecnhology, Level)
155+[DeleteEntry((lk + "_BuildTime")), DeleteEntry((lk + "_Cost")), DeleteEntry((lk + "_Power")), DeleteEntry((lk + "_Aggregated")), DeleteEntry((lk + "_NFT")), DeleteEntry((lk + "_NationReserved")), DeleteEntry((lk + "_Description")), DeleteEntry((lk + "_Tecnhology_discovered")), DeleteEntry((lk + "_SacrificeAsset")), DeleteEntry((lk + "_SacrificeAssetLevel")), DeleteEntry((lk + "_SellPrice"))]
156+ }
157+
158+
159+
160+@Callable(i)
161+func DelKeyString (key) = if (!(checkAdmin(i.caller)))
162+ then throw("")
163+ else [DeleteEntry(key)]
164+
165+
166+
167+@Callable(i)
168+func UpdKeyString (key,val) = if (!(checkAdmin(i.caller)))
169+ then throw("")
170+ else [StringEntry(key, val)]
171+
172+
173+
174+@Callable(i)
175+func UpdKeyInt (key,val) = if (!(checkAdmin(i.caller)))
176+ then throw("")
177+ else [IntegerEntry(key, val)]
178+
179+
180+
181+@Callable(i)
182+func UpdKeyBool (key,val) = if (!(checkAdmin(i.caller)))
183+ then throw("")
184+ else [BooleanEntry(key, val)]
185+
186+

github/deemru/w8io/786bc32 
24.21 ms