tx · 7L37sgWXrz7Jb4YcGFiB7oYBMS2MCPNub3bWsJUdAyHL 3NBaYzWT2odsyrZ2u1ghsrHinBm4xFRAgLX: -0.01400000 Waves 2020.09.16 16:44 [1179910] smart account 3NBaYzWT2odsyrZ2u1ghsrHinBm4xFRAgLX > SELF 0.00000000 Waves
{ "type": 13, "id": "7L37sgWXrz7Jb4YcGFiB7oYBMS2MCPNub3bWsJUdAyHL", "fee": 1400000, "feeAssetId": null, "timestamp": 1600263829454, "version": 2, "chainId": 84, "sender": "3NBaYzWT2odsyrZ2u1ghsrHinBm4xFRAgLX", "senderPublicKey": "HBqhfdFASRQ5eBBpu2y6c6KKi1az6bMx8v1JxX4iW1Q8", "proofs": [ "55VPcGfF1tSKZUiTv1XmARpau5QS8brrz3JVBofn9eies51bRYAedpcQUeZZp6wCLpLevZrWMNXVzbxGy4bhESzC" ], "script": "base64:AgQAAAALYWxpY2VQdWJLZXkBAAAAID3+K0HJI42oXrHhtHFpHijU5PC4nn1fIFVsJp5UWrYABAAAAAlib2JQdWJLZXkBAAAAIBO1uieokBahePoeVqt4/usbhaXRq+i5EvtfsdBILNtuBAAAAAxjb29wZXJQdWJLZXkBAAAAIOfM/qkwkfi4pdngdn18n5yxNwCrBOBC3ihWaFg4gV4yBAAAAAthbGljZVNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAthbGljZVB1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAAJYm9iU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAACWJvYlB1YktleQAAAAAAAAAAAQAAAAAAAAAAAAQAAAAMY29vcGVyU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAADGNvb3BlclB1YktleQAAAAAAAAAAAQAAAAAAAAAAAAkAAGcAAAACCQAAZAAAAAIJAABkAAAAAgUAAAALYWxpY2VTaWduZWQFAAAACWJvYlNpZ25lZAUAAAAMY29vcGVyU2lnbmVkAAAAAAAAAAACqFBMLg==", "height": 1179910, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BrVxb3MT9ApEVBfzpwqPGGAskoorr6v8EHqFGMbcjQuX Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION 3 #-} | |
2 | - | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | - | {-# CONTENT_TYPE DAPP #-} | |
4 | - | ||
5 | - | ||
6 | - | @Callable(i) | |
7 | - | func retransmit (address,amount,data,really) = { | |
8 | - | let pay = extract(i.payment) | |
9 | - | let to = addressFromStringValue(address) | |
10 | - | let check = sha256(toBytes(address)) | |
11 | - | if (!(really)) | |
12 | - | then throw("really = false") | |
13 | - | else if ((data != check)) | |
14 | - | then throw((((((toBase58String(data) + " != ") + toBase58String(check)) + "(") + address) + ")")) | |
15 | - | else if (if ((amount > pay.amount)) | |
16 | - | then !(isDefined(pay.assetId)) | |
17 | - | else false) | |
18 | - | then throw((((((toBase58String(data) + " != ") + toBase58String(check)) + "(") + address) + ")")) | |
19 | - | else TransferSet([ScriptTransfer(to, amount, unit)]) | |
20 | - | } | |
21 | - | ||
22 | - | ||
23 | - | @Verifier(tx) | |
24 | - | func verify () = if (!(sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))) | |
25 | - | then throw(toBase16String(tx.bodyBytes)) | |
26 | - | else true | |
27 | - | ||
1 | + | {-# STDLIB_VERSION 2 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let alicePubKey = base58'5AzfA9UfpWVYiwFwvdr77k6LWupSTGLb14b24oVdEpMM' | |
4 | + | let bobPubKey = base58'2KwU4vzdgPmKyf7q354H9kSyX9NZjNiq4qbnH2wi2VDF' | |
5 | + | let cooperPubKey = base58'GbrUeGaBfmyFJjSQb9Z8uTCej5GzjXfRDVGJGrmgt5cD' | |
6 | + | let aliceSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], alicePubKey)) | |
7 | + | then 1 | |
8 | + | else 0 | |
9 | + | let bobSigned = if (sigVerify(tx.bodyBytes, tx.proofs[1], bobPubKey)) | |
10 | + | then 1 | |
11 | + | else 0 | |
12 | + | let cooperSigned = if (sigVerify(tx.bodyBytes, tx.proofs[2], cooperPubKey)) | |
13 | + | then 1 | |
14 | + | else 0 | |
15 | + | (((aliceSigned + bobSigned) + cooperSigned) >= 2) |
github/deemru/w8io/169f3d6 46.98 ms ◑