tx · JD1XYdQBNzPFc11KUp5ey2kskimBWLRYkraZ3FRzLHR3

3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez:  -0.00400000 Waves

2023.11.10 11:04 [2836987] smart account 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez > SELF 0.00000000 Waves

{ "type": 13, "id": "JD1XYdQBNzPFc11KUp5ey2kskimBWLRYkraZ3FRzLHR3", "fee": 400000, "feeAssetId": null, "timestamp": 1699603529353, "version": 2, "chainId": 84, "sender": "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", "senderPublicKey": "Brp6cacBXyKUcZr5Uc6VDKsnFcaEeQ8nQzrZQyobDsuf", "proofs": [ "2FfkV2DfxnfFVSCsnCNLprCdTU1mPiETgRtKtLR5B1dy12t9ZnFG1TYfnN1piM3kXjGabPoUk7hzRh9CQNh7spqZ" ], "script": "base64:BgIGCAISABIAEQENdHJ5R2V0SW50ZWdlcgIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAQx0cnlHZXRTdHJpbmcCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAAHYnVybnh0bgEgJE91eWp+Mzm4+wz/hKlxXF7KLd4zoMRdafnqRBHsTFQAA1BaMQEaAVeFnSww1fwDPmHFrd6Sv8UqkfOZrhpBQAoAA1BaMgEaAVf1RmgngA1o304mdXq0odMoMeAJv/V5eTcAA1BaMwEaAVdrUh3hZ11iM5xE9ppvCu7VVcjaIPzs5scAA1BaNAEaAVd8ufIkLHkd+cILYV2n5Ut+Pmb4MdnkIOIAA1BaNQEaAVdzM1uLVnknLEeNcZD2LCCz+T9Cl/2cRdIAA1BaNgEaAVdHHWb6sJRhaJYHMq62QOOh/3POTybYR7oAB1dYc3Rha2UBGgFX6zvnfm4FGMKRpJgWF+Fm10UnIO4lSVaoAANXWDEBGgFXK+KucXt9yTC1IHnnFsVrbVdAgaU4Fj0+AANMUDECLEd5aUhkY041OXNaNDZiYUZ2ajY4cnVMbmdyVFBFdldEdHNkNmpIbTRvNDZuAANXWDIBGgFXwRfLSELOBVNDikdciGeU9BfVx8LU1MNSAANMUDICLDNNUEhNSlZ3WUd5ZUJMUnNIMVJzWWhyVG1lbXY3NTJBRUJ3dUZGVjdnNDlaAQVQWmJhbAILUG9vbGFkZHJlc3MHYWRkcmVzcwQLYnVybnh0bkluUFoJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQtQb29sYWRkcmVzcwkArAICCQCsAgICB2dsb2JhbF8JANgEAQUHYnVybnh0bgIIX2JhbGFuY2UEDmFkZHJlc3NTdGFrZVBaCQENdHJ5R2V0SW50ZWdlcgIJAQdBZGRyZXNzAQULUG9vbGFkZHJlc3MJAKwCAgkApQgBBQdhZGRyZXNzAgxfaW5kZXhTdGFrZWQEDHRvdGFsU3Rha2VQWgkBDXRyeUdldEludGVnZXICCQEHQWRkcmVzcwEFC1Bvb2xhZGRyZXNzAhdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAawMFC2J1cm54dG5JblBaBQ5hZGRyZXNzU3Rha2VQWgUMdG90YWxTdGFrZVBaAQVXWGJhbAMLUG9vbGFkZHJlc3MHYWRkcmVzcwVMUHN0cgQLYnVybnh0bkluV1gJAPAHAgkBB0FkZHJlc3MBBQtQb29sYWRkcmVzcwUHYnVybnh0bgQOYWRkcmVzc1N0YWtlV1gJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQdXWHN0YWtlCQCsAgIJAKwCAgkArAICAhAlcyVzJXNfX3N0YWtlZF9fCQClCAEFB2FkZHJlc3MCAl9fBQVMUHN0cgQMdG90YWxTdGFrZVdYCQENdHJ5R2V0SW50ZWdlcgIJAQdBZGRyZXNzAQULUG9vbGFkZHJlc3MJAKwCAgIXJXMlcyVzX19zdGFrZWRfX3RvdGFsX18FBUxQc3RyCQBrAwULYnVybnh0bkluV1gFDmFkZHJlc3NTdGFrZVdYBQx0b3RhbFN0YWtlV1gBDHRvdGFsQmFsYW5jZQEHYWRkcmVzcwQOYnVybnh0bkJhbGFuY2UJAPAHAgUHYWRkcmVzcwUHYnVybnh0bgQKUFoxYmFsYW5jZQkBBVBaYmFsAgUDUFoxBQdhZGRyZXNzBApQWjJiYWxhbmNlCQEFUFpiYWwCBQNQWjIFB2FkZHJlc3MEClBaM2JhbGFuY2UJAQVQWmJhbAIFA1BaMwUHYWRkcmVzcwQKUFo0YmFsYW5jZQkBBVBaYmFsAgUDUFo0BQdhZGRyZXNzBApQWjViYWxhbmNlCQEFUFpiYWwCBQNQWjUFB2FkZHJlc3MEClBaNmJhbGFuY2UJAQVQWmJhbAIFA1BaNgUHYWRkcmVzcwQKV1gxYmFsYW5jZQkBBVdYYmFsAwUDV1gxBQdhZGRyZXNzBQNMUDEECldYMmJhbGFuY2UJAQVXWGJhbAMFA1dYMgUHYWRkcmVzcwUDTFAyBAV0b3RhbAkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCBQ5idXJueHRuQmFsYW5jZQUKUFoxYmFsYW5jZQUKUFoyYmFsYW5jZQUKUFozYmFsYW5jZQUKUFo0YmFsYW5jZQUKUFo1YmFsYW5jZQUKUFo2YmFsYW5jZQUKV1gxYmFsYW5jZQUKV1gyYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIOYnVybnh0bkJhbGFuY2UFDmJ1cm54dG5CYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpQWjFiYWxhbmNlBQpQWjFiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpQWjJiYWxhbmNlBQpQWjJiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpQWjNiYWxhbmNlBQpQWjNiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpQWjRiYWxhbmNlBQpQWjRiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpQWjViYWxhbmNlBQpQWjViYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpQWjZiYWxhbmNlBQpQWjZiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpXWDFiYWxhbmNlBQpXWDFiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpXWDJiYWxhbmNlBQpXWDJiYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgV0b3RhbAUFdG90YWwFA25pbAIBaQEIcmVnaXN0ZXIAAwkBCGNvbnRhaW5zAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCEkFkZHJlc3MgcmVnaXN0ZXJlZAkApQgBCAUBaQZjYWxsZXIJAAIBAhJhbHJlYWR5IHJlZ2lzdGVyZWQDCQBmAgUGaGVpZ2h0AAEJAAIBAhNyZWdpc3RyYXRpb24gY2xvc2VkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhFBbW91bnQgUmVnaXN0ZXJlZAkAZAIJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwIRQW1vdW50IFJlZ2lzdGVyZWQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgICElJlZ2lzdGVyIGFkZHJlc3M6IAkApAMBCQBkAgkBDXRyeUdldEludGVnZXICBQR0aGlzAhFBbW91bnQgUmVnaXN0ZXJlZAABCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCAhJBZGRyZXNzIHJlZ2lzdGVyZWQJAKwCAgkArAICCQEMdHJ5R2V0U3RyaW5nAgUEdGhpcwISQWRkcmVzcyByZWdpc3RlcmVkCQClCAEIBQFpBmNhbGxlcgIBLAUDbmlsAWkBCG1ha2VMaXN0AAQJYWRkcmVzc2VzCQCzAgIJAQx0cnlHZXRTdHJpbmcCBQR0aGlzAhJBZGRyZXNzIHJlZ2lzdGVyZWQAAQQEbGlzdAkAtQkCBQlhZGRyZXNzZXMCASwECGxpc3RTaXplCQCQAwEFBGxpc3QEC2ZpcnN0T2ZMaXN0CQCRAwIFBGxpc3QAAAQKbGFzdE9mTGlzdAkAkQMCBQRsaXN0CQBlAgUIbGlzdFNpemUAAQQIYWRkcmVzczEJAQV2YWx1ZQEJAKYIAQULZmlyc3RPZkxpc3QECGJhbGFuY2UxCAkA7wcBBQhhZGRyZXNzMQlhdmFpbGFibGUJAMwIAgkBC1N0cmluZ0VudHJ5AgIJYWRkcmVzc2VzBQlhZGRyZXNzZXMJAMwIAgkBDEludGVnZXJFbnRyeQICCGxpc3RTaXplBQhsaXN0U2l6ZQkAzAgCCQELU3RyaW5nRW50cnkCAgtmaXJzdE9mTGlzdAULZmlyc3RPZkxpc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgIKbGFzdE9mTGlzdAUKbGFzdE9mTGlzdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIIYmFsYW5jZTEFCGJhbGFuY2UxBQNuaWwATb6X6Q==", "height": 2836987, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HgBAhsfCrhbVoMnnmrc9YSkXcbmctqBiKH4cMD4GgCcR Next: E7M9R9qmhBAPGh1Pb4msHu85YJPUkVfubrVdb5UVsxSb Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func tryGetInteger (key) = match getInteger(this, key) {
4+func tryGetInteger (address,key) = match getInteger(address, key) {
55 case b: Int =>
66 b
77 case _ =>
99 }
1010
1111
12-func tryGetString (key) = match getString(this, key) {
12+func tryGetString (address,key) = match getString(address, key) {
1313 case b: String =>
1414 b
1515 case _ =>
1717 }
1818
1919
20+let burnxtn = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
21+
22+let PZ1 = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
23+
24+let PZ2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
25+
26+let PZ3 = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi'
27+
28+let PZ4 = base58'3PDJPGn6vBEBqWN4E3fNcxoKBoDXbsmoaM7'
29+
30+let PZ5 = base58'3PCS1xhGQi2eM5mYcCBhUSHvB31Kk5gZoCm'
31+
32+let PZ6 = base58'3P8Quvmgt3VEWAjBR3bsfgCqzUh7zTmTC4q'
33+
34+let WXstake = base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'
35+
36+let WX1 = base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5'
37+
38+let LP1 = "GyiHdcN59sZ46baFvj68ruLngrTPEvWDtsd6jHm4o46n"
39+
40+let WX2 = base58'3PKXseWa31VUSWUvm2YiRKxW2VM9RsVk3ry'
41+
42+let LP2 = "3MPHMJVwYGyeBLRsH1RsYhrTmemv752AEBwuFFV7g49Z"
43+
44+func PZbal (Pooladdress,address) = {
45+ let burnxtnInPZ = tryGetInteger(Address(Pooladdress), (("global_" + toBase58String(burnxtn)) + "_balance"))
46+ let addressStakePZ = tryGetInteger(Address(Pooladdress), (toString(address) + "_indexStaked"))
47+ let totalStakePZ = tryGetInteger(Address(Pooladdress), "global_poolToken_amount")
48+ fraction(burnxtnInPZ, addressStakePZ, totalStakePZ)
49+ }
50+
51+
52+func WXbal (Pooladdress,address,LPstr) = {
53+ let burnxtnInWX = assetBalance(Address(Pooladdress), burnxtn)
54+ let addressStakeWX = tryGetInteger(Address(WXstake), ((("%s%s%s__staked__" + toString(address)) + "__") + LPstr))
55+ let totalStakeWX = tryGetInteger(Address(Pooladdress), ("%s%s%s__staked__total__" + LPstr))
56+ fraction(burnxtnInWX, addressStakeWX, totalStakeWX)
57+ }
58+
59+
60+func totalBalance (address) = {
61+ let burnxtnBalance = assetBalance(address, burnxtn)
62+ let PZ1balance = PZbal(PZ1, address)
63+ let PZ2balance = PZbal(PZ2, address)
64+ let PZ3balance = PZbal(PZ3, address)
65+ let PZ4balance = PZbal(PZ4, address)
66+ let PZ5balance = PZbal(PZ5, address)
67+ let PZ6balance = PZbal(PZ6, address)
68+ let WX1balance = WXbal(WX1, address, LP1)
69+ let WX2balance = WXbal(WX2, address, LP2)
70+ let total = ((((((((burnxtnBalance + PZ1balance) + PZ2balance) + PZ3balance) + PZ4balance) + PZ5balance) + PZ6balance) + WX1balance) + WX2balance)
71+[IntegerEntry("burnxtnBalance", burnxtnBalance), IntegerEntry("PZ1balance", PZ1balance), IntegerEntry("PZ2balance", PZ2balance), IntegerEntry("PZ3balance", PZ3balance), IntegerEntry("PZ4balance", PZ4balance), IntegerEntry("PZ5balance", PZ5balance), IntegerEntry("PZ6balance", PZ6balance), IntegerEntry("WX1balance", WX1balance), IntegerEntry("WX2balance", WX2balance), IntegerEntry("total", total)]
72+ }
73+
74+
2075 @Callable(i)
21-func register () = [IntegerEntry("Amount Registered", (tryGetInteger("Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger("Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString("Address registered") + toString(i.caller)) + ","))]
76+func register () = if (contains(tryGetString(this, "Address registered"), toString(i.caller)))
77+ then throw("already registered")
78+ else if ((height > 1))
79+ then throw("registration closed")
80+ else [IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))]
2281
2382
2483
2584 @Callable(i)
2685 func makeList () = {
27- let addresses = dropRight(tryGetString("Address registered"), 1)
86+ let addresses = dropRight(tryGetString(this, "Address registered"), 1)
2887 let list = split(addresses, ",")
2988 let listSize = size(list)
3089 let firstOfList = list[0]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func tryGetInteger (key) = match getInteger(this, key) {
4+func tryGetInteger (address,key) = match getInteger(address, key) {
55 case b: Int =>
66 b
77 case _ =>
88 0
99 }
1010
1111
12-func tryGetString (key) = match getString(this, key) {
12+func tryGetString (address,key) = match getString(address, key) {
1313 case b: String =>
1414 b
1515 case _ =>
1616 ""
1717 }
1818
1919
20+let burnxtn = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
21+
22+let PZ1 = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
23+
24+let PZ2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
25+
26+let PZ3 = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi'
27+
28+let PZ4 = base58'3PDJPGn6vBEBqWN4E3fNcxoKBoDXbsmoaM7'
29+
30+let PZ5 = base58'3PCS1xhGQi2eM5mYcCBhUSHvB31Kk5gZoCm'
31+
32+let PZ6 = base58'3P8Quvmgt3VEWAjBR3bsfgCqzUh7zTmTC4q'
33+
34+let WXstake = base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'
35+
36+let WX1 = base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5'
37+
38+let LP1 = "GyiHdcN59sZ46baFvj68ruLngrTPEvWDtsd6jHm4o46n"
39+
40+let WX2 = base58'3PKXseWa31VUSWUvm2YiRKxW2VM9RsVk3ry'
41+
42+let LP2 = "3MPHMJVwYGyeBLRsH1RsYhrTmemv752AEBwuFFV7g49Z"
43+
44+func PZbal (Pooladdress,address) = {
45+ let burnxtnInPZ = tryGetInteger(Address(Pooladdress), (("global_" + toBase58String(burnxtn)) + "_balance"))
46+ let addressStakePZ = tryGetInteger(Address(Pooladdress), (toString(address) + "_indexStaked"))
47+ let totalStakePZ = tryGetInteger(Address(Pooladdress), "global_poolToken_amount")
48+ fraction(burnxtnInPZ, addressStakePZ, totalStakePZ)
49+ }
50+
51+
52+func WXbal (Pooladdress,address,LPstr) = {
53+ let burnxtnInWX = assetBalance(Address(Pooladdress), burnxtn)
54+ let addressStakeWX = tryGetInteger(Address(WXstake), ((("%s%s%s__staked__" + toString(address)) + "__") + LPstr))
55+ let totalStakeWX = tryGetInteger(Address(Pooladdress), ("%s%s%s__staked__total__" + LPstr))
56+ fraction(burnxtnInWX, addressStakeWX, totalStakeWX)
57+ }
58+
59+
60+func totalBalance (address) = {
61+ let burnxtnBalance = assetBalance(address, burnxtn)
62+ let PZ1balance = PZbal(PZ1, address)
63+ let PZ2balance = PZbal(PZ2, address)
64+ let PZ3balance = PZbal(PZ3, address)
65+ let PZ4balance = PZbal(PZ4, address)
66+ let PZ5balance = PZbal(PZ5, address)
67+ let PZ6balance = PZbal(PZ6, address)
68+ let WX1balance = WXbal(WX1, address, LP1)
69+ let WX2balance = WXbal(WX2, address, LP2)
70+ let total = ((((((((burnxtnBalance + PZ1balance) + PZ2balance) + PZ3balance) + PZ4balance) + PZ5balance) + PZ6balance) + WX1balance) + WX2balance)
71+[IntegerEntry("burnxtnBalance", burnxtnBalance), IntegerEntry("PZ1balance", PZ1balance), IntegerEntry("PZ2balance", PZ2balance), IntegerEntry("PZ3balance", PZ3balance), IntegerEntry("PZ4balance", PZ4balance), IntegerEntry("PZ5balance", PZ5balance), IntegerEntry("PZ6balance", PZ6balance), IntegerEntry("WX1balance", WX1balance), IntegerEntry("WX2balance", WX2balance), IntegerEntry("total", total)]
72+ }
73+
74+
2075 @Callable(i)
21-func register () = [IntegerEntry("Amount Registered", (tryGetInteger("Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger("Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString("Address registered") + toString(i.caller)) + ","))]
76+func register () = if (contains(tryGetString(this, "Address registered"), toString(i.caller)))
77+ then throw("already registered")
78+ else if ((height > 1))
79+ then throw("registration closed")
80+ else [IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))]
2281
2382
2483
2584 @Callable(i)
2685 func makeList () = {
27- let addresses = dropRight(tryGetString("Address registered"), 1)
86+ let addresses = dropRight(tryGetString(this, "Address registered"), 1)
2887 let list = split(addresses, ",")
2988 let listSize = size(list)
3089 let firstOfList = list[0]
3190 let lastOfList = list[(listSize - 1)]
3291 let address1 = value(addressFromString(firstOfList))
3392 let balance1 = wavesBalance(address1).available
3493 [StringEntry("addresses", addresses), IntegerEntry("listSize", listSize), StringEntry("firstOfList", firstOfList), StringEntry("lastOfList", lastOfList), IntegerEntry("balance1", balance1)]
3594 }
3695
3796

github/deemru/w8io/169f3d6 
35.56 ms