2022.05.07 12:42 [3106587] smart account 3PH9oV2vraW7z7BxbMjHjcCMg3dmBKmUyhh > SELF 0.00000000 Waves

{ "type": 13, "id": "s4jJrapF6VeBdVdqU5wdbowxwFGDtG1jHcrqW2CTm5n", "fee": 1000000, "feeAssetId": null, "timestamp": 1651916571258, "version": 1, "sender": "3PH9oV2vraW7z7BxbMjHjcCMg3dmBKmUyhh", "senderPublicKey": "8tRVr2kuPGSmrPFKsWvmLpwFnhp9s9R4wNsubgY3REiF", "proofs": [ "5jhRDhcKdzA4zg4vuF9iHanryFDnQKGhUNRz2ADpx9jT3NrBWJyXE4KZi8SxfWoqMrkGeBHh3riKsgPqJSdiTZxy" ], "script": "base64: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", "chainId": 87, "height": 3106587, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BU6az8Kxbb36DTvRPxNtjH9CJ2riircba9egQoQjKsnU Next: 6KpyzTMosfbv6kD2qTx375LCKhNY2pqEyDxoqFAghGTP Diff:
OldNewDifferences
55 then StringEntry(key, value)
66 else throw(("already initialized: " + key))
77
8-
9-let admin = valueOrErrorMessage(getString(this, "admin"), "no admin")
108
119 let reserve = valueOrErrorMessage(getString(this, "reserve"), "no reserve")
1210
1917 let sp = valueOrErrorMessage(getString(this, "sp"), "no sp")
2018
2119 @Callable(i)
22-func initialize (admin,reserve,node,eurnId,sp) = [writeConstString("admin", admin), writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("eurnId", eurnId), writeConstString("sp", sp)]
23-
24-
25-
26-@Callable(i)
27-func setAddress (a) = if ((toString(i.caller) != admin))
28- then throw("only self can do")
29- else [StringEntry("node", a)]
20+func initialize (admin,reserve,node,eurnId,sp) = [writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("eurnId", eurnId), writeConstString("sp", sp)]
3021
3122
3223
6051 }
6152
6253
54+
55+@Callable(i)
56+func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("%s%s%s__stakingBalance__" + eurnId) + "_") + toString(this))), 0))
57+
58+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func writeConstString (key,value) = if (!(isDefined(getString(this, key))))
55 then StringEntry(key, value)
66 else throw(("already initialized: " + key))
77
8-
9-let admin = valueOrErrorMessage(getString(this, "admin"), "no admin")
108
119 let reserve = valueOrErrorMessage(getString(this, "reserve"), "no reserve")
1210
1311 let node = valueOrErrorMessage(getString(this, "node"), "no node")
1412
1513 let nodeAddress = valueOrErrorMessage(addressFromString(node), "bad node address")
1614
1715 let eurnId = valueOrErrorMessage(getString(this, "eurnId"), "no eurn id")
1816
1917 let sp = valueOrErrorMessage(getString(this, "sp"), "no sp")
2018
2119 @Callable(i)
22-func initialize (admin,reserve,node,eurnId,sp) = [writeConstString("admin", admin), writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("eurnId", eurnId), writeConstString("sp", sp)]
23-
24-
25-
26-@Callable(i)
27-func setAddress (a) = if ((toString(i.caller) != admin))
28- then throw("only self can do")
29- else [StringEntry("node", a)]
20+func initialize (admin,reserve,node,eurnId,sp) = [writeConstString("reserve", reserve), writeConstString("node", node), writeConstString("eurnId", eurnId), writeConstString("sp", sp)]
3021
3122
3223
3324 @Callable(i)
3425 func put () = if ((toString(i.caller) != reserve))
3526 then throw("reserve only")
3627 else {
3728 let attachedAssetId = toBase58String(value(i.payments[0].assetId))
3829 if ((attachedAssetId != eurnId))
3930 then throw(((("eurn only: " + eurnId) + ", but got ") + attachedAssetId))
4031 else {
4132 let action = invoke(nodeAddress, "startStakingSP", [sp, 100], [AttachedPayment(fromBase58String(eurnId), i.payments[0].amount)])
4233 if ((action == action))
4334 then nil
4435 else throw("Strict value is not equal to itself.")
4536 }
4637 }
4738
4839
4940
5041 @Callable(i)
5142 func get (removedAmount) = if ((toString(i.caller) != reserve))
5243 then throw("reserve only")
5344 else if ((0 > removedAmount))
5445 then throw("pulling negative amount")
5546 else {
5647 let action = invoke(nodeAddress, "stopStaking", [removedAmount, eurnId], nil)
5748 if ((action == action))
5849 then [ScriptTransfer(i.caller, removedAmount, fromBase58String(eurnId))]
5950 else throw("Strict value is not equal to itself.")
6051 }
6152
6253
54+
55+@Callable(i)
56+func info () = $Tuple2(nil, valueOrElse(getInteger(nodeAddress, ((("%s%s%s__stakingBalance__" + eurnId) + "_") + toString(this))), 0))
57+
58+

github/deemru/w8io/786bc32 
31.93 ms