tx · 7dkEMH5EUPQNKT1SYTVj8B4CrvSd1yxn24kGuNQCKtav 3MwJL2DqwKdgVQ2Aw5ov1rTEmGTKEkK1wET: -0.00200000 Waves 2023.05.15 15:04 [2579050] smart account 3MwJL2DqwKdgVQ2Aw5ov1rTEmGTKEkK1wET > SELF 0.00000000 Waves
{ "type": 13, "id": "7dkEMH5EUPQNKT1SYTVj8B4CrvSd1yxn24kGuNQCKtav", "fee": 200000, "feeAssetId": null, "timestamp": 1684152275543, "version": 2, "chainId": 84, "sender": "3MwJL2DqwKdgVQ2Aw5ov1rTEmGTKEkK1wET", "senderPublicKey": "ACNdxdXUS5uLiYS4LMdrApJBVCQj8FDMHEknQkNYCUaK", "proofs": [ "2MA3swT7TZ8hPhnCyr3RH6k9reWueMMZ4iAFq1k7PQSu3kB9JAQyJzKrqG9FbMebmCmFgGbvEeDDstzW9xHLaXUT" ], "script": "base64:BgIPCAISABIDCgEBEgQKAgEIAAMBaQEHZGVwb3NpdAAEB3BheW1lbnQJAQV2YWx1ZQEIBQFpCHBheW1lbnRzAwMJAGYCCQCQAwEFB3BheW1lbnQAAQYJAQlpc0RlZmluZWQBCAkAkQMCBQdwYXltZW50AAAHYXNzZXRJZAkAAgECKFlvdSBjYW4gb25seSBvbmUgV0FWRVMgZGVwb3NpdCBhdCBhIHRpbWUECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQNY3VycmVudEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQpjdXJyZW50S2V5AAAECW5ld0Ftb3VudAkAZAIFDWN1cnJlbnRBbW91bnQICQCRAwIFB3BheW1lbnQAAAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAUDbmlsAWkBCHdpdGhkcmF3AQZhbW91bnQECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQNY3VycmVudEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQpjdXJyZW50S2V5AAAECW5ld0Ftb3VudAkAZQIFDWN1cnJlbnRBbW91bnQFBmFtb3VudAMJAGYCAAAFBmFtb3VudAkAAgECH0Nhbm5vdCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgAABQluZXdBbW91bnQJAAIBAhJOb3QgZW5vdWdoIGJhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUEdW5pdAUDbmlsAWkBCmRlcDVTd2F2ZXMCBmFtb3VudA1hZGRyZXNzU3dhdmVzBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMECmludm9jYXRpb24JAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUNYWRkcmVzc1N3YXZlcwIHZGVwb3NpdAUDbmlsBQNuaWwDCQAAAgUKaW52b2NhdGlvbgUKaW52b2NhdGlvbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUKY3VycmVudEtleQUGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleXkAMA4=", "height": 2579050, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5tSfbMrsH5hysiKtzMsiTMn1pCZBgAEFQM6G2Gpvxz84 Next: GC1kMXxuKvNobgfbkCBdGt5gEJBUDtTAbzDztN4V3Vao Diff:
Old | New | Differences | |
---|---|---|---|
35 | 35 | ||
36 | 36 | ||
37 | 37 | @Callable(i) | |
38 | - | func | |
38 | + | func dep5Swaves (amount,addressSwaves) = { | |
39 | 39 | let currentKey = toBase58String(i.caller.bytes) | |
40 | - | [ScriptTransfer(addressFromStringValue(addressSwaves), amount, unit), IntegerEntry(currentKey, amount)] | |
40 | + | let invocation = invoke(addressFromStringValue(addressSwaves), "deposit", nil, nil) | |
41 | + | if ((invocation == invocation)) | |
42 | + | then [IntegerEntry(currentKey, amount)] | |
43 | + | else throw("Strict value is not equal to itself.") | |
41 | 44 | } | |
42 | 45 | ||
43 | 46 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | 7 | func deposit () = { | |
8 | 8 | let payment = value(i.payments) | |
9 | 9 | if (if ((size(payment) > 1)) | |
10 | 10 | then true | |
11 | 11 | else isDefined(payment[0].assetId)) | |
12 | 12 | then throw("You can only one WAVES deposit at a time") | |
13 | 13 | else { | |
14 | 14 | let currentKey = toBase58String(i.caller.bytes) | |
15 | 15 | let currentAmount = valueOrElse(getInteger(this, currentKey), 0) | |
16 | 16 | let newAmount = (currentAmount + payment[0].amount) | |
17 | 17 | [IntegerEntry(currentKey, newAmount)] | |
18 | 18 | } | |
19 | 19 | } | |
20 | 20 | ||
21 | 21 | ||
22 | 22 | ||
23 | 23 | @Callable(i) | |
24 | 24 | func withdraw (amount) = { | |
25 | 25 | let currentKey = toBase58String(i.caller.bytes) | |
26 | 26 | let currentAmount = valueOrElse(getInteger(this, currentKey), 0) | |
27 | 27 | let newAmount = (currentAmount - amount) | |
28 | 28 | if ((0 > amount)) | |
29 | 29 | then throw("Cannot withdraw negative amount") | |
30 | 30 | else if ((0 > newAmount)) | |
31 | 31 | then throw("Not enough balance") | |
32 | 32 | else [IntegerEntry(currentKey, newAmount), ScriptTransfer(i.caller, amount, unit)] | |
33 | 33 | } | |
34 | 34 | ||
35 | 35 | ||
36 | 36 | ||
37 | 37 | @Callable(i) | |
38 | - | func | |
38 | + | func dep5Swaves (amount,addressSwaves) = { | |
39 | 39 | let currentKey = toBase58String(i.caller.bytes) | |
40 | - | [ScriptTransfer(addressFromStringValue(addressSwaves), amount, unit), IntegerEntry(currentKey, amount)] | |
40 | + | let invocation = invoke(addressFromStringValue(addressSwaves), "deposit", nil, nil) | |
41 | + | if ((invocation == invocation)) | |
42 | + | then [IntegerEntry(currentKey, amount)] | |
43 | + | else throw("Strict value is not equal to itself.") | |
41 | 44 | } | |
42 | 45 | ||
43 | 46 | ||
44 | 47 | @Verifier(tx) | |
45 | 48 | func verify () = match tx { | |
46 | 49 | case _ => | |
47 | 50 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
48 | 51 | } | |
49 | 52 |
github/deemru/w8io/026f985 25.67 ms ◑