tx · 6hAR8Lyx1XZ6uBvpWBi1e9hkttvMKa13CMB9MoS8cLNz

3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV:  -0.01000000 Waves

2021.12.11 13:38 [1829461] smart account 3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV > SELF 0.00000000 Waves

{ "type": 13, "id": "6hAR8Lyx1XZ6uBvpWBi1e9hkttvMKa13CMB9MoS8cLNz", "fee": 1000000, "feeAssetId": null, "timestamp": 1639219125344, "version": 2, "chainId": 84, "sender": "3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV", "senderPublicKey": "5amLtMwixiEesBDKPy9dkFWntG2fNxhTs5n69JbQE9F7", "proofs": [ "5n5L41mUY6cnpJ2Zzmm36WzMwgm18n2pSQER8SxcJ3S3vLbu1WPKD8seEGtHsdW4Sh7NTTP66S2KepbPamandtkA" ], "script": "base64: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", "height": 1829461, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BqQg14HADszBxWRmgzrDMqXeaM4QMYaHYZrY5mFacQEU Next: 8E2j3XCQouCGp449rKAMjZtrgwsEW2ke4nB2wHjX4czr Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let token = base58'GZc7eKnq2KJwqetRmUzSqr2ZaCGseDZufSocz83sUNoo'
55
66 let airdrop = Address(base58'3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV')
77
88 @Callable(i)
99 func reset () = [DeleteEntry(toBase58String(i.caller.bytes)), IntegerEntry("burningstage", 0)]
1010
1111
1212
1313 @Callable(i)
1414 func call (id58) = {
1515 let currenttime = match blockInfoByHeight(height) {
1616 case block: BlockInfo =>
1717 block.timestamp
1818 case _ =>
1919 throw("Can't find block")
2020 }
2121 let balance = assetBalance(airdrop, token)
2222 let burnamount = match getInteger("burningstage") {
2323 case a: Int =>
2424 if (if ((getIntegerValue("burningstage") == 0))
2525 then (currenttime > 1639131654752)
2626 else false)
2727 then fraction(balance, 10, 100)
2828 else 0
2929 case _ =>
3030 throw("no burningstage")
3131 }
3232 let dropamount = 100
3333 let isenough = if ((balance > dropamount))
3434 then true
3535 else throw("not enough")
3636 if ((isenough == isenough))
3737 then {
3838 let id = fromBase58String(id58)
3939 let callerAdress = Address(i.caller.bytes)
4040 let time = 1639148135492
4141 let trexists = match transferTransactionById(id) {
4242 case ttx: TransferTransaction =>
4343 true
4444 case _ =>
4545 false
4646 }
4747 let trtime = match transferTransactionById(id) {
4848 case ttx: TransferTransaction =>
4949 ttx.timestamp
5050 case _ =>
5151 9999999999999
5252 }
5353 let trsender = match transferTransactionById(id) {
5454 case ttx: TransferTransaction =>
5555 ttx.sender
5656 case _ =>
5757 airdrop
5858 }
5959 let received = if ((take(valueOrElse(getString(toBase58String(i.caller.bytes)), ""), 8) == "received"))
6060 then true
6161 else false
6262 let isprooved = if (if (if ((trtime > time))
6363 then true
6464 else (callerAdress != trsender))
6565 then true
6666 else received)
6767 then false
6868 else true
6969 let result = if (trexists)
7070 then if ((trtime > time))
7171 then ("transaction is out of time range: " + toString(trtime))
7272 else ("" + (if ((callerAdress != trsender))
7373 then ((("it is incorrect sender: " + toString(callerAdress)) + " / ") + toString(trsender))
7474 else ("" + (if (received)
7575 then getStringValue(toBase58String(i.caller.bytes))
7676 else ("" + (if (isprooved)
7777 then ("reseived in " + toString(currenttime))
7878 else ""))))))
7979 else "cant find transaction"
8080 if (isprooved)
8181 then if ((burnamount > 0))
8282 then [ScriptTransfer(callerAdress, dropamount, token), StringEntry(toBase58String(i.caller.bytes), result), Burn(token, 999)]
8383 else [IntegerEntry(toBase58String(i.caller.bytes), currenttime), ScriptTransfer(callerAdress, dropamount, token)]
8484 else [StringEntry(toBase58String(i.caller.bytes), result)]
8585 }
8686 else throw("Strict value is not equal to itself.")
8787 }
8888
8989

github/deemru/w8io/026f985 
28.98 ms