tx · 52fr6vEBrMPZ6J1EWirfjBxPzSzkp3HKLLsN569XVHRJ

3N1ck7kc9gv3MMsAfLUBxGbPbDjQp9KorsK:  -0.10000000 Waves

2022.06.04 08:03 [2081162] smart account 3N1ck7kc9gv3MMsAfLUBxGbPbDjQp9KorsK > SELF 0.00000000 Waves

{ "type": 13, "id": "52fr6vEBrMPZ6J1EWirfjBxPzSzkp3HKLLsN569XVHRJ", "fee": 10000000, "feeAssetId": null, "timestamp": 1654319010817, "version": 2, "chainId": 84, "sender": "3N1ck7kc9gv3MMsAfLUBxGbPbDjQp9KorsK", "senderPublicKey": "HiJ3uFkbVp87z5kzFCdZQ6uous6Se4iEJ9ja789dTwpS", "proofs": [ "5acG4vwifxaSznECWUQ7RR5CxKUp9jBwvYfs5w7uRMrYYh8YpTb8eXoJ4tjiSxzwnN3zrZJM7MvHJmN3ehUa8GNi" ], "script": "base64:AAIFAAAAAAAAABkIAhIECgIICBIDCgEIEgMKAQgSBQoDCAECAAAADAAAAAAMbG9ja2luZ1N0b3JlAgAAAAZzdGFrZXIAAAAABWFkbWluAgAAAAVhZG1pbgEAAAAEZ2V0SQAAAAEAAAADa2V5CQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAEZ2V0UwAAAAEAAAADa2V5CQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAFZ2V0SVYAAAABAAAAA2tleQkBAAAABXZhbHVlAAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkBAAAABWdldFNWAAAAAQAAAANrZXkJAQAAAAV2YWx1ZQAAAAEJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AQAAAAh3cml0ZUludAAAAAIAAAADa2V5AAAABXZhbHVlAwkAAGYAAAACAAAAAAAAAAAABQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABd3cml0aW5nIG5lZ2F0aXZlIHZhbHVlIAkAAaQAAAABBQAAAAV2YWx1ZQIAAAAJIGZvciBrZXkgBQAAAANrZXkJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAANrZXkFAAAABXZhbHVlAQAAAAh3cml0ZVN0cgAAAAIAAAADa2V5AAAABXZhbHVlAwkAAAAAAAACAgAAAAEgBQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAICAAAAGHdyaXRpbmcgYW4gZW1wdHkgc3RyaW5nIAUAAAAFdmFsdWUJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAA2tleQUAAAAFdmFsdWUBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACAAAAA2tleQAAAAV2YWx1ZQMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAQAAAARnZXRTAAAAAQUAAAADa2V5CQEAAAAId3JpdGVTdHIAAAACBQAAAANrZXkFAAAABXZhbHVlCQAAAgAAAAEJAAEsAAAAAgIAAAAVYWxyZWFkeSBpbml0aWFsaXplZDogBQAAAANrZXkBAAAAEXdyaXRlQ29uc3RJbnRlZ2VyAAAAAgAAAANrZXkAAAAFdmFsdWUDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQEAAAAEZ2V0UwAAAAEFAAAAA2tleQkBAAAACHdyaXRlSW50AAAAAgUAAAADa2V5BQAAAAV2YWx1ZQkAAAIAAAABCQABLAAAAAICAAAAFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUAAAADa2V5AQAAABBsb2NraW5nU3RvcmVPbmx5AAAAAQAAAAFpAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAMbG9ja2luZ1N0b3JlAgAAABBubyBzdG9yZSBhZGRyZXNzCQAAAgAAAAECAAAAL29ubHkgdGhlIHN0YWtlciBjb250cmFjdCBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBgEAAAAJYWRtaW5Pbmx5AAAAAQAAAAFpAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAFYWRtaW4CAAAAEG5vIGFkbWluIGRlZmluZWQJAAACAAAAAQIAAAAkb25seSBhbiBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBgAAAAQAAAABaQEAAAAEaW5pdAAAAAIAAAANcExvY2tpbmdTdG9yZQAAAAZwQWRtaW4JAARMAAAAAgkBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACBQAAAAxsb2NraW5nU3RvcmUFAAAADXBMb2NraW5nU3RvcmUJAARMAAAAAgkBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACBQAAAAVhZG1pbgUAAAAGcEFkbWluBQAAAANuaWwAAAABaQEAAAAScmVtb3ZlTG9ja2luZ1N0b3JlAAAAAQAAAAdhZGRyZXNzBAAAAAZjaGVja3MJAQAAAAlhZG1pbk9ubHkAAAABBQAAAAFpAwkAAAAAAAACBQAAAAZjaGVja3MFAAAABmNoZWNrcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAxsb2NraW5nU3RvcmUFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAASdXBkYXRlTG9ja2luZ1N0b3JlAAAAAQAAAAdhZGRyZXNzBAAAAAZjaGVja3MJAQAAAAlhZG1pbk9ubHkAAAABBQAAAAFpAwkAAAAAAAACBQAAAAZjaGVja3MFAAAABmNoZWNrcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAxsb2NraW5nU3RvcmUJAARMAAAAAgkBAAAAEHdyaXRlQ29uc3RTdHJpbmcAAAACBQAAAAxsb2NraW5nU3RvcmUFAAAAB2FkZHJlc3MFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAQdHJhbnNmZXJJbnRlcmVzdAAAAAMAAAAEdXNlcgAAAAZhbW91bnQAAAAHYXNzZXRJRAQAAAAGY2hlY2tzCQEAAAAQbG9ja2luZ1N0b3JlT25seQAAAAEFAAAAAWkDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAABHVzZXIFAAAABmFtb3VudAUAAAAHYXNzZXRJRAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAAqm1dM", "height": 2081162, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7nhUrXz64R5zcFs1z2VvdkKCjwfLfhqzHG7YBL8NQ6Bz Next: eG7H5tCPYGd6wGWBmMbxYrPk4Fe1ZwCXGQoX79uP4kG Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let lockingStore = "staker"
55
66 let admin = "admin"
77
88 func getI (key) = getInteger(this, key)
99
1010
1111 func getS (key) = getString(this, key)
1212
1313
1414 func getIV (key) = value(getInteger(this, key))
1515
1616
1717 func getSV (key) = value(getString(this, key))
1818
1919
2020 func writeInt (key,value) = if ((0 > value))
2121 then throw(((("writing negative value " + toString(value)) + " for key ") + key))
2222 else IntegerEntry(key, value)
2323
2424
2525 func writeStr (key,value) = if ((" " == value))
2626 then throw(("writing an empty string " + value))
2727 else StringEntry(key, value)
2828
2929
3030 func writeConstString (key,value) = if (!(isDefined(getS(key))))
3131 then writeStr(key, value)
3232 else throw(("already initialized: " + key))
3333
3434
3535 func writeConstInteger (key,value) = if (!(isDefined(getS(key))))
3636 then writeInt(key, value)
3737 else throw(("already initialized: " + key))
3838
3939
4040 func lockingStoreOnly (i) = if ((toString(i.caller) != valueOrElse(getString(this, lockingStore), "no store address")))
4141 then throw("only the staker contract can call this function")
4242 else true
4343
4444
4545 func adminOnly (i) = if ((toString(i.caller) != valueOrElse(getString(this, admin), "no admin defined")))
4646 then throw("only an admin can call this function")
4747 else true
4848
4949
5050 @Callable(i)
5151 func init (pLockingStore,pAdmin) = [writeConstString(lockingStore, pLockingStore), writeConstString(admin, pAdmin)]
5252
5353
5454
5555 @Callable(i)
5656 func removeLockingStore (address) = {
5757 let checks = adminOnly(i)
5858 if ((checks == checks))
5959 then [DeleteEntry(lockingStore)]
6060 else throw("Strict value is not equal to itself.")
6161 }
6262
6363
6464
6565 @Callable(i)
6666 func updateLockingStore (address) = {
6767 let checks = adminOnly(i)
6868 if ((checks == checks))
6969 then [DeleteEntry(lockingStore), writeConstString(lockingStore, address)]
7070 else throw("Strict value is not equal to itself.")
7171 }
7272
7373
7474
7575 @Callable(i)
7676 func transferInterest (user,amount,assetID) = {
7777 let checks = lockingStoreOnly(i)
7878 if ((checks == checks))
7979 then [ScriptTransfer(addressFromStringValue(user), amount, assetID)]
8080 else throw("Strict value is not equal to itself.")
8181 }
8282
8383

github/deemru/w8io/873ac7e 
34.45 ms