tx · CP6SxxxEfg3rDaHarwAMuJU9fE4uf7SPev1soTS3Yqjb

3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB:  -0.01400000 Waves

2019.11.16 10:55 [767387] smart account 3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB > SELF 0.00000000 Waves

{ "type": 13, "id": "CP6SxxxEfg3rDaHarwAMuJU9fE4uf7SPev1soTS3Yqjb", "fee": 1400000, "feeAssetId": null, "timestamp": 1573890915677, "version": 1, "sender": "3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB", "senderPublicKey": "Gd5NihbWQoWuTnSvq25TuV2BYZG4U1e9KDqZn9zBPix7", "proofs": [ "5ChfF1tWFBCF1K8yPg4RcZzK5LVQCrcwGWhpqNeBfUKb3DJh5B9Ro8FWp7mGVfupyoFnSYqkDk7wz6ZKXzeD8E9e" ], "script": "base64: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", "chainId": 84, "height": 767387, "spentComplexity": 0 } View: original | compacted Prev: 8vKY3w2CMh4TyrG3KvKJqeyByvJoQ64uZqcv2CV7T9b4 Next: FaGPrZiDHp9Uzs556SuNwAz9ajTkmMsUBvhiUmVNK24c Diff:
OldNewDifferences
2828 }
2929 else "NONE"
3030 }
31+ let o = toBase58String(c.caller.bytes)
32+ let p = {
33+ let l = getInteger(this, ("addr_WHITELISTED_" + o))
34+ if ($isInstanceOf(l, "Int"))
35+ then {
36+ let m = l
37+ m
38+ }
39+ else 0
40+ }
3141 if ((k != "NONE"))
3242 then throw("This entry already exist")
3343 else if ((n != "NONE"))
3949 else if ((size(e) > 64))
4050 then throw("Title is too long")
4151 else {
42- let o = if (isDefined(h.assetId))
52+ let q = if (isDefined(h.assetId))
4353 then extract(h.assetId)
4454 else throw("Waves is not accepted as payment")
45- let p = {
46- let l = getString(a, ("white_list_token_" + toBase58String(extract(o))))
55+ let r = {
56+ let l = getString(a, ("white_list_token_" + toBase58String(extract(q))))
4757 if ($isInstanceOf(l, "String"))
4858 then {
4959 let m = l
5161 }
5262 else throw("This token is not accepted at the moment")
5363 }
54- let q = getIntegerValue(a, ("certification_fee_" + toBase58String(extract(o))))
55- if ((p != "WHITELISTED"))
64+ let s = getIntegerValue(a, ("certification_fee_" + toBase58String(extract(q))))
65+ if ((r != "WHITELISTED"))
5666 then throw("This token is not accepted at the moment")
57- else if ((i != q))
67+ else if (if ((i != s))
68+ then (0 >= p)
69+ else false)
5870 then throw("The price is wrong")
59- else ScriptResult(WriteSet([DataEntry(f, toBase58String(j)), DataEntry((d + f), toBase58String(j)), DataEntry((e + f), toBase58String(j)), DataEntry(((("data_fc_" + toBase58String(j)) + "_") + toBase58String(c.caller.bytes)), g)]), TransferSet([ScriptTransfer(addressFromStringValue(b), i, h.assetId)]))
71+ else if ((p > 0))
72+ then ScriptResult(WriteSet([DataEntry(f, toBase58String(j)), DataEntry((d + f), toBase58String(j)), DataEntry((e + f), toBase58String(j)), DataEntry(("addr_WHITELISTED_" + o), (p - 1)), DataEntry(((("data_fc_" + toBase58String(j)) + "_") + o), g)]), TransferSet([ScriptTransfer(addressFromStringValue(b), i, h.assetId)]))
73+ else ScriptResult(WriteSet([DataEntry(f, toBase58String(j)), DataEntry((d + f), toBase58String(j)), DataEntry((e + f), toBase58String(j)), DataEntry(((("data_fc_" + toBase58String(j)) + "_") + o), g)]), TransferSet([ScriptTransfer(addressFromStringValue(b), i, h.assetId)]))
6074 }
6175 }
6276
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = extract(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
55
66 let b = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
77
88 @Callable(c)
99 func fileCertification (d,e,f,g) = {
1010 let h = extract(c.payment)
1111 let i = extract(h.amount)
1212 let j = extract(c.transactionId)
1313 let k = {
1414 let l = getString(this, (d + f))
1515 if ($isInstanceOf(l, "String"))
1616 then {
1717 let m = l
1818 m
1919 }
2020 else "NONE"
2121 }
2222 let n = {
2323 let l = getString(this, f)
2424 if ($isInstanceOf(l, "String"))
2525 then {
2626 let m = l
2727 m
2828 }
2929 else "NONE"
3030 }
31+ let o = toBase58String(c.caller.bytes)
32+ let p = {
33+ let l = getInteger(this, ("addr_WHITELISTED_" + o))
34+ if ($isInstanceOf(l, "Int"))
35+ then {
36+ let m = l
37+ m
38+ }
39+ else 0
40+ }
3141 if ((k != "NONE"))
3242 then throw("This entry already exist")
3343 else if ((n != "NONE"))
3444 then throw("This uuid already exist")
3545 else if ((size(f) > 36))
3646 then throw("Uuid is too long")
3747 else if ((size(d) > 64))
3848 then throw("Hash is too long")
3949 else if ((size(e) > 64))
4050 then throw("Title is too long")
4151 else {
42- let o = if (isDefined(h.assetId))
52+ let q = if (isDefined(h.assetId))
4353 then extract(h.assetId)
4454 else throw("Waves is not accepted as payment")
45- let p = {
46- let l = getString(a, ("white_list_token_" + toBase58String(extract(o))))
55+ let r = {
56+ let l = getString(a, ("white_list_token_" + toBase58String(extract(q))))
4757 if ($isInstanceOf(l, "String"))
4858 then {
4959 let m = l
5060 m
5161 }
5262 else throw("This token is not accepted at the moment")
5363 }
54- let q = getIntegerValue(a, ("certification_fee_" + toBase58String(extract(o))))
55- if ((p != "WHITELISTED"))
64+ let s = getIntegerValue(a, ("certification_fee_" + toBase58String(extract(q))))
65+ if ((r != "WHITELISTED"))
5666 then throw("This token is not accepted at the moment")
57- else if ((i != q))
67+ else if (if ((i != s))
68+ then (0 >= p)
69+ else false)
5870 then throw("The price is wrong")
59- else ScriptResult(WriteSet([DataEntry(f, toBase58String(j)), DataEntry((d + f), toBase58String(j)), DataEntry((e + f), toBase58String(j)), DataEntry(((("data_fc_" + toBase58String(j)) + "_") + toBase58String(c.caller.bytes)), g)]), TransferSet([ScriptTransfer(addressFromStringValue(b), i, h.assetId)]))
71+ else if ((p > 0))
72+ then ScriptResult(WriteSet([DataEntry(f, toBase58String(j)), DataEntry((d + f), toBase58String(j)), DataEntry((e + f), toBase58String(j)), DataEntry(("addr_WHITELISTED_" + o), (p - 1)), DataEntry(((("data_fc_" + toBase58String(j)) + "_") + o), g)]), TransferSet([ScriptTransfer(addressFromStringValue(b), i, h.assetId)]))
73+ else ScriptResult(WriteSet([DataEntry(f, toBase58String(j)), DataEntry((d + f), toBase58String(j)), DataEntry((e + f), toBase58String(j)), DataEntry(((("data_fc_" + toBase58String(j)) + "_") + o), g)]), TransferSet([ScriptTransfer(addressFromStringValue(b), i, h.assetId)]))
6074 }
6175 }
6276
6377

github/deemru/w8io/3ef1775 
50.79 ms