tx · DgNaVtLDqAA6HUp3yo17pofggkDJuZErv4WekbvrZdn3 3P7ok1T2xn87ea5xjxBPFZPNeShgSqHeaHg: -0.01400000 Waves 2019.11.26 13:37 [1812476] smart account 3P7ok1T2xn87ea5xjxBPFZPNeShgSqHeaHg > SELF 0.00000000 Waves
{ "type": 13, "id": "DgNaVtLDqAA6HUp3yo17pofggkDJuZErv4WekbvrZdn3", "fee": 1400000, "feeAssetId": null, "timestamp": 1574764701099, "version": 1, "sender": "3P7ok1T2xn87ea5xjxBPFZPNeShgSqHeaHg", "senderPublicKey": "5KD6eu1HF3Fnzdr5L6ebB4u1fQEDtLwtpvTGJfKgQc4h", "proofs": [ "2yyMLsQucDeXWYKdaevdSPJZrZJLbAsFA6YTrrSWh4LuZrrHakoeFCQc3t4REWtfddgtrv9AnhQkmThbiPqoj5ek", "5j8FA3eNGUebVopjR2V7Gxo7HFrEDbAyUMtpUQpgYr33GARke9PXhsQh11m1MhL5jsVSzZkre6JRJZ7f6LNt4E6H" ], "script": "base64:AwQAAAAHVkVSU0lPTgIAAAAKMjAxOS0xMS0yNgQAAAANcGF5b3V0QWRkcmVzcwIAAAAjM1A4dXhOQ01SV2pqMkRVV0FYYVJYRjRRNHRoWDlqUXhYY3MEAAAADXJlZGVlbUFkZHJlc3MCAAAAIzNQQWtOeWZIQjVOVjlqWGlvWjFERzNteW5oVVp5VXpIV01MBAAAAAtsb2NrRXhwaXJlZAkAAGcAAAACCQEAAAAFdmFsdWUAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAGgAAAACAAAAAABf7mYAAAAAAAAAAAPoBAAAAAxwcmljZUFzc2V0SWQJAQAAAARVbml0AAAAAAQAAAANYW1vdW50QXNzZXRJZAEAAAAgmvy+x0ZHsck7E8823TIHki7pxNOx2eBJfykr4rfMS3wEAAAADG1hdGNoZXJGZWVJZAkBAAAABFVuaXQAAAAABAAAAA1wYXlvdXRBc3NldElkAQAAACBs+mr/xe2qjAt/tSqT0qIML4KC23R6BIxT+/0TH3Og/wQAAAAMdHJhZGVyUHViS2V5CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAADW1hbmFnZXJQdWJLZXkBAAAAIBnX7i1sYKl8WcDjYXgbLv4UrGfHfa1vdAxYAmKF0916BAAAAA9pbnZlc3RvclB1YktleXMJAARMAAAAAgEAAAAgS53y+AOIQ8/pLBo7EKwjM2ko7Q297rl6htzyzkY7ljsFAAAAA25pbAoBAAAAC2lzRmlhdEFzc2V0AAAAAQAAAAdhc3NldElkAwMJAAAAAAAAAgUAAAAHYXNzZXRJZAEAAAAg7BZhBF97kSFBBjs38+fX1Pjz08YOqoCX85C/0PoVupkGCQAAAAAAAAIFAAAAB2Fzc2V0SWQBAAAAIN0cvQHwz3UFMHgHsqi2OJjRRd1cH7ozWuNAb/pmWXD9BgkAAAAAAAACBQAAAAdhc3NldElkAQAAACAaQz74inwvylJIJbspZ7LhvvGKusbkN6SftK5BXwBvewoBAAAAC2NoZWNrUHJvb2ZzAAAAAgAAAANjbnQAAAADc2lnCgEAAAAIaXNTaWduZWQAAAACAAAAA2NoawAAAANwdWIDBQAAAANjaGsGCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMFAAAAA3NpZwUAAAADcHViCQAAZAAAAAIFAAAAA2NudAMEAAAADSRsaXN0MTg1MjE4OTQFAAAAD2ludmVzdG9yUHViS2V5cwQAAAANJHNpemUxODUyMTg5NAkAAZAAAAABBQAAAA0kbGlzdDE4NTIxODk0BAAAAA0kYWNjMDE4NTIxODk0BwMJAAAAAAAAAgUAAAANJHNpemUxODUyMTg5NAAAAAAAAAAAAAUAAAANJGFjYzAxODUyMTg5NAQAAAANJGFjYzExODUyMTg5NAkBAAAACGlzU2lnbmVkAAAAAgUAAAANJGFjYzAxODUyMTg5NAkAAZEAAAACBQAAAA0kbGlzdDE4NTIxODk0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTE4NTIxODk0AAAAAAAAAAABBQAAAA0kYWNjMTE4NTIxODk0BAAAAA0kYWNjMjE4NTIxODk0CQEAAAAIaXNTaWduZWQAAAACBQAAAA0kYWNjMTE4NTIxODk0CQABkQAAAAIFAAAADSRsaXN0MTg1MjE4OTQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplMTg1MjE4OTQAAAAAAAAAAAIFAAAADSRhY2MyMTg1MjE4OTQEAAAADSRhY2MzMTg1MjE4OTQJAQAAAAhpc1NpZ25lZAAAAAIFAAAADSRhY2MyMTg1MjE4OTQJAAGRAAAAAgUAAAANJGxpc3QxODUyMTg5NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUxODUyMTg5NAAAAAAAAAAAAwUAAAANJGFjYzMxODUyMTg5NAQAAAANJGFjYzQxODUyMTg5NAkBAAAACGlzU2lnbmVkAAAAAgUAAAANJGFjYzMxODUyMTg5NAkAAZEAAAACBQAAAA0kbGlzdDE4NTIxODk0AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTE4NTIxODk0AAAAAAAAAAAEBQAAAA0kYWNjNDE4NTIxODk0BAAAAA0kYWNjNTE4NTIxODk0CQEAAAAIaXNTaWduZWQAAAACBQAAAA0kYWNjNDE4NTIxODk0CQABkQAAAAIFAAAADSRsaXN0MTg1MjE4OTQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMTg1MjE4OTQAAAAAAAAAAAUFAAAADSRhY2M1MTg1MjE4OTQEAAAADSRhY2M2MTg1MjE4OTQJAQAAAAhpc1NpZ25lZAAAAAIFAAAADSRhY2M1MTg1MjE4OTQJAAGRAAAAAgUAAAANJGxpc3QxODUyMTg5NAAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUxODUyMTg5NAAAAAAAAAAABgUAAAANJGFjYzYxODUyMTg5NAQAAAANJGFjYzcxODUyMTg5NAkBAAAACGlzU2lnbmVkAAAAAgUAAAANJGFjYzYxODUyMTg5NAkAAZEAAAACBQAAAA0kbGlzdDE4NTIxODk0AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTE4NTIxODk0AAAAAAAAAAAHBQAAAA0kYWNjNzE4NTIxODk0BAAAAA0kYWNjODE4NTIxODk0CQEAAAAIaXNTaWduZWQAAAACBQAAAA0kYWNjNzE4NTIxODk0CQABkQAAAAIFAAAADSRsaXN0MTg1MjE4OTQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMTg1MjE4OTQAAAAAAAAAAAgFAAAADSRhY2M4MTg1MjE4OTQEAAAADSRhY2M5MTg1MjE4OTQJAQAAAAhpc1NpZ25lZAAAAAIFAAAADSRhY2M4MTg1MjE4OTQJAAGRAAAAAgUAAAANJGxpc3QxODUyMTg5NAAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUxODUyMTg5NAAAAAAAAAAACQUAAAANJGFjYzkxODUyMTg5NAQAAAAOJGFjYzEwMTg1MjE4OTQJAQAAAAhpc1NpZ25lZAAAAAIFAAAADSRhY2M5MTg1MjE4OTQJAAGRAAAAAgUAAAANJGxpc3QxODUyMTg5NAAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemUxODUyMTg5NAAAAAAAAAAACgUAAAAOJGFjYzEwMTg1MjE4OTQEAAAADiRhY2MxMTE4NTIxODk0CQEAAAAIaXNTaWduZWQAAAACBQAAAA4kYWNjMTAxODUyMTg5NAkAAZEAAAACBQAAAA0kbGlzdDE4NTIxODk0AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAAAAAAAAAAAAEAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVPcmRlcgQAAAABbwUAAAAHJG1hdGNoMAQAAAAKcmlnaHRPcmRlcgMDAwkAAAAAAAACCAUAAAABbwAAABFtYXRjaGVyRmVlQXNzZXRJZAUAAAAMbWF0Y2hlckZlZUlkCQAAAAAAAAIICAUAAAABbwAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAUAAAAMcHJpY2VBc3NldElkBwkAAAAAAAACCAgFAAAAAW8AAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0BQAAAA1hbW91bnRBc3NldElkBwYDAwMJAAAAAAAAAggFAAAAAW8AAAAJb3JkZXJUeXBlBQAAAARTZWxsCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAABbwAAABFtYXRjaGVyRmVlQXNzZXRJZAcDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAgFAAAAAW8AAAAJYXNzZXRQYWlyAAAACnByaWNlQXNzZXQGCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAgFAAAAAW8AAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0BwkBAAAAASEAAAABCQEAAAALaXNGaWF0QXNzZXQAAAABCAgFAAAAAW8AAAAJYXNzZXRQYWlyAAAACnByaWNlQXNzZXQHAwUAAAAKcmlnaHRPcmRlcgkAAfQAAAADCAUAAAABbwAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAW8AAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAx0cmFkZXJQdWJLZXkHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9CdXJuVHJhbnNhY3Rpb24EAAAAAWIFAAAAByRtYXRjaDAEAAAACXJpZ2h0QnVybgMDCQEAAAACIT0AAAACCAUAAAABYgAAAAdhc3NldElkBQAAAA1wYXlvdXRBc3NldElkCQEAAAACIT0AAAACCAUAAAABYgAAAAdhc3NldElkAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAADHByaWNlQXNzZXRJZAUAAAAMcHJpY2VBc3NldElkAQAAAAAHCQEAAAACIT0AAAACCAUAAAABYgAAAAdhc3NldElkAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAADWFtb3VudEFzc2V0SWQFAAAADWFtb3VudEFzc2V0SWQBAAAAAAcDBQAAAAlyaWdodEJ1cm4JAAH0AAAAAwgFAAAAAWIAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAFiAAAABnByb29mcwAAAAAAAAAAAAUAAAAMdHJhZGVyUHViS2V5BwMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFkxlYXNlQ2FuY2VsVHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAEExlYXNlVHJhbnNhY3Rpb24EAAAAAWwFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAWwAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAFsAAAABnByb29mcwAAAAAAAAAAAAUAAAAMdHJhZGVyUHViS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBAAAAA1yaWdodFRyYW5zZmVyAwMJAAAAAAAAAggFAAAAAXQAAAAHYXNzZXRJZAUAAAANcGF5b3V0QXNzZXRJZAkAAAAAAAACCQAEJAAAAAEIBQAAAAF0AAAACXJlY2lwaWVudAkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQUAAAANcGF5b3V0QWRkcmVzcwcGAwMJAAAAAAAAAggFAAAAAXQAAAAHYXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBgkAAAAAAAACCAUAAAABdAAAAAdhc3NldElkBQAAAA1hbW91bnRBc3NldElkCQAAAAAAAAIJAAQkAAAAAQgFAAAAAXQAAAAJcmVjaXBpZW50CQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABBQAAAA1yZWRlZW1BZGRyZXNzBwMFAAAADXJpZ2h0VHJhbnNmZXIDCQAB9AAAAAMIBQAAAAF0AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABdAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAADW1hbmFnZXJQdWJLZXkGBQAAAAtsb2NrRXhwaXJlZAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFzBQAAAAckbWF0Y2gwBAAAAA5yaWdodFNldFNjcmlwdAkAAGYAAAACBAAAAA0kbGlzdDM0OTgzNTMyCAUAAAABcwAAAAZwcm9vZnMEAAAADSRzaXplMzQ5ODM1MzIJAAGQAAAAAQUAAAANJGxpc3QzNDk4MzUzMgQAAAANJGFjYzAzNDk4MzUzMgAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUzNDk4MzUzMgAAAAAAAAAAAAUAAAANJGFjYzAzNDk4MzUzMgQAAAANJGFjYzEzNDk4MzUzMgkBAAAAC2NoZWNrUHJvb2ZzAAAAAgUAAAANJGFjYzAzNDk4MzUzMgkAAZEAAAACBQAAAA0kbGlzdDM0OTgzNTMyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTM0OTgzNTMyAAAAAAAAAAABBQAAAA0kYWNjMTM0OTgzNTMyBAAAAA0kYWNjMjM0OTgzNTMyCQEAAAALY2hlY2tQcm9vZnMAAAACBQAAAA0kYWNjMTM0OTgzNTMyCQABkQAAAAIFAAAADSRsaXN0MzQ5ODM1MzIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplMzQ5ODM1MzIAAAAAAAAAAAIFAAAADSRhY2MyMzQ5ODM1MzIEAAAADSRhY2MzMzQ5ODM1MzIJAQAAAAtjaGVja1Byb29mcwAAAAIFAAAADSRhY2MyMzQ5ODM1MzIJAAGRAAAAAgUAAAANJGxpc3QzNDk4MzUzMgAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUzNDk4MzUzMgAAAAAAAAAAAwUAAAANJGFjYzMzNDk4MzUzMgQAAAANJGFjYzQzNDk4MzUzMgkBAAAAC2NoZWNrUHJvb2ZzAAAAAgUAAAANJGFjYzMzNDk4MzUzMgkAAZEAAAACBQAAAA0kbGlzdDM0OTgzNTMyAAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTM0OTgzNTMyAAAAAAAAAAAEBQAAAA0kYWNjNDM0OTgzNTMyBAAAAA0kYWNjNTM0OTgzNTMyCQEAAAALY2hlY2tQcm9vZnMAAAACBQAAAA0kYWNjNDM0OTgzNTMyCQABkQAAAAIFAAAADSRsaXN0MzQ5ODM1MzIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMzQ5ODM1MzIAAAAAAAAAAAUFAAAADSRhY2M1MzQ5ODM1MzIEAAAADSRhY2M2MzQ5ODM1MzIJAQAAAAtjaGVja1Byb29mcwAAAAIFAAAADSRhY2M1MzQ5ODM1MzIJAAGRAAAAAgUAAAANJGxpc3QzNDk4MzUzMgAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUzNDk4MzUzMgAAAAAAAAAABgUAAAANJGFjYzYzNDk4MzUzMgQAAAANJGFjYzczNDk4MzUzMgkBAAAAC2NoZWNrUHJvb2ZzAAAAAgUAAAANJGFjYzYzNDk4MzUzMgkAAZEAAAACBQAAAA0kbGlzdDM0OTgzNTMyAAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTM0OTgzNTMyAAAAAAAAAAAHBQAAAA0kYWNjNzM0OTgzNTMyBAAAAA0kYWNjODM0OTgzNTMyCQEAAAALY2hlY2tQcm9vZnMAAAACBQAAAA0kYWNjNzM0OTgzNTMyCQABkQAAAAIFAAAADSRsaXN0MzQ5ODM1MzIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMzQ5ODM1MzIAAAAAAAAAAAgFAAAADSRhY2M4MzQ5ODM1MzIEAAAADSRhY2M5MzQ5ODM1MzIJAQAAAAtjaGVja1Byb29mcwAAAAIFAAAADSRhY2M4MzQ5ODM1MzIJAAGRAAAAAgUAAAANJGxpc3QzNDk4MzUzMgAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUzNDk4MzUzMgAAAAAAAAAACQUAAAANJGFjYzkzNDk4MzUzMgQAAAAOJGFjYzEwMzQ5ODM1MzIJAQAAAAtjaGVja1Byb29mcwAAAAIFAAAADSRhY2M5MzQ5ODM1MzIJAAGRAAAAAgUAAAANJGxpc3QzNDk4MzUzMgAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemUzNDk4MzUzMgAAAAAAAAAACgUAAAAOJGFjYzEwMzQ5ODM1MzIEAAAADiRhY2MxMTM0OTgzNTMyCQEAAAALY2hlY2tQcm9vZnMAAAACBQAAAA4kYWNjMTAzNDk4MzUzMgkAAZEAAAACBQAAAA0kbGlzdDM0OTgzNTMyAAAAAAAAAAAKAwkAAAAAAAACBQAAAA0kc2l6ZTM0OTgzNTMyAAAAAAAAAAALBQAAAA4kYWNjMTEzNDk4MzUzMgQAAAAOJGFjYzEyMzQ5ODM1MzIJAQAAAAtjaGVja1Byb29mcwAAAAIFAAAADiRhY2MxMTM0OTgzNTMyCQABkQAAAAIFAAAADSRsaXN0MzQ5ODM1MzIAAAAAAAAAAAsJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMQkAAGkAAAACCQABkAAAAAEFAAAAD2ludmVzdG9yUHViS2V5cwAAAAAAAAAAAgMFAAAADnJpZ2h0U2V0U2NyaXB0CQAB9AAAAAMIBQAAAAFzAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABcwAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAFzAAAAD3NlbmRlclB1YmxpY0tleQcHfegqdQ==", "chainId": 87, "height": 1812476, "spentComplexity": 0 } View: original | compacted Prev: 8c5ffpasvHjtLMi53ZNNJfywzkVyNwnbj6wh6PJwkrmw Next: Gz589gBrtuumsFDBy5kYHNnPZEXWuoc9qfbp3tASUY4E Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let payoutAlias = Alias("pirate-btc-payout") | |
4 | - | let redeemAlias = Alias("pirate-gold-redeem") | |
5 | - | let scriptExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
3 | + | let VERSION = "2019-11-26" | |
4 | + | let payoutAddress = "3P8uxNCMRWjj2DUWAXaRXF4Q4thX9jQxXcs" | |
5 | + | let redeemAddress = "3PAkNyfHB5NV9jXioZ1DG3mynhUZyUzHWML" | |
6 | + | let lockExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
6 | 7 | let priceAssetId = Unit() | |
7 | 8 | let amountAssetId = base58'BS1KFNR8zrXKBEWdUUvpaP6G57Hic3aESkwK7qQKdLpB' | |
8 | 9 | let matcherFeeId = Unit() | |
22 | 23 | else sigVerify(tx.bodyBytes, sig, pub) | |
23 | 24 | ||
24 | 25 | (cnt + (if ({ | |
25 | - | let $ | |
26 | - | let $ | |
27 | - | let $ | |
28 | - | if (($ | |
29 | - | then $ | |
26 | + | let $list18521894 = investorPubKeys | |
27 | + | let $size18521894 = size($list18521894) | |
28 | + | let $acc018521894 = false | |
29 | + | if (($size18521894 == 0)) | |
30 | + | then $acc018521894 | |
30 | 31 | else { | |
31 | - | let $ | |
32 | - | if (($ | |
33 | - | then $ | |
32 | + | let $acc118521894 = isSigned($acc018521894, $list18521894[0]) | |
33 | + | if (($size18521894 == 1)) | |
34 | + | then $acc118521894 | |
34 | 35 | else { | |
35 | - | let $ | |
36 | - | if (($ | |
37 | - | then $ | |
36 | + | let $acc218521894 = isSigned($acc118521894, $list18521894[1]) | |
37 | + | if (($size18521894 == 2)) | |
38 | + | then $acc218521894 | |
38 | 39 | else { | |
39 | - | let $ | |
40 | - | if (($ | |
41 | - | then $ | |
40 | + | let $acc318521894 = isSigned($acc218521894, $list18521894[2]) | |
41 | + | if (($size18521894 == 3)) | |
42 | + | then $acc318521894 | |
42 | 43 | else { | |
43 | - | let $ | |
44 | - | if (($ | |
45 | - | then $ | |
44 | + | let $acc418521894 = isSigned($acc318521894, $list18521894[3]) | |
45 | + | if (($size18521894 == 4)) | |
46 | + | then $acc418521894 | |
46 | 47 | else { | |
47 | - | let $ | |
48 | - | if (($ | |
49 | - | then $ | |
48 | + | let $acc518521894 = isSigned($acc418521894, $list18521894[4]) | |
49 | + | if (($size18521894 == 5)) | |
50 | + | then $acc518521894 | |
50 | 51 | else { | |
51 | - | let $ | |
52 | - | if (($ | |
53 | - | then $ | |
52 | + | let $acc618521894 = isSigned($acc518521894, $list18521894[5]) | |
53 | + | if (($size18521894 == 6)) | |
54 | + | then $acc618521894 | |
54 | 55 | else { | |
55 | - | let $ | |
56 | - | if (($ | |
57 | - | then $ | |
56 | + | let $acc718521894 = isSigned($acc618521894, $list18521894[6]) | |
57 | + | if (($size18521894 == 7)) | |
58 | + | then $acc718521894 | |
58 | 59 | else { | |
59 | - | let $ | |
60 | - | if (($ | |
61 | - | then $ | |
60 | + | let $acc818521894 = isSigned($acc718521894, $list18521894[7]) | |
61 | + | if (($size18521894 == 8)) | |
62 | + | then $acc818521894 | |
62 | 63 | else { | |
63 | - | let $ | |
64 | - | if (($ | |
65 | - | then $ | |
64 | + | let $acc918521894 = isSigned($acc818521894, $list18521894[8]) | |
65 | + | if (($size18521894 == 9)) | |
66 | + | then $acc918521894 | |
66 | 67 | else { | |
67 | - | let $ | |
68 | - | if (($ | |
69 | - | then $ | |
68 | + | let $acc1018521894 = isSigned($acc918521894, $list18521894[9]) | |
69 | + | if (($size18521894 == 10)) | |
70 | + | then $acc1018521894 | |
70 | 71 | else { | |
71 | - | let $ | |
72 | + | let $acc1118521894 = isSigned($acc1018521894, $list18521894[10]) | |
72 | 73 | throw("List size exceed 10") | |
73 | 74 | } | |
74 | 75 | } | |
122 | 123 | case l: LeaseCancelTransaction|LeaseTransaction => | |
123 | 124 | sigVerify(l.bodyBytes, l.proofs[0], traderPubKey) | |
124 | 125 | case t: TransferTransaction => | |
125 | - | let rightTransfer = if (if ((t. | |
126 | - | then (t. | |
126 | + | let rightTransfer = if (if ((t.assetId == payoutAssetId)) | |
127 | + | then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress)) | |
127 | 128 | else false) | |
128 | 129 | then true | |
129 | - | else if ((t. | |
130 | - | then | |
131 | - | | |
132 | - | | |
130 | + | else if (if ((t.assetId == priceAssetId)) | |
131 | + | then true | |
132 | + | else (t.assetId == amountAssetId)) | |
133 | + | then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress)) | |
133 | 134 | else false | |
134 | 135 | if (rightTransfer) | |
135 | 136 | then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey)) | |
136 | 137 | then true | |
137 | - | else | |
138 | + | else lockExpired | |
138 | 139 | else false | |
139 | 140 | case s: SetScriptTransaction => | |
140 | 141 | let rightSetScript = ({ | |
141 | - | let $ | |
142 | - | let $ | |
143 | - | let $ | |
144 | - | if (($ | |
145 | - | then $ | |
142 | + | let $list34983532 = s.proofs | |
143 | + | let $size34983532 = size($list34983532) | |
144 | + | let $acc034983532 = 0 | |
145 | + | if (($size34983532 == 0)) | |
146 | + | then $acc034983532 | |
146 | 147 | else { | |
147 | - | let $ | |
148 | - | if (($ | |
149 | - | then $ | |
148 | + | let $acc134983532 = checkProofs($acc034983532, $list34983532[0]) | |
149 | + | if (($size34983532 == 1)) | |
150 | + | then $acc134983532 | |
150 | 151 | else { | |
151 | - | let $ | |
152 | - | if (($ | |
153 | - | then $ | |
152 | + | let $acc234983532 = checkProofs($acc134983532, $list34983532[1]) | |
153 | + | if (($size34983532 == 2)) | |
154 | + | then $acc234983532 | |
154 | 155 | else { | |
155 | - | let $ | |
156 | - | if (($ | |
157 | - | then $ | |
156 | + | let $acc334983532 = checkProofs($acc234983532, $list34983532[2]) | |
157 | + | if (($size34983532 == 3)) | |
158 | + | then $acc334983532 | |
158 | 159 | else { | |
159 | - | let $ | |
160 | - | if (($ | |
161 | - | then $ | |
160 | + | let $acc434983532 = checkProofs($acc334983532, $list34983532[3]) | |
161 | + | if (($size34983532 == 4)) | |
162 | + | then $acc434983532 | |
162 | 163 | else { | |
163 | - | let $ | |
164 | - | if (($ | |
165 | - | then $ | |
164 | + | let $acc534983532 = checkProofs($acc434983532, $list34983532[4]) | |
165 | + | if (($size34983532 == 5)) | |
166 | + | then $acc534983532 | |
166 | 167 | else { | |
167 | - | let $ | |
168 | - | if (($ | |
169 | - | then $ | |
168 | + | let $acc634983532 = checkProofs($acc534983532, $list34983532[5]) | |
169 | + | if (($size34983532 == 6)) | |
170 | + | then $acc634983532 | |
170 | 171 | else { | |
171 | - | let $ | |
172 | - | if (($ | |
173 | - | then $ | |
172 | + | let $acc734983532 = checkProofs($acc634983532, $list34983532[6]) | |
173 | + | if (($size34983532 == 7)) | |
174 | + | then $acc734983532 | |
174 | 175 | else { | |
175 | - | let $ | |
176 | - | if (($ | |
177 | - | then $ | |
176 | + | let $acc834983532 = checkProofs($acc734983532, $list34983532[7]) | |
177 | + | if (($size34983532 == 8)) | |
178 | + | then $acc834983532 | |
178 | 179 | else { | |
179 | - | let $ | |
180 | - | if (($ | |
181 | - | then $ | |
180 | + | let $acc934983532 = checkProofs($acc834983532, $list34983532[8]) | |
181 | + | if (($size34983532 == 9)) | |
182 | + | then $acc934983532 | |
182 | 183 | else { | |
183 | - | let $ | |
184 | - | if (($ | |
185 | - | then $ | |
184 | + | let $acc1034983532 = checkProofs($acc934983532, $list34983532[9]) | |
185 | + | if (($size34983532 == 10)) | |
186 | + | then $acc1034983532 | |
186 | 187 | else { | |
187 | - | let $ | |
188 | - | if (($ | |
189 | - | then $ | |
188 | + | let $acc1134983532 = checkProofs($acc1034983532, $list34983532[10]) | |
189 | + | if (($size34983532 == 11)) | |
190 | + | then $acc1134983532 | |
190 | 191 | else { | |
191 | - | let $ | |
192 | + | let $acc1234983532 = checkProofs($acc1134983532, $list34983532[11]) | |
192 | 193 | throw("List size exceed 11") | |
193 | 194 | } | |
194 | 195 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let payoutAlias = Alias("pirate-btc-payout") | |
4 | - | let redeemAlias = Alias("pirate-gold-redeem") | |
5 | - | let scriptExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
3 | + | let VERSION = "2019-11-26" | |
4 | + | let payoutAddress = "3P8uxNCMRWjj2DUWAXaRXF4Q4thX9jQxXcs" | |
5 | + | let redeemAddress = "3PAkNyfHB5NV9jXioZ1DG3mynhUZyUzHWML" | |
6 | + | let lockExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
6 | 7 | let priceAssetId = Unit() | |
7 | 8 | let amountAssetId = base58'BS1KFNR8zrXKBEWdUUvpaP6G57Hic3aESkwK7qQKdLpB' | |
8 | 9 | let matcherFeeId = Unit() | |
9 | 10 | let payoutAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
10 | 11 | let traderPubKey = extract(tx.senderPublicKey) | |
11 | 12 | let managerPubKey = base58'2jtARCoafX5CBQ9jXV265Fng8t58hMmmdpWQdgMzk1z9' | |
12 | 13 | let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC'] | |
13 | 14 | func isFiatAsset (assetId) = if (if ((assetId == base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU')) | |
14 | 15 | then true | |
15 | 16 | else (assetId == base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck')) | |
16 | 17 | then true | |
17 | 18 | else (assetId == base58'2mX5DzVKWrAJw8iwdJnV2qtoeVG9h5nTDpTqC1wb1WEN') | |
18 | 19 | ||
19 | 20 | func checkProofs (cnt,sig) = { | |
20 | 21 | func isSigned (chk,pub) = if (chk) | |
21 | 22 | then true | |
22 | 23 | else sigVerify(tx.bodyBytes, sig, pub) | |
23 | 24 | ||
24 | 25 | (cnt + (if ({ | |
25 | - | let $ | |
26 | - | let $ | |
27 | - | let $ | |
28 | - | if (($ | |
29 | - | then $ | |
26 | + | let $list18521894 = investorPubKeys | |
27 | + | let $size18521894 = size($list18521894) | |
28 | + | let $acc018521894 = false | |
29 | + | if (($size18521894 == 0)) | |
30 | + | then $acc018521894 | |
30 | 31 | else { | |
31 | - | let $ | |
32 | - | if (($ | |
33 | - | then $ | |
32 | + | let $acc118521894 = isSigned($acc018521894, $list18521894[0]) | |
33 | + | if (($size18521894 == 1)) | |
34 | + | then $acc118521894 | |
34 | 35 | else { | |
35 | - | let $ | |
36 | - | if (($ | |
37 | - | then $ | |
36 | + | let $acc218521894 = isSigned($acc118521894, $list18521894[1]) | |
37 | + | if (($size18521894 == 2)) | |
38 | + | then $acc218521894 | |
38 | 39 | else { | |
39 | - | let $ | |
40 | - | if (($ | |
41 | - | then $ | |
40 | + | let $acc318521894 = isSigned($acc218521894, $list18521894[2]) | |
41 | + | if (($size18521894 == 3)) | |
42 | + | then $acc318521894 | |
42 | 43 | else { | |
43 | - | let $ | |
44 | - | if (($ | |
45 | - | then $ | |
44 | + | let $acc418521894 = isSigned($acc318521894, $list18521894[3]) | |
45 | + | if (($size18521894 == 4)) | |
46 | + | then $acc418521894 | |
46 | 47 | else { | |
47 | - | let $ | |
48 | - | if (($ | |
49 | - | then $ | |
48 | + | let $acc518521894 = isSigned($acc418521894, $list18521894[4]) | |
49 | + | if (($size18521894 == 5)) | |
50 | + | then $acc518521894 | |
50 | 51 | else { | |
51 | - | let $ | |
52 | - | if (($ | |
53 | - | then $ | |
52 | + | let $acc618521894 = isSigned($acc518521894, $list18521894[5]) | |
53 | + | if (($size18521894 == 6)) | |
54 | + | then $acc618521894 | |
54 | 55 | else { | |
55 | - | let $ | |
56 | - | if (($ | |
57 | - | then $ | |
56 | + | let $acc718521894 = isSigned($acc618521894, $list18521894[6]) | |
57 | + | if (($size18521894 == 7)) | |
58 | + | then $acc718521894 | |
58 | 59 | else { | |
59 | - | let $ | |
60 | - | if (($ | |
61 | - | then $ | |
60 | + | let $acc818521894 = isSigned($acc718521894, $list18521894[7]) | |
61 | + | if (($size18521894 == 8)) | |
62 | + | then $acc818521894 | |
62 | 63 | else { | |
63 | - | let $ | |
64 | - | if (($ | |
65 | - | then $ | |
64 | + | let $acc918521894 = isSigned($acc818521894, $list18521894[8]) | |
65 | + | if (($size18521894 == 9)) | |
66 | + | then $acc918521894 | |
66 | 67 | else { | |
67 | - | let $ | |
68 | - | if (($ | |
69 | - | then $ | |
68 | + | let $acc1018521894 = isSigned($acc918521894, $list18521894[9]) | |
69 | + | if (($size18521894 == 10)) | |
70 | + | then $acc1018521894 | |
70 | 71 | else { | |
71 | - | let $ | |
72 | + | let $acc1118521894 = isSigned($acc1018521894, $list18521894[10]) | |
72 | 73 | throw("List size exceed 10") | |
73 | 74 | } | |
74 | 75 | } | |
75 | 76 | } | |
76 | 77 | } | |
77 | 78 | } | |
78 | 79 | } | |
79 | 80 | } | |
80 | 81 | } | |
81 | 82 | } | |
82 | 83 | } | |
83 | 84 | } | |
84 | 85 | }) | |
85 | 86 | then 1 | |
86 | 87 | else 0)) | |
87 | 88 | } | |
88 | 89 | ||
89 | 90 | match tx { | |
90 | 91 | case o: Order => | |
91 | 92 | let rightOrder = if (if (if ((o.matcherFeeAssetId == matcherFeeId)) | |
92 | 93 | then (o.assetPair.priceAsset == priceAssetId) | |
93 | 94 | else false) | |
94 | 95 | then (o.assetPair.amountAsset == amountAssetId) | |
95 | 96 | else false) | |
96 | 97 | then true | |
97 | 98 | else if (if (if ((o.orderType == Sell)) | |
98 | 99 | then !(isDefined(o.matcherFeeAssetId)) | |
99 | 100 | else false) | |
100 | 101 | then if (!(isDefined(o.assetPair.priceAsset))) | |
101 | 102 | then true | |
102 | 103 | else !(isDefined(o.assetPair.amountAsset)) | |
103 | 104 | else false) | |
104 | 105 | then !(isFiatAsset(o.assetPair.priceAsset)) | |
105 | 106 | else false | |
106 | 107 | if (rightOrder) | |
107 | 108 | then sigVerify(o.bodyBytes, o.proofs[0], traderPubKey) | |
108 | 109 | else false | |
109 | 110 | case b: BurnTransaction => | |
110 | 111 | let rightBurn = if (if ((b.assetId != payoutAssetId)) | |
111 | 112 | then (b.assetId != if (isDefined(priceAssetId)) | |
112 | 113 | then priceAssetId | |
113 | 114 | else base58'') | |
114 | 115 | else false) | |
115 | 116 | then (b.assetId != if (isDefined(amountAssetId)) | |
116 | 117 | then amountAssetId | |
117 | 118 | else base58'') | |
118 | 119 | else false | |
119 | 120 | if (rightBurn) | |
120 | 121 | then sigVerify(b.bodyBytes, b.proofs[0], traderPubKey) | |
121 | 122 | else false | |
122 | 123 | case l: LeaseCancelTransaction|LeaseTransaction => | |
123 | 124 | sigVerify(l.bodyBytes, l.proofs[0], traderPubKey) | |
124 | 125 | case t: TransferTransaction => | |
125 | - | let rightTransfer = if (if ((t. | |
126 | - | then (t. | |
126 | + | let rightTransfer = if (if ((t.assetId == payoutAssetId)) | |
127 | + | then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress)) | |
127 | 128 | else false) | |
128 | 129 | then true | |
129 | - | else if ((t. | |
130 | - | then | |
131 | - | | |
132 | - | | |
130 | + | else if (if ((t.assetId == priceAssetId)) | |
131 | + | then true | |
132 | + | else (t.assetId == amountAssetId)) | |
133 | + | then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress)) | |
133 | 134 | else false | |
134 | 135 | if (rightTransfer) | |
135 | 136 | then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey)) | |
136 | 137 | then true | |
137 | - | else | |
138 | + | else lockExpired | |
138 | 139 | else false | |
139 | 140 | case s: SetScriptTransaction => | |
140 | 141 | let rightSetScript = ({ | |
141 | - | let $ | |
142 | - | let $ | |
143 | - | let $ | |
144 | - | if (($ | |
145 | - | then $ | |
142 | + | let $list34983532 = s.proofs | |
143 | + | let $size34983532 = size($list34983532) | |
144 | + | let $acc034983532 = 0 | |
145 | + | if (($size34983532 == 0)) | |
146 | + | then $acc034983532 | |
146 | 147 | else { | |
147 | - | let $ | |
148 | - | if (($ | |
149 | - | then $ | |
148 | + | let $acc134983532 = checkProofs($acc034983532, $list34983532[0]) | |
149 | + | if (($size34983532 == 1)) | |
150 | + | then $acc134983532 | |
150 | 151 | else { | |
151 | - | let $ | |
152 | - | if (($ | |
153 | - | then $ | |
152 | + | let $acc234983532 = checkProofs($acc134983532, $list34983532[1]) | |
153 | + | if (($size34983532 == 2)) | |
154 | + | then $acc234983532 | |
154 | 155 | else { | |
155 | - | let $ | |
156 | - | if (($ | |
157 | - | then $ | |
156 | + | let $acc334983532 = checkProofs($acc234983532, $list34983532[2]) | |
157 | + | if (($size34983532 == 3)) | |
158 | + | then $acc334983532 | |
158 | 159 | else { | |
159 | - | let $ | |
160 | - | if (($ | |
161 | - | then $ | |
160 | + | let $acc434983532 = checkProofs($acc334983532, $list34983532[3]) | |
161 | + | if (($size34983532 == 4)) | |
162 | + | then $acc434983532 | |
162 | 163 | else { | |
163 | - | let $ | |
164 | - | if (($ | |
165 | - | then $ | |
164 | + | let $acc534983532 = checkProofs($acc434983532, $list34983532[4]) | |
165 | + | if (($size34983532 == 5)) | |
166 | + | then $acc534983532 | |
166 | 167 | else { | |
167 | - | let $ | |
168 | - | if (($ | |
169 | - | then $ | |
168 | + | let $acc634983532 = checkProofs($acc534983532, $list34983532[5]) | |
169 | + | if (($size34983532 == 6)) | |
170 | + | then $acc634983532 | |
170 | 171 | else { | |
171 | - | let $ | |
172 | - | if (($ | |
173 | - | then $ | |
172 | + | let $acc734983532 = checkProofs($acc634983532, $list34983532[6]) | |
173 | + | if (($size34983532 == 7)) | |
174 | + | then $acc734983532 | |
174 | 175 | else { | |
175 | - | let $ | |
176 | - | if (($ | |
177 | - | then $ | |
176 | + | let $acc834983532 = checkProofs($acc734983532, $list34983532[7]) | |
177 | + | if (($size34983532 == 8)) | |
178 | + | then $acc834983532 | |
178 | 179 | else { | |
179 | - | let $ | |
180 | - | if (($ | |
181 | - | then $ | |
180 | + | let $acc934983532 = checkProofs($acc834983532, $list34983532[8]) | |
181 | + | if (($size34983532 == 9)) | |
182 | + | then $acc934983532 | |
182 | 183 | else { | |
183 | - | let $ | |
184 | - | if (($ | |
185 | - | then $ | |
184 | + | let $acc1034983532 = checkProofs($acc934983532, $list34983532[9]) | |
185 | + | if (($size34983532 == 10)) | |
186 | + | then $acc1034983532 | |
186 | 187 | else { | |
187 | - | let $ | |
188 | - | if (($ | |
189 | - | then $ | |
188 | + | let $acc1134983532 = checkProofs($acc1034983532, $list34983532[10]) | |
189 | + | if (($size34983532 == 11)) | |
190 | + | then $acc1134983532 | |
190 | 191 | else { | |
191 | - | let $ | |
192 | + | let $acc1234983532 = checkProofs($acc1134983532, $list34983532[11]) | |
192 | 193 | throw("List size exceed 11") | |
193 | 194 | } | |
194 | 195 | } | |
195 | 196 | } | |
196 | 197 | } | |
197 | 198 | } | |
198 | 199 | } | |
199 | 200 | } | |
200 | 201 | } | |
201 | 202 | } | |
202 | 203 | } | |
203 | 204 | } | |
204 | 205 | } | |
205 | 206 | } > (size(investorPubKeys) / 2)) | |
206 | 207 | if (rightSetScript) | |
207 | 208 | then sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) | |
208 | 209 | else false | |
209 | 210 | case _ => | |
210 | 211 | false | |
211 | 212 | } |
github/deemru/w8io/3ef1775 166.40 ms ◑