You are viewing a single comment's thread from:

RE: Test title

in #topic16 years ago

{
"id": "ssc-b8923f70-c1f7-497f-961j",
"json": {
"contractName": "contract",
"contractAction": "deploy",
"contractPayload": {
"name": "smmkt",
"code": "Y29uc3QgVE9LRU5TWU1CT0wgPSAnU01NS1QnOwphY3Rpb25zLmNyZWF0ZVNTQyA9IGZ1bmN0aW9uIChwYXlsb2FkKSB7CiAgZGIuY3JlYXRlVGFibGUoJ2JhbGFuY2VzJyk7CiAgbGV0IHJld2FyZHMgPSBkYi5jcmVhdGVUYWJsZSgncmV3YXJkcycpOwogIHJld2FyZHMuaW5zZXJ0KHsKICAgICdwZW5kaW5nUmV3YXJkcyc6IDAsCiAgICAncmV3YXJkc0Rpc3RyaWJ1dGlvbkludGVydmFsJzogMzAwMDAsCiAgICAnbGFzdEJsb2NrUmV3YXJkJzogcmVmU3RlZW1CbG9ja051bWJlciwKICAgICd0b2tlbklzc3VhbmNlUmF0ZSc6IDEsCiAgICAnbmV4dEhhbHZpbmcnOiA1MDAwMDAsCiAgICAnYmVuZWZpY2lhcmllcyc6IFsnc21tYXJrZXR0b2tlbiddCiAgfSkKfQoKYWN0aW9ucy51cGRhdGVSZXdhcmRzRGlzdHJpYnV0aW9uSW50ZXJ2YWwgPSBmdW5jdGlvbiAocGF5bG9hZCkgewogIGlmIChzZW5kZXIgIT09IG93bmVyKSByZXR1cm47CgogIGNvbnN0IHsgbmJCbG9ja3MgfSA9IHBheWxvYWQ7CgogIGlmIChOdW1iZXIuaXNJbnRlZ2VyKG5iQmxvY2tzKSkgewogICAgbGV0IHJld2FyZHMgPSBkYi5nZXRUYWJsZSgncmV3YXJkcycpOwogICAgbGV0IHJlYyA9IHJld2FyZHMuZmluZE9uZSh7fSk7CiAgICByZWMucmV3YXJkc0Rpc3RyaWJ1dGlvbkludGVydmFsID0gbmJCbG9ja3M7CiAgICByZXdhcmRzLnVwZGF0ZShyZWMpOwogIH0KfQoKYWN0aW9ucy51cGRhdGVCZW5lZmljaWFyaWVzID0gZnVuY3Rpb24gKHBheWxvYWQpIHsKICBpZiAoc2VuZGVyICE9PSBvd25lcikgcmV0dXJuOwoKICBjb25zdCB7IGJlbmVmaWNpYXJpZXMsIGlzU2lnbmVkV2l0aEFjdGl2ZUtleSB9ID0gcGF5bG9hZDsKCiAgaWYgKGlzU2lnbmVkV2l0aEFjdGl2ZUtleSA9PT0gdHJ1ZQogICAgJiYgQXJyYXkuaXNBcnJheShiZW5lZmljaWFyaWVzKSkgewogICAgaWYgKGJlbmVmaWNpYXJpZXMuaW5kZXhPZihvd25lcikgPT09IC0xKSB7CiAgICAgIGJlbmVmaWNpYXJpZXMucHVzaChvd25lcik7CiAgICB9CgogICAgbGV0IHJld2FyZHMgPSBkYi5nZXRUYWJsZSgncmV3YXJkcycpOwogICAgbGV0IHJlYyA9IHJld2FyZHMuZmluZE9uZSh7fSk7CiAgICByZWMuYmVuZWZpY2lhcmllcyA9IGJlbmVmaWNpYXJpZXM7CiAgICByZXdhcmRzLnVwZGF0ZShyZWMpOwogIH0KfQoKYWN0aW9ucy5pc3N1ZVRva2VucyA9IGZ1bmN0aW9uIChwYXlsb2FkKSB7CiAgaWYgKHNlbmRlciAhPT0gb3duZXIpIHJldHVybjsKCiAgY29uc3QgeyBiZW5lZmljaWFyaWVzLCBpc1NpZ25lZFdpdGhBY3RpdmVLZXkgfSA9IHBheWxvYWQ7CgogIGlmIChpc1NpZ25lZFdpdGhBY3RpdmVLZXkgPT09IHRydWUKICAgICYmIEFycmF5LmlzQXJyYXkoYmVuZWZpY2lhcmllcykpIHsKCiAgICBsZXQgcmV3YXJkcyA9IGRiLmdldFRhYmxlKCdyZXdhcmRzJyk7CiAgICBsZXQgcmVjID0gcmV3YXJkcy5maW5kT25lKHt9KTsKCiAgICBiZW5lZmljaWFyaWVzLmZvckVhY2goYmVuZWYgPT4gewogICAgICBleGVjdXRlU21hcnRDb250cmFjdCgndG9rZW4nLCAnaXNzdWUnLCAneyAic3ltYm9sIjogIicgKyBUT0tFTlNZTUJPTCArICciLCAidG8iOiAiJyArIGJlbmVmLmFjY3QgKyAnIiwgInF1YW50aXR5IjogJyArIGJlbmVmLnF0eSArICcsICJpc1NpZ25lZFdpdGhBY3RpdmVLZXkiOiB0cnVlIH0nKTsKCiAgICAgIHJlYy5iZW5lZmljaWFyaWVzLmZvckVhY2goYWNjdCA9PiB7CiAgICAgICAgZXhlY3V0ZVNtYXJ0Q29udHJhY3QoJ3Rva2VuJywgJ2lzc3VlJywgJ3sgInN5bWJvbCI6ICInICsgVE9LRU5TWU1CT0wgKyAnIiwgInRvIjogIicgKyBhY2N0ICsgJyIsICJxdWFudGl0eSI6ICcgKyBiZW5lZi5xdHkgKyAnLCAiaXNTaWduZWRXaXRoQWN0aXZlS2V5IjogdHJ1ZSB9Jyk7CiAgICAgIH0pCiAgICB9KQogIH0KfQoKYWN0aW9ucy5wcm9jZXNzUHVyY2hhc2UgPSBmdW5jdGlvbiAocGF5bG9hZCkgewogIGlmIChzZW5kZXIgIT09IG93bmVyKSByZXR1cm47CgogIGNvbnN0IHsgYWNjb3VudCwgcXVhbnRpdHksIGlzU2lnbmVkV2l0aEFjdGl2ZUtleSB9ID0gcGF5bG9hZDsKICBpZiAoaXNTaWduZWRXaXRoQWN0aXZlS2V5ID09PSB0cnVlKSB7CiAgICAvLyBnZXQgdGhlIGlzc3VhbmNlIHJhdGUKICAgIGNvbnN0IGlzc3VhbmNlUmF0ZSA9IGdldElzc3VhbmNlUmF0ZSgpOwoKICAgIC8vIGFkZCB0aGUgcXVhbnRpdHkgdG8gdGhlIHBlbmRpbmcgcmV3YXJkcwogICAgbGV0IHJld2FyZHMgPSBkYi5nZXRUYWJsZSgncmV3YXJkcycpOwogICAgbGV0IHJlYyA9IHJld2FyZHMuZmluZE9uZSh7fSk7CgogICAgLy8gaXNzdWUgU01NVCB0byB0aGUgYWNjb3VudAogICAgY29uc3QgdG9rZW5zVG9Jc3N1ZSA9IChxdWFudGl0eSAqIGlzc3VhbmNlUmF0ZSkudG9GaXhlZCgzKTsKICAgIGV4ZWN1dGVTbWFydENvbnRyYWN0KCd0b2tlbicsICdpc3N1ZScsICd7ICJzeW1ib2wiOiAiJyArIFRPS0VOU1lNQk9MICsgJyIsICJ0byI6ICInICsgYWNjb3VudCArICciLCAicXVhbnRpdHkiOiAnICsgdG9rZW5zVG9Jc3N1ZSArICcsICJpc1NpZ25lZFdpdGhBY3RpdmVLZXkiOiB0cnVlIH0nKTsKCiAgICByZWMuYmVuZWZpY2lhcmllcy5mb3JFYWNoKGFjY3QgPT4gewogICAgICBleGVjdXRlU21hcnRDb250cmFjdCgndG9rZW4nLCAnaXNzdWUnLCAneyAic3ltYm9sIjogIicgKyBUT0tFTlNZTUJPTCArICciLCAidG8iOiAiJyArIGFjY3QgKyAnIiwgInF1YW50aXR5IjogJyArIHRva2Vuc1RvSXNzdWUgKyAnLCAiaXNTaWduZWRXaXRoQWN0aXZlS2V5IjogdHJ1ZSB9Jyk7CiAgICB9KQoKICAgIGxldCBwZW5kaW5nUmV3YXJkcyA9IHJlYy5wZW5kaW5nUmV3YXJkcwogICAgcGVuZGluZ1Jld2FyZHMgPSBhZGQocGVuZGluZ1Jld2FyZHMsIHF1YW50aXR5KTsKICAgIHJlYy5wZW5kaW5nUmV3YXJkcyA9IHBlbmRpbmdSZXdhcmRzOwogICAgcmV3YXJkcy51cGRhdGUocmVjKTsKCiAgICAvLyBkaXN0cmlidXRlIHRoZSByZXdhcmRzIChpZiBpdCdzIHRpbWUgdG8gZG8gc28pCiAgICBpZiAocmVjLnBlbmRpbmdSZXdhcmRzID4gMAogICAgICAmJiAocmVmU3RlZW1CbG9ja051bWJlciAtIHJlYy5sYXN0QmxvY2tSZXdhcmQpID49IHJlYy5yZXdhcmRzRGlzdHJpYnV0aW9uSW50ZXJ2YWwpIHsKICAgICAgZGlzdHJpYnV0ZVJld2FyZHMoKTsKICAgIH0KICB9Cn0KCmFjdGlvbnMud2l0aGRyYXdSZXdhcmRzID0gZnVuY3Rpb24gKHBheWxvYWQpIHsKICBjb25zdCB7IHF1YW50aXR5LCBpc1NpZ25lZFdpdGhBY3RpdmVLZXkgfSA9IHBheWxvYWQ7CgogIGlmIChhc3NlcnQoaXNTaWduZWRXaXRoQWN0aXZlS2V5ID09PSB0cnVlLCAneW91IG11c3QgdXNlIGEgY3VzdG9tX2pzb24gc2lnbmVkIHdpdGggeW91ciBhY3RpdmUga2V5JykKICAgICYmIHF1YW50aXR5ICYmIHR5cGVvZiBxdWFudGl0eSA9PT0gJ251bWJlcicpIHsKCiAgICBsZXQgYmFsYW5jZXMgPSBkYi5nZXRUYWJsZSgnYmFsYW5jZXMnKTsKICAgIGxldCBiYWxhbmNlID0gYmFsYW5jZXMuZmluZE9uZSh7ICdhY2NvdW50Jzogc2VuZGVyIH0pOwoKICAgIC8vIGNoZWNrIGlmIHRoZSBiYWxhbmNlIGV4aXN0cwogICAgaWYgKGFzc2VydChiYWxhbmNlICE9PSBudWxsLCAnYmFsYW5jZSBkb2VzIG5vdCBleGlzdCcpCiAgICAgICYmIGFzc2VydChjb3VudERlY2ltYWxzKHF1YW50aXR5KSA8PSAzLCAnc3ltYm9sIHByZWNpc2lvbiBtaXNtYXRjaCcpCiAgICAgICYmIGFzc2VydChxdWFudGl0eSA+IDAsICdtdXN0IHdpdGhkcmF3IHBvc2l0aXZlIHF1YW50aXR5JykKICAgICAgJiYgYXNzZXJ0KGJhbGFuY2UuYmFsYW5jZSA+PSBxdWFudGl0eSwgJ292ZXJkcmF3biBiYWxhbmNlJykpIHsKCiAgICAgIC8vYmFsYW5jZS5iYWxhbmNlID0gKCgoYmFsYW5jZS5iYWxhbmNlICogMTAwMCkgLSAocXVhbnRpdHkgKiAxMDAwKSkgLyAxMDAwKS50b0ZpeGVkKDMpOwogICAgICBiYWxhbmNlLmJhbGFuY2UgPSBzdWIoYmFsYW5jZS5iYWxhbmNlLCBxdWFudGl0eSkKICAgICAgaWYgKGJhbGFuY2UuYmFsYW5jZSA8PSAwKSB7CiAgICAgICAgYmFsYW5jZXMucmVtb3ZlKGJhbGFuY2UpOwogICAgICB9IGVsc2UgewogICAgICAgIGJhbGFuY2VzLnVwZGF0ZShiYWxhbmNlKTsKICAgICAgfQogICAgfQogIH0KfQoKbGV0IGdldElzc3VhbmNlUmF0ZSA9IGZ1bmN0aW9uICgpIHsKICAvLyBnZXQgcmV3YXJkcyBwYXJhbXMKICBsZXQgcmV3YXJkcyA9IGRiLmdldFRhYmxlKCdyZXdhcmRzJyk7CiAgbGV0IHBhcmFtcyA9IHJld2FyZHMuZmluZE9uZSh7fSk7CiAgY29uc3QgbmV4dEhhbHZpbmcgPSBwYXJhbXMubmV4dEhhbHZpbmc7CgogIC8vIGdldCB0aGUgdG9rZW4gc3VwcGx5CiAgbGV0IHRva2VuUGFyYW1zID0gZGIuZmluZE9uZUluVGFibGUoJ3Rva2VuJywgJ3Rva2VucycsIHsgJ3N5bWJvbCc6IFRPS0VOU1lNQk9MIH0pOwogIGNvbnN0IHRvdGFsU3VwcGx5ID0gdG9rZW5QYXJhbXMuc3VwcGx5OwogIGNvbnN0IG1heFN1cHBseSA9IHRva2VuUGFyYW1zLm1heFN1cHBseTsKCiAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBoYWx2ZSB0aGUgaXNzdWFuY2UgcmF0ZQogIGlmICgobWF4U3VwcGx5IC0gdG90YWxTdXBwbHkpIDw9IG5leHRIYWx2aW5nKSB7CiAgICBwYXJhbXMudG9rZW5Jc3N1YW5jZVJhdGUgPSBwYXJhbXMudG9rZW5Jc3N1YW5jZVJhdGUgLyAyOwogICAgcGFyYW1zLm5leHRIYWx2aW5nID0gbmV4dEhhbHZpbmcgLyAyOwogICAgcmV3YXJkcy51cGRhdGUocGFyYW1zKTsKICB9CgogIHJldHVybiBwYXJhbXMudG9rZW5Jc3N1YW5jZVJhdGU7Cn0KCmxldCBkaXN0cmlidXRlUmV3YXJkcyA9IGZ1bmN0aW9uICgpIHsKICAvLyBnZXQgdGhlIHBlbmRpbmcgcmV3YXJkcwogIGxldCByZXdhcmRzID0gZGIuZ2V0VGFibGUoJ3Jld2FyZHMnKTsKICBsZXQgcmVjID0gcmV3YXJkcy5maW5kT25lKHt9KTsKICBjb25zdCBwZW5kaW5nUmV3YXJkcyA9IHJlYy5wZW5kaW5nUmV3YXJkczsKCiAgLy8gZ2V0IHRoZSB0b2tlbiBzdXBwbHkKICBsZXQgdG9rZW5QYXJhbXMgPSBkYi5maW5kT25lSW5UYWJsZSgndG9rZW4nLCAndG9rZW5zJywgeyAnc3ltYm9sJzogVE9LRU5TWU1CT0wgfSk7CiAgY29uc3QgdG90YWxTdXBwbHkgPSB0b2tlblBhcmFtcy5zdXBwbHk7CgogIGNvbnN0IHJld2FyZFBlclRva2VuID0gZGl2KHBlbmRpbmdSZXdhcmRzLCB0b3RhbFN1cHBseSk7CgogIGxldCB0b2tlbkhvbGRlcnMgPSBkYi5maW5kSW5UYWJsZSgndG9rZW4nLCAnYmFsYW5jZXMnLCB7ICdzeW1ib2wnOiBUT0tFTlNZTUJPTCB9KQogICAgLnNvcnQoKGEsIGIpID0+IGIuYmFsYW5jZSAtIGEuYmFsYW5jZSk7CiAgbGV0IGJhbGFuY2VzID0gZGIuZ2V0VGFibGUoJ2JhbGFuY2VzJyk7CiAgbGV0IHRvdGFsUmV3YXJkc0Rpc3RyaWJ1dGVkID0gMDsKICBjb25zdCBiYWxhbmNlc1RvVXBkYXRlID0gW107CiAgY29uc3QgYmFsYW5jZXNUb0NyZWF0ZSA9IFtdOwoKICBsZXQgbGVuID0gdG9rZW5Ib2xkZXJzLmxlbmd0aDsKICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7CiAgICBjb25zdCB0b2tlbkhvbGRlciA9IHRva2VuSG9sZGVyc1tpXTsKCiAgICAvLyBjYWxjdWxhdGUgdGhlIHJld2FyZCBiYXNlZCBvbiB0aGUgc3Rha2UKICAgIGNvbnN0IHJld2FyZHMgPSAobXVsUmV3YXJkcyh0b2tlbkhvbGRlci5iYWxhbmNlLCByZXdhcmRQZXJUb2tlbikpOwoKICAgIHRvdGFsUmV3YXJkc0Rpc3RyaWJ1dGVkID0gYWRkUmV3YXJkcyh0b3RhbFJld2FyZHNEaXN0cmlidXRlZCwgcmV3YXJkcyk7CiAgICAvLyB1cGRhdGUgdGhlIGJhbGFuY2UgaWYgPiAwCiAgICBpZiAocmV3YXJkcyA+IDApIHsKICAgICAgbGV0IGFjYyA9IGJhbGFuY2VzLmZpbmRPbmUoeyAnYWNjb3VudCc6IHRva2VuSG9sZGVyLmFjY291bnQgfSk7CiAgICAgIGlmIChhY2MpIHsKICAgICAgICBhY2MuYmFsYW5jZSA9IGFkZChhY2MuYmFsYW5jZSwgcmV3YXJkcyk7CiAgICAgICAgYmFsYW5jZXNUb1VwZGF0ZS5wdXNoKGFjYyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYWNjID0gewogICAgICAgICAgJ2FjY291bnQnOiB0b2tlbkhvbGRlci5hY2NvdW50LAogICAgICAgICAgJ2JhbGFuY2UnOiByZXdhcmRzLAogICAgICAgIH0KICAgICAgICBiYWxhbmNlc1RvQ3JlYXRlLnB1c2goYWNjKTsKICAgICAgfQogICAgfQogIH07CgogIGlmIChiYWxhbmNlc1RvQ3JlYXRlLmxlbmd0aCA+IDApIHsKICAgIGJhbGFuY2VzLmluc2VydChiYWxhbmNlc1RvQ3JlYXRlKTsKICB9CgogIGlmIChiYWxhbmNlc1RvVXBkYXRlLmxlbmd0aCA+IDApIHsKICAgIGJhbGFuY2VzLnVwZGF0ZShiYWxhbmNlc1RvVXBkYXRlKTsKICB9CgogIC8vIHVwZGF0ZSB0aGUgcGVuZGluZyByZXdhcmRzCiAgcmVjLnBlbmRpbmdSZXdhcmRzID0gc3ViKHBlbmRpbmdSZXdhcmRzLCB0b3RhbFJld2FyZHNEaXN0cmlidXRlZCk7CiAgcmVjLmxhc3RCbG9ja1Jld2FyZCA9IHJlZlN0ZWVtQmxvY2tOdW1iZXI7CiAgcmV3YXJkcy51cGRhdGUocmVjKTsKfQoKbGV0IGRpdiA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgcmV0dXJuICgoYSAqIDEwMDApIC8gKGIgKiAxMDAwKSkgLyAxMDAwOwp9CgpsZXQgbXVsUmV3YXJkcyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgbGV0IHJlcyA9ICgoYSAqIDEwMDApICogKGIgKiAxMDAwKSkgLyAxMDAwOwogIHJldHVybiByZXMgPj0gMC4wMDEgPyAocmVzIC0gMC4wMDEpLnRvRml4ZWQoMykgOiAwOwp9CgpsZXQgYWRkUmV3YXJkcyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgcmV0dXJuICgoYSAqIDEwMDApICsgKGIgKiAxMDAwKSkgLyAxMDAwOwp9CgpsZXQgbXVsID0gZnVuY3Rpb24gKGEsIGIpIHsKICAvL3JldHVybiAoKGEgKiAxMDAwKSAqIChiICogMTAwMCkpIC8gMTAwMDsKICByZXR1cm4gY3VycmVuY3koYSwgeyBwcmVjaXNpb246IDMgfSkubXVsdGlwbHkoYik7Cn0KCmxldCBhZGQgPSBmdW5jdGlvbiAoYSwgYikgewogIC8vbGV0IHJlcyA9ICgoYSAqIDEwMDApICsgKGIgKiAxMDAwKSkgLyAxMDAwOwogIC8vcmV0dXJuIHJlcyA+IDAgPyByZXMudG9GaXhlZCgzKSA6IDA7CiAgcmV0dXJuIGN1cnJlbmN5KGEsIHsgcHJlY2lzaW9uOiAzIH0pLmFkZChiKTsKfQoKbGV0IHN1YiA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgLy9sZXQgcmVzID0gKChhICogMTAwMCkgLSAoYiAqIDEwMDApKSAvIDEwMDA7CiAgLy9yZXR1cm4gcmVzID4gMCA/IHJlcy50b0ZpeGVkKDMpIDogMDsKICByZXR1cm4gY3VycmVuY3koYSwgeyBwcmVjaXNpb246IDMgfSkuc3VidHJhY3QoYik7Cn0KCmxldCBjb3VudERlY2ltYWxzID0gZnVuY3Rpb24gKHZhbHVlKSB7CiAgaWYgKE1hdGguZmxvb3IodmFsdWUpID09PSB2YWx1ZSkgcmV0dXJuIDA7CiAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXS5sZW5ndGggfHwgMDsKfQ=="
}
}
}