tx · VsFTJFyDZ6vHgrT51qhMWDAUTjrBWq9MVG1twd9ZSMh 3N8hj4BFqCRwcntPAriXu2AA4E7nDWgxM8z: -0.00200000 Waves 2022.07.07 13:41 [2129159] smart account 3N8hj4BFqCRwcntPAriXu2AA4E7nDWgxM8z > SELF 0.00000000 Waves
{ "type": 13, "id": "VsFTJFyDZ6vHgrT51qhMWDAUTjrBWq9MVG1twd9ZSMh", "fee": 200000, "feeAssetId": null, "timestamp": 1657190501229, "version": 2, "chainId": 84, "sender": "3N8hj4BFqCRwcntPAriXu2AA4E7nDWgxM8z", "senderPublicKey": "HP6foDB2YTEFAodsVsnAfH8U9CLMnQnisSrNQU59ZgMa", "proofs": [ "4R5etbPGBTvXCxBbhrwFAEk1FMcVPJhYCZFaKQF7udFKKszcex1FzCrr6jjnyUCW3LRoKLsJuZtsa1KMVh4692gd" ], "script": "base64:BgLEAQgCEgkKBwEBAQgICAgSABIAIglzZXBhcmF0b3IiAWkiEHNvdXJjZV9jaGFpbl9pZHgiEHRhcmdldF9jaGFpbl9pZHgiDGJsb2NrX2hlaWdodCIKYmxvY2tfaGFzaCIHdHhfaGFzaCIMc291cmNlX2Fzc2V0IgZhbW91bnQiCWFtb3VudEludCIHJG1hdGNoMCIBYSIMZXZlbnRMYXN0SWR4IgVldmVudCIDZXJyIglpbnN1cmFuY2UiAnR4IgZ2ZXJpZnkBAAFhAgJfXwMBYgEJZW1pdEV2ZW50BwFjAWQBZQFmAWcBaAFpBAFqBAFrCQCoAwEFAWkDCQABAgUBawIGQmlnSW50BAFsBQFrBQFsAwkAAQIFAWsCBFVuaXQJAAIBAhBpbmNvcnJlY3QgYW1vdW50CQACAQILTWF0Y2ggZXJyb3IEAW0EAWsJAJ8IAQIPRVZFTlRTX0xBU1RfSURYAwkAAQIFAWsCA0ludAQBbAUBawUBbAMJAAECBQFrAgRVbml0AAAJAAIBAgtNYXRjaCBlcnJvcgQBbgkAuQkCCQDMCAIJAKQDAQUBYwkAzAgCCQCkAwEFAWQJAMwIAgkApAMBBQFlCQDMCAIFAWYJAMwIAgUBZwkAzAgCBQFoCQDMCAIJAKYDAQUBagUDbmlsBQFhCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAghFVkVOVFNfXwkApAMBBQFtBQFuCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg9FVkVOVFNfTEFTVF9JRFgJAGQCBQFtAAEFA25pbAUEdW5pdAFiARBkZXBvc2l0SW5zdXJhbmNlAAQBbwMJAQIhPQIJAJADAQgFAWIIcGF5bWVudHMAAQkAAgECCm5vIHBheW1lbnQDCQAAAggJAJEDAggFAWIIcGF5bWVudHMAAAdhc3NldElkBQR1bml0CQACAQIUcGF5bWVudCBpcyBub3QgV0FWRVMDCQBnAgAACAkAkQMCCAUBYghwYXltZW50cwAABmFtb3VudAkAAgECDHplcm8gcGF5bWVudAUEdW5pdAMJAAACBQFvBQFvCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgIQSU5TVVJBTkNFX0ZSRUVfXwkA2AQBCAgFAWIGY2FsbGVyBWJ5dGVzCAkAkQMCCAUBYghwYXltZW50cwAABmFtb3VudAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWIBEXdpdGhkcmF3SW5zdXJhbmNlAAQBcAQBawkAnwgBCQCsAgICEElOU1VSQU5DRV9GUkVFX18JANgEAQgIBQFiBmNhbGxlcgVieXRlcwMJAAECBQFrAgNJbnQEAWwFAWsDCQBmAgUBbAAABQFsCQACAQIRbm8gZnJlZSBpbnN1cmFuY2UJAAIBAgxubyBpbnN1cmFuY2UJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBYgZjYWxsZXIFAXAFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgIQSU5TVVJBTkNFX0ZSRUVfXwkA2AQBCAgFAWIGY2FsbGVyBWJ5dGVzAAAFA25pbAUEdW5pdAEBcQEBcgAJAPQDAwgFAXEJYm9keUJ5dGVzCQCRAwIIBQFxBnByb29mcwAACAUBcQ9zZW5kZXJQdWJsaWNLZXlxthg6", "height": 2129159, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: Da9ndvaGkzSqrToojy7iVZYHQwbryDV1tVes7XW3Jmc Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let separator = "__" | |
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func emitEvent (source_chain_idx,target_chain_idx,block_height,block_hash,tx_hash,source_asset,amount) = { | |
8 | + | let amountInt = match parseBigInt(amount) { | |
9 | + | case a: BigInt => | |
10 | + | a | |
11 | + | case _: Unit => | |
12 | + | throw("incorrect amount") | |
13 | + | case _ => | |
14 | + | throw("Match error") | |
15 | + | } | |
16 | + | let eventLastIdx = match getInteger("EVENTS_LAST_IDX") { | |
17 | + | case a: Int => | |
18 | + | a | |
19 | + | case _: Unit => | |
20 | + | 0 | |
21 | + | case _ => | |
22 | + | throw("Match error") | |
23 | + | } | |
24 | + | let event = makeString([toString(source_chain_idx), toString(target_chain_idx), toString(block_height), block_hash, tx_hash, source_asset, toString(amountInt)], separator) | |
25 | + | $Tuple2([StringEntry(("EVENTS__" + toString(eventLastIdx)), event), IntegerEntry("EVENTS_LAST_IDX", (eventLastIdx + 1))], unit) | |
26 | + | } | |
27 | + | ||
28 | + | ||
29 | + | ||
30 | + | @Callable(i) | |
31 | + | func depositInsurance () = { | |
32 | + | let err = if ((size(i.payments) != 1)) | |
33 | + | then throw("no payment") | |
34 | + | else if ((i.payments[0].assetId == unit)) | |
35 | + | then throw("payment is not WAVES") | |
36 | + | else if ((0 >= i.payments[0].amount)) | |
37 | + | then throw("zero payment") | |
38 | + | else unit | |
39 | + | if ((err == err)) | |
40 | + | then $Tuple2([IntegerEntry(("INSURANCE_FREE__" + toBase58String(i.caller.bytes)), i.payments[0].amount)], unit) | |
41 | + | else throw("Strict value is not equal to itself.") | |
42 | + | } | |
43 | + | ||
44 | + | ||
45 | + | ||
46 | + | @Callable(i) | |
47 | + | func withdrawInsurance () = { | |
48 | + | let insurance = match getInteger(("INSURANCE_FREE__" + toBase58String(i.caller.bytes))) { | |
49 | + | case a: Int => | |
50 | + | if ((a > 0)) | |
51 | + | then a | |
52 | + | else throw("no free insurance") | |
53 | + | case _ => | |
54 | + | throw("no insurance") | |
55 | + | } | |
56 | + | $Tuple2([ScriptTransfer(i.caller, insurance, unit), IntegerEntry(("INSURANCE_FREE__" + toBase58String(i.caller.bytes)), 0)], unit) | |
57 | + | } | |
58 | + | ||
59 | + | ||
60 | + | @Verifier(tx) | |
61 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
62 | + |
github/deemru/w8io/169f3d6 624.46 ms ◑![]()