You are viewing a single comment's thread from:

RE: Test title

in #topic16 years ago

{
"id": "ssc-b8923f70-c1f7-497f-961l",
"json": {
"contractName": "contract",
"contractAction": "deploy",
"contractPayload": {
"name": "token",
"code": "YWN0aW9ucy5jcmVhdGVTU0MgPSBmdW5jdGlvbiAocGF5bG9hZCkgewogICAgICBkYi5jcmVhdGVUYWJsZSgndG9rZW5zJyk7CiAgICAgIGRiLmNyZWF0ZVRhYmxlKCdiYWxhbmNlcycpOwogICAgfQogICAgCiAgICBhY3Rpb25zLmNyZWF0ZSA9IGZ1bmN0aW9uIChwYXlsb2FkKSB7CiAgICAgIGNvbnN0IHsgc3ltYm9sLCBwcmVjaXNpb24sIG1heFN1cHBseSB9ID0gcGF5bG9hZDsKICAgIAogICAgICBpZiAoc3ltYm9sICYmIHR5cGVvZiBzeW1ib2wgPT09ICdzdHJpbmcnCiAgICAgICAgJiYgKHByZWNpc2lvbiAmJiB0eXBlb2YgcHJlY2lzaW9uID09PSAnbnVtYmVyJyB8fCBwcmVjaXNpb24gPT09IDApCiAgICAgICAgJiYgbWF4U3VwcGx5ICYmIHR5cGVvZiBtYXhTdXBwbHkgPT09ICdudW1iZXInKSB7CiAgICAKICAgICAgICBjb25zdCBSZWdleFB1cmVMZXR0ZXJzID0gL15bYS16QS1aXSskLzsKICAgIAogICAgICAgIC8vIHRoZSBzeW1ib2wgbXVzdCBiZSBtYWRlIG9mIGxldHRlcnMgb25seQogICAgICAgIC8vIHRoZSBwcmVjaXNpb24gbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDggYW5kIG11c3QgYmUgYW4gaW50ZWdlcgogICAgICAgIC8vIHRoZSBtYXggc3VwcGx5IG11c3QgYmUgcG9zaXRpdmUKICAgICAgICBpZiAoYXNzZXJ0KFJlZ2V4UHVyZUxldHRlcnMudGVzdChzeW1ib2wpLCAnaW52YWxpZCBzeW1ib2wnKQogICAgICAgICAgJiYgYXNzZXJ0KChwcmVjaXNpb24gPj0gMCAmJiBwcmVjaXNpb24gPD0gOCkgJiYgKE51bWJlci5pc0ludGVnZXIocHJlY2lzaW9uKSksICdpbnZhbGlkIHByZWNpc2lvbicpCiAgICAgICAgICAmJiBhc3NlcnQobWF4U3VwcGx5ID4gMCwgJ21heFN1cHBseSBtdXN0IGJlIHBvc2l0aXZlJykpIHsKICAgICAgICAgIGxldCB0b2tlbnMgPSBkYi5nZXRUYWJsZSgndG9rZW5zJyk7CiAgICAKICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSB0b2tlbiBhbHJlYWR5IGV4aXN0cwogICAgICAgICAgbGV0IHRva2VuID0gdG9rZW5zLmZpbmRPbmUoeyBzeW1ib2wgfSk7CiAgICAKICAgICAgICAgIGlmIChhc3NlcnQodG9rZW4gPT09IG51bGwsICdzeW1ib2wgYWxyZWFkeSBleGlzdHMnKSkgewogICAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IHsKICAgICAgICAgICAgICAnaXNzdWVyJzogc2VuZGVyLAogICAgICAgICAgICAgIHN5bWJvbCwKICAgICAgICAgICAgICBwcmVjaXNpb24sCiAgICAgICAgICAgICAgbWF4U3VwcGx5LAogICAgICAgICAgICAgICdzdXBwbHknOiAwCiAgICAgICAgICAgIH07CiAgICAKICAgICAgICAgICAgdG9rZW5zLmluc2VydChuZXdUb2tlbik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAKICAgIGFjdGlvbnMuaXNzdWUgPSBmdW5jdGlvbiAocGF5bG9hZCkgewogICAgICBjb25zdCB7IHRvLCBzeW1ib2wsIHF1YW50aXR5LCBpc1NpZ25lZFdpdGhBY3RpdmVLZXkgfSA9IHBheWxvYWQ7CiAgICAKICAgICAgaWYgKGFzc2VydChpc1NpZ25lZFdpdGhBY3RpdmVLZXkgPT09IHRydWUsICd5b3UgbXVzdCB1c2UgYSBjdXN0b21fanNvbiBzaWduZWQgd2l0aCB5b3VyIGFjdGl2ZSBrZXknKQogICAgICAgICYmIHRvICYmIHR5cGVvZiB0byA9PT0gJ3N0cmluZycKICAgICAgICAmJiBzeW1ib2wgJiYgdHlwZW9mIHN5bWJvbCA9PT0gJ3N0cmluZycKICAgICAgICAmJiBxdWFudGl0eSAmJiB0eXBlb2YgcXVhbnRpdHkgPT09ICdudW1iZXInKSB7CiAgICAKICAgICAgICBsZXQgdG9rZW5zID0gZGIuZ2V0VGFibGUoJ3Rva2VucycpOwogICAgICAgIGxldCB0b2tlbiA9IHRva2Vucy5maW5kT25lKHsgc3ltYm9sIH0pOwogICAgCiAgICAgICAgLy8gdGhlIHN5bWJvbCBtdXN0IGV4aXN0CiAgICAgICAgLy8gdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBpc3N1ZXIKICAgICAgICAvLyB0aGVuIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGUgcXVhbnRpdHkgaXMgY29ycmVjdAogICAgICAgIGlmIChhc3NlcnQodG9rZW4gIT09IG51bGwsICdzeW1ib2wgZG9lcyBub3QgZXhpc3QnKQogICAgICAgICAgJiYgYXNzZXJ0KHRva2VuLmlzc3VlciA9PT0gc2VuZGVyLCAnbm90IGFsbG93ZWQgdG8gaXNzdWUgdG9rZW5zJykKICAgICAgICAgICYmIGFzc2VydChjb3VudERlY2ltYWxzKHF1YW50aXR5KSA8PSB0b2tlbi5wcmVjaXNpb24sICdzeW1ib2wgcHJlY2lzaW9uIG1pc21hdGNoJykKICAgICAgICAgICYmIGFzc2VydChxdWFudGl0eSA+IDAsICdtdXN0IGlzc3VlIHBvc2l0aXZlIHF1YW50aXR5JykKICAgICAgICAgICYmIGFzc2VydChxdWFudGl0eSA8PSAodG9rZW4ubWF4U3VwcGx5IC0gdG9rZW4uc3VwcGx5KSwgJ3F1YW50aXR5IGV4Y2VlZHMgYXZhaWxhYmxlIHN1cHBseScpKSB7CiAgICAKICAgICAgICAgIGxldCBhY2NvdW50ID0gZGIuZmluZE9uZUluVGFibGUoJ2FjY291bnQnLCAnYWNjb3VudHMnLCB7ICdpZCc6IHRvIH0pOwogICAgCiAgICAgICAgICAvLyB0aGUgYWNjb3VudCBtdXN0IGhhdmUgYmVlbiByZWdpc3RlcmVkIGJlZm9yZQogICAgICAgICAgaWYgKGFzc2VydChhY2NvdW50ICE9PSBudWxsLCAndG8gYWNjb3VudCBkb2VzIG5vdCBleGlzdCcpKSB7CiAgICAgICAgICAgIC8vIHdlIG1hZGUgYWxsIHRoZSByZXF1aXJlZCB2ZXJpZmljYXRpb24sIGxldCdzIG5vdyBpc3N1ZSB0aGUgdG9rZW5zCiAgICAKICAgICAgICAgICAgdG9rZW4uc3VwcGx5ID0gY2FsY3VsYXRlQmFsYW5jZSh0b2tlbi5zdXBwbHksIHF1YW50aXR5LCB0b2tlbi5wcmVjaXNpb24sIHRydWUpOwogICAgICAgICAgICB0b2tlbnMudXBkYXRlKHRva2VuKTsKICAgIAogICAgICAgICAgICBhZGRCYWxhbmNlKHRva2VuLmlzc3VlciwgdG9rZW4sIHF1YW50aXR5KTsKICAgIAogICAgICAgICAgICBpZiAodG8gIT09IHRva2VuLmlzc3VlcikgewogICAgICAgICAgICAgIGFjdGlvbnMudHJhbnNmZXIocGF5bG9hZCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgYWN0aW9ucy50cmFuc2ZlciA9IGZ1bmN0aW9uIChwYXlsb2FkKSB7CiAgICAgIGNvbnN0IHsgdG8sIHN5bWJvbCwgcXVhbnRpdHksIGlzU2lnbmVkV2l0aEFjdGl2ZUtleSB9ID0gcGF5bG9hZDsKICAgIAogICAgICBpZiAoYXNzZXJ0KGlzU2lnbmVkV2l0aEFjdGl2ZUtleSA9PT0gdHJ1ZSwgJ3lvdSBtdXN0IHVzZSBhIGN1c3RvbV9qc29uIHNpZ25lZCB3aXRoIHlvdXIgYWN0aXZlIGtleScpCiAgICAgICAgJiYgdG8gJiYgdHlwZW9mIHRvID09PSAnc3RyaW5nJwogICAgICAgICYmIHN5bWJvbCAmJiB0eXBlb2Ygc3ltYm9sID09PSAnc3RyaW5nJwogICAgICAgICYmIHF1YW50aXR5ICYmIHR5cGVvZiBxdWFudGl0eSA9PT0gJ251bWJlcicpIHsKICAgIAogICAgICAgIGlmIChhc3NlcnQodG8gIT09IHNlbmRlciwgJ2Nhbm5vdCB0cmFuc2ZlciB0byBzZWxmJykpIHsKICAgICAgICAgIGxldCBhY2NvdW50ID0gZGIuZmluZE9uZUluVGFibGUoJ2FjY291bnQnLCAnYWNjb3VudHMnLCB7ICdpZCc6IHRvIH0pOwogICAgCiAgICAgICAgICAvLyB0aGUgYWNjb3VudCBtdXN0IGhhdmUgYmVlbiByZWdpc3RlcmVkIGJlZm9yZQogICAgICAgICAgaWYgKGFzc2VydChhY2NvdW50ICE9PSBudWxsLCAndG8gYWNjb3VudCBkb2VzIG5vdCBleGlzdCcpKSB7CiAgICAgICAgICAgIGxldCB0b2tlbnMgPSBkYi5nZXRUYWJsZSgndG9rZW5zJyk7CiAgICAgICAgICAgIGxldCB0b2tlbiA9IHRva2Vucy5maW5kT25lKHsgc3ltYm9sIH0pOwogICAgCiAgICAgICAgICAgIC8vIHRoZSBzeW1ib2wgbXVzdCBleGlzdAogICAgICAgICAgICAvLyB0aGVuIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0aGUgcXVhbnRpdHkgaXMgY29ycmVjdAogICAgICAgICAgICBpZiAoYXNzZXJ0KHRva2VuICE9PSBudWxsLCAnc3ltYm9sIGRvZXMgbm90IGV4aXN0JykKICAgICAgICAgICAgICAmJiBhc3NlcnQoY291bnREZWNpbWFscyhxdWFudGl0eSkgPD0gdG9rZW4ucHJlY2lzaW9uLCAnc3ltYm9sIHByZWNpc2lvbiBtaXNtYXRjaCcpCiAgICAgICAgICAgICAgJiYgYXNzZXJ0KHF1YW50aXR5ID4gMCwgJ211c3QgdHJhbnNmZXIgcG9zaXRpdmUgcXVhbnRpdHknKSkgewogICAgCiAgICAgICAgICAgICAgaWYgKHN1YkJhbGFuY2Uoc2VuZGVyLCB0b2tlbiwgcXVhbnRpdHkpKSB7CiAgICAgICAgICAgICAgICBhZGRCYWxhbmNlKHRvLCB0b2tlbiwgcXVhbnRpdHkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogICAgCiAgICBsZXQgc3ViQmFsYW5jZSA9IGZ1bmN0aW9uIChhY2NvdW50LCB0b2tlbiwgcXVhbnRpdHkpIHsKICAgICAgbGV0IGJhbGFuY2VzID0gZGIuZ2V0VGFibGUoJ2JhbGFuY2VzJyk7CiAgICAgIGxldCBiYWxhbmNlID0gYmFsYW5jZXMuZmluZE9uZSh7IGFjY291bnQsICdzeW1ib2wnOiB0b2tlbi5zeW1ib2wgfSk7CiAgICAgIGlmIChhc3NlcnQoYmFsYW5jZSAhPT0gbnVsbCwgJ2JhbGFuY2UgZG9lcyBub3QgZXhpc3QnKSAmJgogICAgICAgIGFzc2VydChiYWxhbmNlLmJhbGFuY2UgPj0gcXVhbnRpdHksICdvdmVyZHJhd24gYmFsYW5jZScpKSB7CiAgICAKICAgICAgICBiYWxhbmNlLmJhbGFuY2UgPSBjYWxjdWxhdGVCYWxhbmNlKGJhbGFuY2UuYmFsYW5jZSwgcXVhbnRpdHksIHRva2VuLnByZWNpc2lvbiwgZmFsc2UpOwogICAgCiAgICAgICAgaWYgKGJhbGFuY2UuYmFsYW5jZSA8PSAwKSB7CiAgICAgICAgICBiYWxhbmNlcy5yZW1vdmUoYmFsYW5jZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGJhbGFuY2VzLnVwZGF0ZShiYWxhbmNlKTsKICAgICAgICB9CiAgICAKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgCiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIAogICAgbGV0IGFkZEJhbGFuY2UgPSBmdW5jdGlvbiAoYWNjb3VudCwgdG9rZW4sIHF1YW50aXR5KSB7CiAgICAgIGxldCBiYWxhbmNlcyA9IGRiLmdldFRhYmxlKCdiYWxhbmNlcycpOwogICAgICBsZXQgYmFsYW5jZSA9IGJhbGFuY2VzLmZpbmRPbmUoeyBhY2NvdW50LCAnc3ltYm9sJzogdG9rZW4uc3ltYm9sIH0pOwogICAgCiAgICAgIGlmIChiYWxhbmNlID09PSBudWxsKSB7CiAgICAgICAgYmFsYW5jZSA9IHsKICAgICAgICAgIGFjY291bnQsCiAgICAgICAgICAnc3ltYm9sJzogdG9rZW4uc3ltYm9sLAogICAgICAgICAgJ2JhbGFuY2UnOiBxdWFudGl0eQogICAgICAgIH0KICAgICAgICAKICAgICAgICBiYWxhbmNlcy5pbnNlcnQoYmFsYW5jZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYmFsYW5jZS5iYWxhbmNlID0gY2FsY3VsYXRlQmFsYW5jZShiYWxhbmNlLmJhbGFuY2UsIHF1YW50aXR5LCB0b2tlbi5wcmVjaXNpb24sIHRydWUpOwogICAgCiAgICAgICAgYmFsYW5jZXMudXBkYXRlKGJhbGFuY2UpOwogICAgICB9CiAgICB9CiAgICAKICAgIGxldCBjYWxjdWxhdGVCYWxhbmNlID0gZnVuY3Rpb24gKGJhbGFuY2UsIHF1YW50aXR5LCBwcmVjaXNpb24sIGFkZCkgewogICAgICBpZiAocHJlY2lzaW9uID09PSAwKSB7CiAgICAgICAgcmV0dXJuIGFkZCA/IGJhbGFuY2UgKyBxdWFudGl0eSA6IGJhbGFuY2UgLSBxdWFudGl0eQogICAgICB9CiAgICAgIAogICAgICByZXR1cm4gYWRkID8gY3VycmVuY3koYmFsYW5jZSwgeyBwcmVjaXNpb24gfSkuc3VidHJhY3QocXVhbnRpdHkpIDogY3VycmVuY3koYmFsYW5jZSwgeyBwcmVjaXNpb24gfSkuc3VidHJhY3QocXVhbnRpdHkpOwogICAgfQogICAgCiAgICBsZXQgY291bnREZWNpbWFscyA9IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICBpZiAoTWF0aC5mbG9vcih2YWx1ZSkgPT09IHZhbHVlKSByZXR1cm4gMDsKICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXS5sZW5ndGggfHwgMDsKICAgIH0="
}
}
}