tx · AdvdmeYcv7DzpF6uvyKPJ46FAFkwSSL6iiiBzQT6icMm

3P7S8KE5vb65mrvqTvJ1RcjyqFLcG4YRzkC:  -0.01000000 Waves

2024.04.10 09:28 [4122279] smart account 3P7S8KE5vb65mrvqTvJ1RcjyqFLcG4YRzkC > SELF 0.00000000 Waves

{ "type": 13, "id": "AdvdmeYcv7DzpF6uvyKPJ46FAFkwSSL6iiiBzQT6icMm", "fee": 1000000, "feeAssetId": null, "timestamp": 1712730514212, "version": 2, "chainId": 87, "sender": "3P7S8KE5vb65mrvqTvJ1RcjyqFLcG4YRzkC", "senderPublicKey": "BbKQxxtCrLUzBHBu5EFa5mRTV3ymZtjYaMcphEByvv85", "proofs": [ "22LRaJn1GqL3bPa41cX95eqGAWnh28H6rcspm5NMZAWVFhKHVpbC8bTtSib3V1zqs8HqTvEeMGX9zDWWm1cgPjuN" ], "script": "base64:BgIECAISAAgAEmNvbmZpZ0FkZHJlc3NTdG9yZQIGY29uZmlnAA1jb25maWdBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFEmNvbmZpZ0FkZHJlc3NTdG9yZQIYY29uZmlnIGFkZHJlc3Mgbm90IGZvdW5kAhZpbnZhbGlkIGNvbmZpZyBhZGRyZXNzAAZIRUlHSFQFBmhlaWdodAAPc3Rha2luZ0NvbnRyYWN0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCEGNvbnRyYWN0X3N0YWtpbmcCE25vIHN0YWtpbmdfY29udHJhY3QCGGludmFsaWQgc3Rha2luZyBjb250cmFjdAAObWludGVyQ29udHJhY3QJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUNY29uZmlnQWRkcmVzcwIPY29udHJhY3RfbWludGVyAhJubyBjb250cmFjdF9taW50ZXICF2ludmFsaWQgbWludGVyIGNvbnRyYWN0AApwd3JBc3NldElkCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAgxwb3dlckFzc2V0SWQCFnB3ciBhc3NldCBpZCBub3QgZm91bmQADG1pblNlbnRpbmVscwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFDWNvbmZpZ0FkZHJlc3MCDW1pbl9zZW50aW5lbHMCFW1pbl9zZW50aW5lbHMgbm90IHNldAAJc2VudGluZWxzBAF4CQELdmFsdWVPckVsc2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCCXNlbnRpbmVscwIAAwkAAAIFAXgCAAAACQCQAwEJALUJAgUBeAIBLAEBaQENY2xhaW1BbmRTdGFrZQAEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBAZhbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBQR1c2VyAg9ub3RoaW5nIGZvciB5b3UEBG1pbnQJAPwHBAUObWludGVyQ29udHJhY3QCBG1pbnQJAMwIAgUGYW1vdW50BQNuaWwFA25pbAUDbmlsAG1f5Qg=", "height": 4122279, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GYnwHFJBrUpn2iQax6dHKYUqB15um8eoemtDBbNfXWJV Next: BP7tJrxYfRdGWbsbBvLPm6HoXPhbrGYy75wJm9T96A5w Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func writeConstString (key,value) = if (!(isDefined(getString(this, key))))
5- then StringEntry(key, value)
6- else throw(("already initialized: " + key))
7-
8-
94 let configAddressStore = "config"
105
116 let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "config address not found")), "invalid config address")
12-
13-func allowed (op) = invoke(configAddress, "opAllowed", [op], nil)
14-
157
168 let HEIGHT = height
179
3022 else size(split(x, ","))
3123 }
3224
33-func claimedStore (account) = (account + "_claimed")
34-
35-
36-func adviseUser (account) = ((((((("height: " + toString(HEIGHT)) + ", account: ") + account) + ", claimable: ") + toString(valueOrElse(getInteger(account), 0))) + ", claimed: ") + toString(valueOrElse(getInteger(claimedStore(account)), 0)))
37-
38-
3925 @Callable(i)
4026 func claimAndStake () = {
41- let a = allowed((toString(this) + "_claimAndStake"))
42- if ((a == a))
43- then if ((sentinels >= minSentinels))
44- then throw("airdrop1 is closed")
45- else {
46- let user = toString(i.caller)
47- let amount = valueOrErrorMessage(getInteger(user), "nothing for you")
48- let mint = invoke(minterContract, "mint", [amount], nil)
49- if ((mint == mint))
50- then {
51- let stake = invoke(stakingContract, "stakeFor", [user], [AttachedPayment(pwrAssetId, amount)])
52- if ((stake == stake))
53- then $Tuple2([DeleteEntry(user), IntegerEntry(claimedStore(user), (valueOrElse(getInteger(this, claimedStore(user)), 0) + amount))], amount)
54- else throw("Strict value is not equal to itself.")
55- }
56- else throw("Strict value is not equal to itself.")
57- }
58- else throw("Strict value is not equal to itself.")
27+ let user = toString(i.caller)
28+ let amount = valueOrErrorMessage(getInteger(user), "nothing for you")
29+ let mint = invoke(minterContract, "mint", [amount], nil)
30+ nil
5931 }
60-
61-
62-
63-@Callable(i)
64-func init (conf) = if ((i.caller != this))
65- then throw("only self can init")
66- else [writeConstString(configAddressStore, conf)]
6732
6833
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func writeConstString (key,value) = if (!(isDefined(getString(this, key))))
5- then StringEntry(key, value)
6- else throw(("already initialized: " + key))
7-
8-
94 let configAddressStore = "config"
105
116 let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "config address not found")), "invalid config address")
12-
13-func allowed (op) = invoke(configAddress, "opAllowed", [op], nil)
14-
157
168 let HEIGHT = height
179
1810 let stakingContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_staking"), "no staking_contract")), "invalid staking contract")
1911
2012 let minterContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_minter"), "no contract_minter")), "invalid minter contract")
2113
2214 let pwrAssetId = fromBase58String(valueOrErrorMessage(getString(configAddress, "powerAssetId"), "pwr asset id not found"))
2315
2416 let minSentinels = valueOrErrorMessage(getInteger(configAddress, "min_sentinels"), "min_sentinels not set")
2517
2618 let sentinels = {
2719 let x = valueOrElse(getString(configAddress, "sentinels"), "")
2820 if ((x == ""))
2921 then 0
3022 else size(split(x, ","))
3123 }
3224
33-func claimedStore (account) = (account + "_claimed")
34-
35-
36-func adviseUser (account) = ((((((("height: " + toString(HEIGHT)) + ", account: ") + account) + ", claimable: ") + toString(valueOrElse(getInteger(account), 0))) + ", claimed: ") + toString(valueOrElse(getInteger(claimedStore(account)), 0)))
37-
38-
3925 @Callable(i)
4026 func claimAndStake () = {
41- let a = allowed((toString(this) + "_claimAndStake"))
42- if ((a == a))
43- then if ((sentinels >= minSentinels))
44- then throw("airdrop1 is closed")
45- else {
46- let user = toString(i.caller)
47- let amount = valueOrErrorMessage(getInteger(user), "nothing for you")
48- let mint = invoke(minterContract, "mint", [amount], nil)
49- if ((mint == mint))
50- then {
51- let stake = invoke(stakingContract, "stakeFor", [user], [AttachedPayment(pwrAssetId, amount)])
52- if ((stake == stake))
53- then $Tuple2([DeleteEntry(user), IntegerEntry(claimedStore(user), (valueOrElse(getInteger(this, claimedStore(user)), 0) + amount))], amount)
54- else throw("Strict value is not equal to itself.")
55- }
56- else throw("Strict value is not equal to itself.")
57- }
58- else throw("Strict value is not equal to itself.")
27+ let user = toString(i.caller)
28+ let amount = valueOrErrorMessage(getInteger(user), "nothing for you")
29+ let mint = invoke(minterContract, "mint", [amount], nil)
30+ nil
5931 }
60-
61-
62-
63-@Callable(i)
64-func init (conf) = if ((i.caller != this))
65- then throw("only self can init")
66- else [writeConstString(configAddressStore, conf)]
6732
6833

github/deemru/w8io/873ac7e 
50.45 ms