tx · FQ6hkEt3dQ2Y4TgAUvv9d9ogU2PVsLT93nNPv12VjSZP

3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn:  -0.01400000 Waves

2022.05.17 12:50 [2055506] smart account 3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn > SELF 0.00000000 Waves

{ "type": 13, "id": "FQ6hkEt3dQ2Y4TgAUvv9d9ogU2PVsLT93nNPv12VjSZP", "fee": 1400000, "feeAssetId": null, "timestamp": 1652781100484, "version": 2, "chainId": 84, "sender": "3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn", "senderPublicKey": "9M1hAsbWkVP73NKHvZezCkamwZfSdkejc3b8sejqT98D", "proofs": [ "5WxNLfDWQafN2uSxnbjG1CuDPURqcF3EuzmQGGVaQaVUpF7qgMkRZFSiuhri9AcEHoqPg751gaEFqbhjdL1Ri96e" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIBAQAAAAwAAAAACXNlcGFyYXRvcgIAAAABXwAAAAAOa2V5Q3VycmVudExhbmQCAAAADGN1cnJlbnRfbGFuZAAAAAARa2V5U3RhcnRpbmdIZWlnaHQCAAAAD3N0YXJ0aW5nX2hlaWdodAAAAAAca2V5U3RhcnRpbmdHZW5lcmF0ZWRTdXBwbGllcwIAAAAbc3RhcnRpbmdfZ2VuZXJhdGVkX3N1cHBsaWVzAAAAAAdnb3ZBZGRyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTXl4Znd2YnVlVUJ5bllIZlFzdXROWFpOcU5vekdpTW5zRwAAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAgAAABNlY29zeXN0ZW1fYWRkcmVzc2VzAAAAAA1rZXlUb3RhbExhbmRzAgAAAAt0b3RhbF9sYW5kcwAAAAAJY2hhcnNBZGRyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTkEzTFJTaWdrNmtuTFoxNnVUemNkTE5vdzJFUVp0WFRhSgAAAAAHa2V5Q2hhcgIAAAAEY2hhcgAAAAAIa2V5T3duZXICAAAABW93bmVyAQAAAAtpbnZva0NoZWNrcwAAAAEAAAAKY2FsbGVyQWRkcgMJAQAAAAIhPQAAAAIJAAQeAAAAAQUAAAAHZ292QWRkcgcJAAACAAAAAQIAAAAXR292ZXJuaW5nIGFwcCBub3QgcmVhZHkEAAAAEmVjb3N5c3RlbUFkZHJlc3NlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAHZ292QWRkcgUAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAwkBAAAAAiE9AAAAAgkBAAAACGNvbnRhaW5zAAAAAgUAAAASZWNvc3lzdGVtQWRkcmVzc2VzCQAEJQAAAAEFAAAACmNhbGxlckFkZHIHCQAAAgAAAAECAAAADUFjY2VzcyBkZW5pZWQFAAAABHVuaXQBAAAABHdpdGgAAAACAAAAAWEAAAABYgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAABYgUAAAAJc2VwYXJhdG9yBQAAAAFhAAAAAQAAAAFpAQAAAA5iaW5kQ2hhclRvTGFuZAAAAAIAAAAGY2hhcklkAAAABmxhbmRJZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAC2ludm9rQ2hlY2tzAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwkBAAAAAiE9AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAJY2hhcnNBZGRyCQEAAAAEd2l0aAAAAAIFAAAACGtleU93bmVyBQAAAAZjaGFySWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkAAAIAAAABAgAAABxDYWxsZXIgZG9lc24ndCBvd24gdGhpcyBjaGFyAwMJAABmAAAAAgAAAAAAAAAAAQUAAAAGbGFuZElkBgkAAGYAAAACBQAAAAZsYW5kSWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAB2dvdkFkZHIFAAAADWtleVRvdGFsTGFuZHMJAAACAAAAAQIAAAAMVW5rbm93biBsYW5kBAAAABxjdXJyZW50R2VuZXJhdGVkVG9rZW5zUmVzdWx0CQAD/AAAAAQFAAAAB2dvdkFkZHICAAAAFGdldEdlbmVyYXRlZFN1cHBsaWVzBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAcY3VycmVudEdlbmVyYXRlZFRva2Vuc1Jlc3VsdAUAAAAcY3VycmVudEdlbmVyYXRlZFRva2Vuc1Jlc3VsdAQAAAAWY3VycmVudEdlbmVyYXRlZFRva2VucwQAAAAHJG1hdGNoMAUAAAAcY3VycmVudEdlbmVyYXRlZFRva2Vuc1Jlc3VsdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAVpc0ludAUAAAAHJG1hdGNoMAUAAAAFaXNJbnQJAAACAAAAAQIAAAAMSW52b2sgcmVzdWx0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAADmtleUN1cnJlbnRMYW5kBQAAAAZjaGFySWQFAAAABmxhbmRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABFrZXlTdGFydGluZ0hlaWdodAUAAAAGY2hhcklkBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAca2V5U3RhcnRpbmdHZW5lcmF0ZWRTdXBwbGllcwUAAAAGY2hhcklkBQAAABZjdXJyZW50R2VuZXJhdGVkVG9rZW5zBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkBgnLT", "height": 2055506, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3LapG6R7tHyCvhzxeDJreDFqL3uefc2BH2XJNEQK39pa Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let separator = "_"
5+
6+let keyCurrentLand = "current_land"
7+
8+let keyStartingHeight = "starting_height"
9+
10+let keyStartingGeneratedSupplies = "starting_generated_supplies"
11+
12+let govAddr = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
13+
14+let keyEcosystemAddresses = "ecosystem_addresses"
15+
16+let keyTotalLands = "total_lands"
17+
18+let charsAddr = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ")
19+
20+let keyChar = "char"
21+
22+let keyOwner = "owner"
23+
24+func invokChecks (callerAddr) = if ((isDataStorageUntouched(govAddr) != false))
25+ then throw("Governing app not ready")
26+ else {
27+ let ecosystemAddresses = getStringValue(govAddr, keyEcosystemAddresses)
28+ if ((contains(ecosystemAddresses, toString(callerAddr)) != false))
29+ then throw("Access denied")
30+ else unit
31+ }
32+
33+
34+func with (a,b) = ((toString(b) + separator) + a)
35+
36+
37+@Callable(i)
38+func bindCharToLand (charId,landId) = valueOrElse(invokChecks(i.caller), if ((getStringValue(charsAddr, with(keyOwner, charId)) != toBase58String(i.caller.bytes)))
39+ then throw("Caller doesn't own this char")
40+ else if (if ((1 > landId))
41+ then true
42+ else (landId > getIntegerValue(govAddr, keyTotalLands)))
43+ then throw("Unknown land")
44+ else {
45+ let currentGeneratedTokensResult = invoke(govAddr, "getGeneratedSupplies", nil, nil)
46+ if ((currentGeneratedTokensResult == currentGeneratedTokensResult))
47+ then {
48+ let currentGeneratedTokens = match currentGeneratedTokensResult {
49+ case isInt: Int =>
50+ isInt
51+ case _ =>
52+ throw("Invok result")
53+ }
54+[IntegerEntry(with(keyCurrentLand, charId), landId), IntegerEntry(with(keyStartingHeight, charId), height), IntegerEntry(with(keyStartingGeneratedSupplies, charId), currentGeneratedTokens)]
55+ }
56+ else throw("Strict value is not equal to itself.")
57+ })
58+
59+
60+@Verifier(tx)
61+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
62+

github/deemru/w8io/3ef1775 
29.05 ms