tx · 7kuoX4EbsoLVzPdNk45cCihJKghqFHJ9PXWBdtZeSaR6

3N3RGW47cNzDY5Yp7vn13qdnpM2TNWaKeoU:  -0.01000000 Waves

2020.04.15 22:45 [956001] smart account 3N3RGW47cNzDY5Yp7vn13qdnpM2TNWaKeoU > SELF 0.00000000 Waves

{ "type": 13, "id": "7kuoX4EbsoLVzPdNk45cCihJKghqFHJ9PXWBdtZeSaR6", "fee": 1000000, "feeAssetId": null, "timestamp": 1586979963100, "version": 1, "sender": "3N3RGW47cNzDY5Yp7vn13qdnpM2TNWaKeoU", "senderPublicKey": "2w1DSfDhaBAYQrwjAwAR5T16EAPYy9u2KbD4dP7FmTjr", "proofs": [ "Wq7ufHYY6R1puhiVTQhqLNZNXnfBft8inDcRuxjS4tn5tmsQydF3A2RWS5cwJnBzB4vtNb993Z3eEv22HyBy51X" ], "script": "base64:AAIDAAAAAAAAAAQIARIAAAAAKAEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAAtNQVhESVNDT1VOVAAAAAAAAAAAMgAAAAAIQ0FOQ0VMRUQCAAAACGNhbmNlbGVkAAAAAANORVcCAAAAA25ldwAAAAAGRklMTEVEAgAAAAZmaWxsZWQAAAAAE05ldXRyaW5vQ29udHJhY3RLZXkCAAAAEW5ldXRyaW5vX2NvbnRyYWN0AAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAAEk5ldXRyaW5vQXNzZXRJZEtleQIAAAARbmV1dHJpbm9fYXNzZXRfaWQAAAAAEkNvbnRyb2xDb250cmFjdEtleQIAAAAQY29udHJvbF9jb250cmFjdAAAAAARQmFsYW5jZUxvY2tlZGtLZXkCAAAADWJhbGFuY2VfbG9ja18AAAAAFVdhdmVzTG9ja2VkQmFsYW5jZUtleQkAASwAAAACBQAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAAFd2F2ZXMAAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQkAASwAAAACBQAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAAIbmV1dHJpbm8AAAAADUZpcnN0T3JkZXJLZXkCAAAAC29yZGVyX2ZpcnN0AAAAAAxMYXN0T3JkZXJLZXkCAAAACm9yZGVyX2xhc3QBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfcHJpY2VfBQAAAAdvcmRlcklkAQAAAA9nZXRPcmRlck5leHRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAALb3JkZXJfbmV4dF8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfdG90YWxfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX293bmVyXwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfc3RhdHVzXwUAAAAHb3JkZXJJZAEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABNvcmRlcl9maWxsZWRfdG90YWxfBQAAAAdvcmRlcklkAAAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAECAAAAIzNQQzlCZlJ3SldXaXc5QVJFRTJCM2VXekNrczNDWXRnNHlvAAAAAA9jb250cm9sQ29udHJhY3QJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM1A1QmZkNThQUGZOdkJNMkh5OFFmYmNEcU1lTnR6ZzdLZlAAAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM1A0UEN4c0pxTXpRQkFMbzh6QU5IdEJEWlJScXVvYkhRcDcAAAAAD25ldXRyaW5vQXNzZXRJZAkAAlkAAAABAgAAACxERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAAAAAALYm9uZEFzc2V0SWQJAAJZAAAAAQIAAAAsNm5TcFZ5Tkg3eU02OWVnNDQ2d3JRUjk0aXBiYmNtWk1VMUVOUHdhbkM5N2cAAAAACWlzQmxvY2tlZAkBAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QCAAAACmlzX2Jsb2NrZWQAAAAACmZpcnN0T3JkZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADUZpcnN0T3JkZXJLZXkAAAAACWxhc3RPcmRlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAMTGFzdE9yZGVyS2V5AQAAAAxnZXRPcmRlck5leHQAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAPZ2V0T3JkZXJOZXh0S2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlck93bmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAJpZAEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAJpZAEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAACaWQAAAAAFkN1cnJlbnREZWZhdWx0T3JkZXJLZXkCAAAADW9yZGVyX2RlZmF1bHQAAAABAAAAAWkBAAAAGG1pZ3JhdGlvbk9yZGVyc05TQlR0b1NPTgAAAAAEAAAAB3Rlc3RLZXkCAAAABXRlc3QxAwkAAGYAAAACCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAAd0ZXN0S2V5AAAAAAAAAAAKCQAAAgAAAAECAAAAP3N0YXR1cyBvazogYWxsIG9yZGVyIGhhcyBhbHJlYWR5IG1pZ3JhdGVkIG9yIG5vdGhpbmcgdG8gbWlncmF0ZQQAAAANcHJldmlvdXNWYWx1ZQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQIAAAAFdGVzdDEEAAAACG5ld1ZhbHVlCQAAZAAAAAIFAAAADXByZXZpb3VzVmFsdWUAAAAAAAAAAAEJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAB3Rlc3RLZXkFAAAACG5ld1ZhbHVlBQAAAANuaWwAAAAAI1M6Lw==", "chainId": 84, "height": 956001, "spentComplexity": 0 } View: original | compacted Prev: none Next: 95xr3vGvZzs1KaXHN36RqwFdMTaG6veN1kcjZ9hVtH5p Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func getNumberByKey (key) = match getInteger(this, key) {
5+ case a: Int =>
6+ a
7+ case _ =>
8+ 0
9+}
10+
11+
12+func getStringByKey (key) = match getString(this, key) {
13+ case a: String =>
14+ a
15+ case _ =>
16+ ""
17+}
18+
19+
20+func getBoolByAddressAndKey (address,key) = match getBoolean(address, key) {
21+ case a: Boolean =>
22+ a
23+ case _ =>
24+ false
25+}
26+
27+
28+func getStringByAddressAndKey (address,key) = match getString(address, key) {
29+ case a: String =>
30+ a
31+ case _ =>
32+ ""
33+}
34+
35+
36+func getNumberByAddressAndKey (address,key) = match getInteger(address, key) {
37+ case a: Int =>
38+ a
39+ case _ =>
40+ 0
41+}
42+
43+
44+let WAVELET = 100000000
45+
46+let PAULI = 1000000
47+
48+let MAXDISCOUNT = 50
49+
50+let CANCELED = "canceled"
51+
52+let NEW = "new"
53+
54+let FILLED = "filled"
55+
56+let NeutrinoContractKey = "neutrino_contract"
57+
58+let PriceKey = "price"
59+
60+let NeutrinoAssetIdKey = "neutrino_asset_id"
61+
62+let ControlContractKey = "control_contract"
63+
64+let BalanceLockedkKey = "balance_lock_"
65+
66+let WavesLockedBalanceKey = (BalanceLockedkKey + "waves")
67+
68+let NeutrinoLockedBalanceKey = (BalanceLockedkKey + "neutrino")
69+
70+let FirstOrderKey = "order_first"
71+
72+let LastOrderKey = "order_last"
73+
74+func getOrderPriceKey (orderId) = ("order_price_" + orderId)
75+
76+
77+func getOrderNextKey (orderId) = ("order_next_" + orderId)
78+
79+
80+func getOrderTotalKey (orderId) = ("order_total_" + orderId)
81+
82+
83+func getOrderOwnerKey (orderId) = ("order_owner_" + orderId)
84+
85+
86+func getOrderStatusKey (orderId) = ("order_status_" + orderId)
87+
88+
89+func getOrderFilledTotalKey (orderId) = ("order_filled_total_" + orderId)
90+
91+
92+let neutrinoContract = addressFromStringValue("3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo")
93+
94+let controlContract = addressFromStringValue("3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP")
95+
96+let liquidationContract = addressFromStringValue("3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7")
97+
98+let neutrinoAssetId = fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p")
99+
100+let bondAssetId = fromBase58String("6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g")
101+
102+let isBlocked = getBoolByAddressAndKey(controlContract, "is_blocked")
103+
104+let firstOrder = getStringByKey(FirstOrderKey)
105+
106+let lastOrder = getStringByKey(LastOrderKey)
107+
108+func getOrderNext (id) = getStringByKey(getOrderNextKey(id))
109+
110+
111+func getOrderTotal (id) = getNumberByKey(getOrderTotalKey(id))
112+
113+
114+func getOrderOwner (id) = getStringByKey(getOrderOwnerKey(id))
115+
116+
117+func getOrderStatus (id) = getStringByKey(getOrderStatusKey(id))
118+
119+
120+func getOrderFilledTotal (id) = getNumberByKey(getOrderFilledTotalKey(id))
121+
122+
123+let CurrentDefaultOrderKey = "order_default"
124+
125+@Callable(i)
126+func migrationOrdersNSBTtoSON () = {
127+ let testKey = "test1"
128+ if ((getNumberByKey(testKey) > 10))
129+ then throw("status ok: all order has already migrated or nothing to migrate")
130+ else {
131+ let previousValue = getNumberByKey("test1")
132+ let newValue = (previousValue + 1)
133+ WriteSet([DataEntry(testKey, newValue)])
134+ }
135+ }
136+
137+

github/deemru/w8io/169f3d6 
17.87 ms