skele draft

This commit is contained in:
Corey 2019-06-09 17:21:59 -04:00
parent 91368c34ab
commit bc5081d10f
No known key found for this signature in database
GPG Key ID: 65CAB2A922CDF343
6 changed files with 33 additions and 1695 deletions

View File

@ -51,7 +51,7 @@
"dependencies": {
"@babel/plugin-transform-react-constant-elements": "7.2.0",
"@babel/plugin-transform-react-inline-elements": "7.2.0",
"@corpetty/test-graph-embed": "https://api.observablehq.com/@corpetty/test-graph-embed.tgz?v=3",
"@corpetty/status-sticker-market-blog-embed": "https://api.observablehq.com/@corpetty/status-sticker-market-blog-embed.tgz?v=3",
"@observablehq/runtime": "4",
"babel-plugin-transform-react-pure-class-to-function": "1.0.1",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",

View File

@ -1,331 +0,0 @@
{
"header": {
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20190530.200053.9760.0.001.json",
"dumpEventTime": "2019-05-30T20:00:53Z",
"dumpEventTimeStamp": "1559260853330",
"processId": 9760,
"cwd": "/home/petty/Github/status-im/token-economy-1",
"commandLine": [
"node",
"/home/petty/Github/status-im/token-economy-1/node_modules/.bin/eslint",
"--fix",
"/home/petty/Github/status-im/token-economy-1/src/App.jsx",
"/home/petty/Github/status-im/token-economy-1/src/App.css",
"/home/petty/Github/status-im/token-economy-1/build/js/vendors.640951b04ffd2402a5eb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/runtime~main.d26192c48fdcce4d50bb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/main.5e2e15d48fe1364e50b0.js",
"/home/petty/Github/status-im/token-economy-1/build/css/main.css"
],
"nodejsVersion": "v11.14.0",
"glibcVersionRuntime": "2.29",
"glibcVersionCompiler": "2.28",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "11.14.0",
"v8": "7.0.276.38-node.18",
"uv": "1.28.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "67",
"nghttp2": "1.36.0",
"napi": "4",
"llhttp": "1.1.1",
"http_parser": "2.8.0",
"openssl": "1.1.1b",
"cldr": "35.1",
"icu": "64.1",
"tz": "2019a",
"unicode": "12.0"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0.tar.gz"
},
"osName": "Linux",
"osRelease": "5.0.9-arch1-1-ARCH",
"osVersion": "#1 SMP PREEMPT Sat Apr 20 15:00:46 UTC 2019",
"osMachine": "x86_64",
"host": "bean"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x000055fe70c51211",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, v8::Local<v8::String>) [node]"
},
{
"pc": "0x000055fe70b4274f",
"symbol": "node::OnFatalError(char const*, char const*) [node]"
},
{
"pc": "0x000055fe70cdc7b2",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x000055fe70cdca0b",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x000055fe710747d3",
"symbol": " [node]"
},
{
"pc": "0x000055fe71074914",
"symbol": " [node]"
},
{
"pc": "0x000055fe710844c6",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x000055fe71084e6e",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x000055fe7108706d",
"symbol": "v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x000055fe710870c2",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x000055fe71055a05",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [node]"
},
{
"pc": "0x000055fe712c43ff",
"symbol": "v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*) [node]"
},
{
"pc": "0x00003848735cfc5d",
"symbol": ""
}
],
"javascriptHeap": {
"totalMemory": 1355722752,
"totalCommittedMemory": 1346957656,
"usedMemory": 1293978664,
"availableMemory": 177740208,
"memoryLimit": 1526909922,
"heapSpaces": {
"read_only_space": {
"memorySize": 524288,
"committedMemory": 42224,
"capacity": 515584,
"used": 33520,
"available": 482064
},
"new_space": {
"memorySize": 8388608,
"committedMemory": 2000784,
"capacity": 4124672,
"used": 440496,
"available": 3684176
},
"old_space": {
"memorySize": 1215500288,
"committedMemory": 1214436312,
"capacity": 1170947424,
"used": 1169377008,
"available": 1570416
},
"code_space": {
"memorySize": 7340032,
"committedMemory": 6509504,
"capacity": 6851840,
"used": 5843488,
"available": 1008352
},
"map_space": {
"memorySize": 5255168,
"committedMemory": 5254464,
"capacity": 1532240,
"used": 1532240,
"available": 0
},
"large_object_space": {
"memorySize": 118714368,
"committedMemory": 118714368,
"capacity": 287747112,
"used": 116751912,
"available": 170995200
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 0,
"used": 0,
"available": 0
}
}
},
"resourceUsage": {
"userCpuSeconds": 185.079,
"kernelCpuSeconds": 6.64533,
"cpuConsumptionPercent": 189.826,
"maxRss": 1553182720,
"pageFaults": {
"IORequired": 14,
"IONotRequired": 3770804
},
"fsActivity": {
"reads": 3672,
"writes": 0
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 95.6132,
"kernelCpuSeconds": 3.89972,
"cpuConsumptionPercent": 98.5276,
"fsActivity": {
"reads": 3672,
"writes": 0
}
},
"libuv": [
],
"environmentVariables": {
"SHELL": "/bin/zsh",
"XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session0",
"VSCODE_GIT_ASKPASS_HANDLE": "/run/user/1000/vscode-git-askpass-71794351e1d694e719a4f923bbb206e5bc0a2b31.sock",
"APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
"VSCODE_LOG_STACK": "false",
"VSCODE_LOGS": "/home/petty/.config/Code - OSS/logs/20190530T142636",
"ELECTRON_RUN_AS_NODE": "1",
"DESKTOP_SESSION": "i3-with-shmlog",
"EDITOR": "/usr/bin/nano",
"GTK_MODULES": "canberra-gtk-module",
"GIT_INDEX_FILE": "/home/petty/Github/status-im/token-economy-1/.git/index.lock",
"XDG_SEAT": "seat0",
"PWD": "/home/petty/Github/status-im/token-economy-1",
"XDG_SESSION_DESKTOP": "i3-with-shmlog",
"LOGNAME": "petty",
"QT_QPA_PLATFORMTHEME": "qt5ct",
"XDG_SESSION_TYPE": "x11",
"_": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin/lint-staged",
"XAUTHORITY": "/home/petty/.Xauthority",
"VSCODE_GIT_ASKPASS_NODE": "/usr/lib/electron/electron",
"GIT_AUTHOR_DATE": "@1559260747 -0400",
"XDG_GREETER_DATA_DIR": "/var/lib/lightdm-data/petty",
"VSCODE_PREVENT_FOREIGN_INSPECT": "true",
"GIT_EXEC_PATH": "/usr/lib/git-core",
"HOME": "/home/petty",
"LANG": "en_US.UTF-8",
"VSCODE_IPC_HOOK_EXTHOST": "/tmp/vscode-ipc-32c67fb1-578a-4ff5-80b3-72c275e99bcc.sock",
"VSCODE_IPC_HOOK": "/run/user/1000/vscode-ab2990ac-1.33.1-main.sock",
"VSCODE_CLI": "1",
"GIT_ASKPASS": "/usr/lib/code/extensions/git/dist/askpass.sh",
"XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0",
"GIT_AUTHOR_EMAIL": "corey@status.im",
"GIT_PREFIX": "",
"XDG_SESSION_CLASS": "user",
"USER": "petty",
"AMD_ENTRYPOINT": "vs/workbench/services/extensions/node/extensionHostProcess",
"VSCODE_GIT_COMMAND": "commit",
"DISPLAY": ":0",
"SHLVL": "2",
"GIT_EDITOR": ":",
"XDG_VTNR": "7",
"XDG_SESSION_ID": "2",
"MOZ_PLUGIN_PATH": "/usr/lib/mozilla/plugins",
"XDG_RUNTIME_DIR": "/run/user/1000",
"VERBOSE_LOGGING": "true",
"LC_ALL": "en_US.UTF-8",
"ELECTRON_NO_ATTACH_CONSOLE": "1",
"VSCODE_GIT_ASKPASS_MAIN": "/usr/lib/code/extensions/git/dist/askpass-main.js",
"LC_COLLATE": "en_US.UTF-8",
"GIT_AUTHOR_NAME": "Corey Petty",
"BROWSER": "/usr/bin/chromium",
"PATH": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/usr/lib/git-core:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl",
"PIPE_LOGGING": "true",
"GDMSESSION": "i3-with-shmlog",
"DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
"VSCODE_NLS_CONFIG": "{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}",
"MAIL": "/var/spool/mail/petty",
"VSCODE_HANDLES_UNCAUGHT_ERRORS": "true"
},
"userLimits": {
"core_file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 524288,
"hard": 524288
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 128362,
"hard": 128362
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"linux-vdso.so.1",
"/usr/lib/libz.so.1",
"/usr/lib/libuv.so.1",
"/usr/lib/libcares.so.2",
"/usr/lib/libnghttp2.so.14",
"/usr/lib/libcrypto.so.1.1",
"/usr/lib/libssl.so.1.1",
"/usr/lib/libicui18n.so.64",
"/usr/lib/libicuuc.so.64",
"/usr/lib/libdl.so.2",
"/usr/lib/librt.so.1",
"/usr/lib/libstdc++.so.6",
"/usr/lib/libm.so.6",
"/usr/lib/libgcc_s.so.1",
"/usr/lib/libpthread.so.0",
"/usr/lib/libc.so.6",
"/usr/lib/libnsl.so.2",
"/usr/lib/libicudata.so.64",
"/lib64/ld-linux-x86-64.so.2",
"/usr/lib/libtirpc.so.3",
"/usr/lib/libgssapi_krb5.so.2",
"/usr/lib/libkrb5.so.3",
"/usr/lib/libk5crypto.so.3",
"/usr/lib/libcom_err.so.2",
"/usr/lib/libkrb5support.so.0",
"/usr/lib/libkeyutils.so.1",
"/usr/lib/libresolv.so.2"
]
}

View File

@ -1,331 +0,0 @@
{
"header": {
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20190530.200259.10397.0.001.json",
"dumpEventTime": "2019-05-30T20:02:59Z",
"dumpEventTimeStamp": "1559260979865",
"processId": 10397,
"cwd": "/home/petty/Github/status-im/token-economy-1",
"commandLine": [
"node",
"/home/petty/Github/status-im/token-economy-1/node_modules/.bin/eslint",
"--fix",
"/home/petty/Github/status-im/token-economy-1/src/App.jsx",
"/home/petty/Github/status-im/token-economy-1/src/App.css",
"/home/petty/Github/status-im/token-economy-1/build/js/vendors.640951b04ffd2402a5eb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/runtime~main.d26192c48fdcce4d50bb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/main.5e2e15d48fe1364e50b0.js",
"/home/petty/Github/status-im/token-economy-1/build/css/main.css"
],
"nodejsVersion": "v11.14.0",
"glibcVersionRuntime": "2.29",
"glibcVersionCompiler": "2.28",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "11.14.0",
"v8": "7.0.276.38-node.18",
"uv": "1.28.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "67",
"nghttp2": "1.36.0",
"napi": "4",
"llhttp": "1.1.1",
"http_parser": "2.8.0",
"openssl": "1.1.1b",
"cldr": "35.1",
"icu": "64.1",
"tz": "2019a",
"unicode": "12.0"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0.tar.gz"
},
"osName": "Linux",
"osRelease": "5.0.9-arch1-1-ARCH",
"osVersion": "#1 SMP PREEMPT Sat Apr 20 15:00:46 UTC 2019",
"osMachine": "x86_64",
"host": "bean"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x0000555cfd180211",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, v8::Local<v8::String>) [node]"
},
{
"pc": "0x0000555cfd07174f",
"symbol": "node::OnFatalError(char const*, char const*) [node]"
},
{
"pc": "0x0000555cfd20b7b2",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x0000555cfd20ba0b",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x0000555cfd5a37d3",
"symbol": " [node]"
},
{
"pc": "0x0000555cfd5a3914",
"symbol": " [node]"
},
{
"pc": "0x0000555cfd5b34c6",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x0000555cfd5b3e6e",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x0000555cfd5b606d",
"symbol": "v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x0000555cfd5b60c2",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x0000555cfd584a05",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [node]"
},
{
"pc": "0x0000555cfd7f33ff",
"symbol": "v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*) [node]"
},
{
"pc": "0x000009e05244fc5d",
"symbol": ""
}
],
"javascriptHeap": {
"totalMemory": 1350656000,
"totalCommittedMemory": 1346619640,
"usedMemory": 1295669064,
"availableMemory": 180235680,
"memoryLimit": 1526909922,
"heapSpaces": {
"read_only_space": {
"memorySize": 524288,
"committedMemory": 42224,
"capacity": 515584,
"used": 33520,
"available": 482064
},
"new_space": {
"memorySize": 2097152,
"committedMemory": 921128,
"capacity": 1031168,
"used": 234848,
"available": 796320
},
"old_space": {
"memorySize": 1213927424,
"committedMemory": 1211969600,
"capacity": 1170317992,
"used": 1167422648,
"available": 2895344
},
"code_space": {
"memorySize": 6815744,
"committedMemory": 6395936,
"capacity": 5857536,
"used": 5857536,
"available": 0
},
"map_space": {
"memorySize": 4730880,
"committedMemory": 4730240,
"capacity": 1545360,
"used": 1545360,
"available": 0
},
"large_object_space": {
"memorySize": 122560512,
"committedMemory": 122560512,
"capacity": 296637104,
"used": 120575152,
"available": 176061952
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 0,
"used": 0,
"available": 0
}
}
},
"resourceUsage": {
"userCpuSeconds": 198.134,
"kernelCpuSeconds": 6.35618,
"cpuConsumptionPercent": 189.343,
"maxRss": 1552519168,
"pageFaults": {
"IORequired": 0,
"IONotRequired": 3314125
},
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 102.341,
"kernelCpuSeconds": 3.47489,
"cpuConsumptionPercent": 97.9777,
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"libuv": [
],
"environmentVariables": {
"SHELL": "/bin/zsh",
"XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session0",
"VSCODE_GIT_ASKPASS_HANDLE": "/run/user/1000/vscode-git-askpass-71794351e1d694e719a4f923bbb206e5bc0a2b31.sock",
"APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
"VSCODE_LOG_STACK": "false",
"VSCODE_LOGS": "/home/petty/.config/Code - OSS/logs/20190530T142636",
"ELECTRON_RUN_AS_NODE": "1",
"DESKTOP_SESSION": "i3-with-shmlog",
"EDITOR": "/usr/bin/nano",
"GTK_MODULES": "canberra-gtk-module",
"GIT_INDEX_FILE": "/home/petty/Github/status-im/token-economy-1/.git/index.lock",
"XDG_SEAT": "seat0",
"PWD": "/home/petty/Github/status-im/token-economy-1",
"XDG_SESSION_DESKTOP": "i3-with-shmlog",
"LOGNAME": "petty",
"QT_QPA_PLATFORMTHEME": "qt5ct",
"XDG_SESSION_TYPE": "x11",
"_": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin/lint-staged",
"XAUTHORITY": "/home/petty/.Xauthority",
"VSCODE_GIT_ASKPASS_NODE": "/usr/lib/electron/electron",
"GIT_AUTHOR_DATE": "@1559260867 -0400",
"XDG_GREETER_DATA_DIR": "/var/lib/lightdm-data/petty",
"VSCODE_PREVENT_FOREIGN_INSPECT": "true",
"GIT_EXEC_PATH": "/usr/lib/git-core",
"HOME": "/home/petty",
"LANG": "en_US.UTF-8",
"VSCODE_IPC_HOOK_EXTHOST": "/tmp/vscode-ipc-32c67fb1-578a-4ff5-80b3-72c275e99bcc.sock",
"VSCODE_IPC_HOOK": "/run/user/1000/vscode-ab2990ac-1.33.1-main.sock",
"VSCODE_CLI": "1",
"GIT_ASKPASS": "/usr/lib/code/extensions/git/dist/askpass.sh",
"XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0",
"GIT_AUTHOR_EMAIL": "corey@status.im",
"GIT_PREFIX": "",
"XDG_SESSION_CLASS": "user",
"USER": "petty",
"AMD_ENTRYPOINT": "vs/workbench/services/extensions/node/extensionHostProcess",
"VSCODE_GIT_COMMAND": "commit",
"DISPLAY": ":0",
"SHLVL": "2",
"GIT_EDITOR": ":",
"XDG_VTNR": "7",
"XDG_SESSION_ID": "2",
"MOZ_PLUGIN_PATH": "/usr/lib/mozilla/plugins",
"XDG_RUNTIME_DIR": "/run/user/1000",
"VERBOSE_LOGGING": "true",
"LC_ALL": "en_US.UTF-8",
"ELECTRON_NO_ATTACH_CONSOLE": "1",
"VSCODE_GIT_ASKPASS_MAIN": "/usr/lib/code/extensions/git/dist/askpass-main.js",
"LC_COLLATE": "en_US.UTF-8",
"GIT_AUTHOR_NAME": "Corey Petty",
"BROWSER": "/usr/bin/chromium",
"PATH": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/usr/lib/git-core:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl",
"PIPE_LOGGING": "true",
"GDMSESSION": "i3-with-shmlog",
"DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
"VSCODE_NLS_CONFIG": "{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}",
"MAIL": "/var/spool/mail/petty",
"VSCODE_HANDLES_UNCAUGHT_ERRORS": "true"
},
"userLimits": {
"core_file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 524288,
"hard": 524288
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 128362,
"hard": 128362
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"linux-vdso.so.1",
"/usr/lib/libz.so.1",
"/usr/lib/libuv.so.1",
"/usr/lib/libcares.so.2",
"/usr/lib/libnghttp2.so.14",
"/usr/lib/libcrypto.so.1.1",
"/usr/lib/libssl.so.1.1",
"/usr/lib/libicui18n.so.64",
"/usr/lib/libicuuc.so.64",
"/usr/lib/libdl.so.2",
"/usr/lib/librt.so.1",
"/usr/lib/libstdc++.so.6",
"/usr/lib/libm.so.6",
"/usr/lib/libgcc_s.so.1",
"/usr/lib/libpthread.so.0",
"/usr/lib/libc.so.6",
"/usr/lib/libnsl.so.2",
"/usr/lib/libicudata.so.64",
"/lib64/ld-linux-x86-64.so.2",
"/usr/lib/libtirpc.so.3",
"/usr/lib/libgssapi_krb5.so.2",
"/usr/lib/libkrb5.so.3",
"/usr/lib/libk5crypto.so.3",
"/usr/lib/libcom_err.so.2",
"/usr/lib/libkrb5support.so.0",
"/usr/lib/libkeyutils.so.1",
"/usr/lib/libresolv.so.2"
]
}

View File

@ -1,331 +0,0 @@
{
"header": {
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20190531.095458.26842.0.001.json",
"dumpEventTime": "2019-05-31T09:54:58Z",
"dumpEventTimeStamp": "1559310898137",
"processId": 26842,
"cwd": "/home/petty/Github/status-im/token-economy-1",
"commandLine": [
"node",
"/home/petty/Github/status-im/token-economy-1/node_modules/.bin/eslint",
"--fix",
"/home/petty/Github/status-im/token-economy-1/src/App.jsx",
"/home/petty/Github/status-im/token-economy-1/src/App.css",
"/home/petty/Github/status-im/token-economy-1/build/js/vendors.640951b04ffd2402a5eb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/runtime~main.d26192c48fdcce4d50bb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/main.5e2e15d48fe1364e50b0.js",
"/home/petty/Github/status-im/token-economy-1/build/css/main.css"
],
"nodejsVersion": "v11.14.0",
"glibcVersionRuntime": "2.29",
"glibcVersionCompiler": "2.28",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "11.14.0",
"v8": "7.0.276.38-node.18",
"uv": "1.28.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "67",
"nghttp2": "1.36.0",
"napi": "4",
"llhttp": "1.1.1",
"http_parser": "2.8.0",
"openssl": "1.1.1b",
"cldr": "35.1",
"icu": "64.1",
"tz": "2019a",
"unicode": "12.0"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0.tar.gz"
},
"osName": "Linux",
"osRelease": "5.0.9-arch1-1-ARCH",
"osVersion": "#1 SMP PREEMPT Sat Apr 20 15:00:46 UTC 2019",
"osMachine": "x86_64",
"host": "bean"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x000055f647b77211",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, v8::Local<v8::String>) [node]"
},
{
"pc": "0x000055f647a6874f",
"symbol": "node::OnFatalError(char const*, char const*) [node]"
},
{
"pc": "0x000055f647c027b2",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x000055f647c02a0b",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x000055f647f9a7d3",
"symbol": " [node]"
},
{
"pc": "0x000055f647f9a914",
"symbol": " [node]"
},
{
"pc": "0x000055f647faa4c6",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x000055f647faae6e",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x000055f647fad06d",
"symbol": "v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x000055f647fad0c2",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x000055f647f7ba05",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [node]"
},
{
"pc": "0x000055f6481ea3ff",
"symbol": "v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*) [node]"
},
{
"pc": "0x00002b00100cfc5d",
"symbol": ""
}
],
"javascriptHeap": {
"totalMemory": 1359802368,
"totalCommittedMemory": 1355265208,
"usedMemory": 1301307744,
"availableMemory": 170743560,
"memoryLimit": 1526909922,
"heapSpaces": {
"read_only_space": {
"memorySize": 524288,
"committedMemory": 42224,
"capacity": 515584,
"used": 33520,
"available": 482064
},
"new_space": {
"memorySize": 3145728,
"committedMemory": 1059680,
"capacity": 1546752,
"used": 155248,
"available": 1391504
},
"old_space": {
"memorySize": 1217073152,
"committedMemory": 1215534952,
"capacity": 1170748464,
"used": 1168794056,
"available": 1954408
},
"code_space": {
"memorySize": 6815744,
"committedMemory": 6385600,
"capacity": 5813536,
"used": 5813536,
"available": 0
},
"map_space": {
"memorySize": 5255168,
"committedMemory": 5254464,
"capacity": 1532560,
"used": 1532560,
"available": 0
},
"large_object_space": {
"memorySize": 126988288,
"committedMemory": 126988288,
"capacity": 291894408,
"used": 124978824,
"available": 166915584
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 0,
"used": 0,
"available": 0
}
}
},
"resourceUsage": {
"userCpuSeconds": 195.857,
"kernelCpuSeconds": 6.21781,
"cpuConsumptionPercent": 190.637,
"maxRss": 1573789696,
"pageFaults": {
"IORequired": 0,
"IONotRequired": 3741500
},
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 100.384,
"kernelCpuSeconds": 3.73878,
"cpuConsumptionPercent": 98.2288,
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"libuv": [
],
"environmentVariables": {
"SHELL": "/bin/zsh",
"XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session0",
"VSCODE_GIT_ASKPASS_HANDLE": "/run/user/1000/vscode-git-askpass-0b5315ab11a49d8bb5e6e45810668db6b53c8345.sock",
"APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
"VSCODE_LOG_STACK": "false",
"VSCODE_LOGS": "/home/petty/.config/Code - OSS/logs/20190531T095258",
"ELECTRON_RUN_AS_NODE": "1",
"DESKTOP_SESSION": "i3-with-shmlog",
"EDITOR": "/usr/bin/nano",
"GTK_MODULES": "canberra-gtk-module",
"GIT_INDEX_FILE": ".git/index",
"XDG_SEAT": "seat0",
"PWD": "/home/petty/Github/status-im/token-economy-1",
"XDG_SESSION_DESKTOP": "i3-with-shmlog",
"LOGNAME": "petty",
"QT_QPA_PLATFORMTHEME": "qt5ct",
"XDG_SESSION_TYPE": "x11",
"_": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin/lint-staged",
"XAUTHORITY": "/home/petty/.Xauthority",
"VSCODE_GIT_ASKPASS_NODE": "/usr/lib/electron/electron",
"GIT_AUTHOR_DATE": "@1559310787 -0400",
"XDG_GREETER_DATA_DIR": "/var/lib/lightdm-data/petty",
"VSCODE_PREVENT_FOREIGN_INSPECT": "true",
"GIT_EXEC_PATH": "/usr/lib/git-core",
"HOME": "/home/petty",
"LANG": "en_US.UTF-8",
"VSCODE_IPC_HOOK_EXTHOST": "/tmp/vscode-ipc-d757b01b-898e-44d1-b9cd-f475cb2d70ab.sock",
"VSCODE_IPC_HOOK": "/run/user/1000/vscode-ab2990ac-1.33.1-main.sock",
"VSCODE_CLI": "1",
"GIT_ASKPASS": "/usr/lib/code/extensions/git/dist/askpass.sh",
"XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0",
"GIT_AUTHOR_EMAIL": "corey@status.im",
"GIT_PREFIX": "",
"XDG_SESSION_CLASS": "user",
"USER": "petty",
"AMD_ENTRYPOINT": "vs/workbench/services/extensions/node/extensionHostProcess",
"VSCODE_GIT_COMMAND": "commit",
"DISPLAY": ":0",
"SHLVL": "2",
"GIT_EDITOR": ":",
"XDG_VTNR": "7",
"XDG_SESSION_ID": "2",
"MOZ_PLUGIN_PATH": "/usr/lib/mozilla/plugins",
"XDG_RUNTIME_DIR": "/run/user/1000",
"VERBOSE_LOGGING": "true",
"LC_ALL": "en_US.UTF-8",
"ELECTRON_NO_ATTACH_CONSOLE": "1",
"VSCODE_GIT_ASKPASS_MAIN": "/usr/lib/code/extensions/git/dist/askpass-main.js",
"LC_COLLATE": "en_US.UTF-8",
"GIT_AUTHOR_NAME": "Corey Petty",
"BROWSER": "/usr/bin/chromium",
"PATH": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/usr/lib/git-core:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl",
"PIPE_LOGGING": "true",
"GDMSESSION": "i3-with-shmlog",
"DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
"VSCODE_NLS_CONFIG": "{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}",
"MAIL": "/var/spool/mail/petty",
"VSCODE_HANDLES_UNCAUGHT_ERRORS": "true"
},
"userLimits": {
"core_file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 524288,
"hard": 524288
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 128362,
"hard": 128362
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"linux-vdso.so.1",
"/usr/lib/libz.so.1",
"/usr/lib/libuv.so.1",
"/usr/lib/libcares.so.2",
"/usr/lib/libnghttp2.so.14",
"/usr/lib/libcrypto.so.1.1",
"/usr/lib/libssl.so.1.1",
"/usr/lib/libicui18n.so.64",
"/usr/lib/libicuuc.so.64",
"/usr/lib/libdl.so.2",
"/usr/lib/librt.so.1",
"/usr/lib/libstdc++.so.6",
"/usr/lib/libm.so.6",
"/usr/lib/libgcc_s.so.1",
"/usr/lib/libpthread.so.0",
"/usr/lib/libc.so.6",
"/usr/lib/libnsl.so.2",
"/usr/lib/libicudata.so.64",
"/lib64/ld-linux-x86-64.so.2",
"/usr/lib/libtirpc.so.3",
"/usr/lib/libgssapi_krb5.so.2",
"/usr/lib/libkrb5.so.3",
"/usr/lib/libk5crypto.so.3",
"/usr/lib/libcom_err.so.2",
"/usr/lib/libkrb5support.so.0",
"/usr/lib/libkeyutils.so.1",
"/usr/lib/libresolv.so.2"
]
}

View File

@ -1,331 +0,0 @@
{
"header": {
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20190531.095500.26942.0.001.json",
"dumpEventTime": "2019-05-31T09:55:00Z",
"dumpEventTimeStamp": "1559310900105",
"processId": 26942,
"cwd": "/home/petty/Github/status-im/token-economy-1",
"commandLine": [
"node",
"/home/petty/Github/status-im/token-economy-1/node_modules/.bin/eslint",
"--fix",
"/home/petty/Github/status-im/token-economy-1/src/App.jsx",
"/home/petty/Github/status-im/token-economy-1/src/App.css",
"/home/petty/Github/status-im/token-economy-1/build/js/vendors.640951b04ffd2402a5eb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/runtime~main.d26192c48fdcce4d50bb.js",
"/home/petty/Github/status-im/token-economy-1/build/js/main.5e2e15d48fe1364e50b0.js",
"/home/petty/Github/status-im/token-economy-1/build/css/main.css"
],
"nodejsVersion": "v11.14.0",
"glibcVersionRuntime": "2.29",
"glibcVersionCompiler": "2.28",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "11.14.0",
"v8": "7.0.276.38-node.18",
"uv": "1.28.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "67",
"nghttp2": "1.36.0",
"napi": "4",
"llhttp": "1.1.1",
"http_parser": "2.8.0",
"openssl": "1.1.1b",
"cldr": "35.1",
"icu": "64.1",
"tz": "2019a",
"unicode": "12.0"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v11.14.0/node-v11.14.0.tar.gz"
},
"osName": "Linux",
"osRelease": "5.0.9-arch1-1-ARCH",
"osVersion": "#1 SMP PREEMPT Sat Apr 20 15:00:46 UTC 2019",
"osMachine": "x86_64",
"host": "bean"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x000055c908181211",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, v8::Local<v8::String>) [node]"
},
{
"pc": "0x000055c90807274f",
"symbol": "node::OnFatalError(char const*, char const*) [node]"
},
{
"pc": "0x000055c90820c7b2",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x000055c90820ca0b",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x000055c9085a47d3",
"symbol": " [node]"
},
{
"pc": "0x000055c9085a4914",
"symbol": " [node]"
},
{
"pc": "0x000055c9085b44c6",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x000055c9085b4e6e",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x000055c9085b706d",
"symbol": "v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x000055c9085b70c2",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x000055c908585a05",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [node]"
},
{
"pc": "0x000055c9087f43ff",
"symbol": "v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*) [node]"
},
{
"pc": "0x00001c341104fc5d",
"symbol": ""
}
],
"javascriptHeap": {
"totalMemory": 1349722112,
"totalCommittedMemory": 1345612976,
"usedMemory": 1291148456,
"availableMemory": 180586912,
"memoryLimit": 1526909922,
"heapSpaces": {
"read_only_space": {
"memorySize": 524288,
"committedMemory": 42224,
"capacity": 515584,
"used": 33520,
"available": 482064
},
"new_space": {
"memorySize": 4194304,
"committedMemory": 2289728,
"capacity": 2062336,
"used": 583216,
"available": 1479120
},
"old_space": {
"memorySize": 1212878848,
"committedMemory": 1211594528,
"capacity": 1166813536,
"used": 1165183648,
"available": 1629888
},
"code_space": {
"memorySize": 6815744,
"committedMemory": 6378272,
"capacity": 5732544,
"used": 5732544,
"available": 0
},
"map_space": {
"memorySize": 5255168,
"committedMemory": 5254464,
"capacity": 1533120,
"used": 1533120,
"available": 0
},
"large_object_space": {
"memorySize": 120053760,
"committedMemory": 120053760,
"capacity": 295078248,
"used": 118082408,
"available": 176995840
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 0,
"used": 0,
"available": 0
}
}
},
"resourceUsage": {
"userCpuSeconds": 186.822,
"kernelCpuSeconds": 5.44125,
"cpuConsumptionPercent": 200.274,
"maxRss": 1548591104,
"pageFaults": {
"IORequired": 0,
"IONotRequired": 2541040
},
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 91.2728,
"kernelCpuSeconds": 3.00968,
"cpuConsumptionPercent": 98.2109,
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"libuv": [
],
"environmentVariables": {
"SHELL": "/bin/zsh",
"XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session0",
"VSCODE_GIT_ASKPASS_HANDLE": "/run/user/1000/vscode-git-askpass-0b5315ab11a49d8bb5e6e45810668db6b53c8345.sock",
"APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
"VSCODE_LOG_STACK": "false",
"VSCODE_LOGS": "/home/petty/.config/Code - OSS/logs/20190531T095258",
"ELECTRON_RUN_AS_NODE": "1",
"DESKTOP_SESSION": "i3-with-shmlog",
"EDITOR": "/usr/bin/nano",
"GTK_MODULES": "canberra-gtk-module",
"GIT_INDEX_FILE": "/home/petty/Github/status-im/token-economy-1/.git/index.lock",
"XDG_SEAT": "seat0",
"PWD": "/home/petty/Github/status-im/token-economy-1",
"XDG_SESSION_DESKTOP": "i3-with-shmlog",
"LOGNAME": "petty",
"QT_QPA_PLATFORMTHEME": "qt5ct",
"XDG_SESSION_TYPE": "x11",
"_": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin/lint-staged",
"XAUTHORITY": "/home/petty/.Xauthority",
"VSCODE_GIT_ASKPASS_NODE": "/usr/lib/electron/electron",
"GIT_AUTHOR_DATE": "@1559310799 -0400",
"XDG_GREETER_DATA_DIR": "/var/lib/lightdm-data/petty",
"VSCODE_PREVENT_FOREIGN_INSPECT": "true",
"GIT_EXEC_PATH": "/usr/lib/git-core",
"HOME": "/home/petty",
"LANG": "en_US.UTF-8",
"VSCODE_IPC_HOOK_EXTHOST": "/tmp/vscode-ipc-d757b01b-898e-44d1-b9cd-f475cb2d70ab.sock",
"VSCODE_IPC_HOOK": "/run/user/1000/vscode-ab2990ac-1.33.1-main.sock",
"VSCODE_CLI": "1",
"GIT_ASKPASS": "/usr/lib/code/extensions/git/dist/askpass.sh",
"XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0",
"GIT_AUTHOR_EMAIL": "corey@status.im",
"GIT_PREFIX": "",
"XDG_SESSION_CLASS": "user",
"USER": "petty",
"AMD_ENTRYPOINT": "vs/workbench/services/extensions/node/extensionHostProcess",
"VSCODE_GIT_COMMAND": "commit",
"DISPLAY": ":0",
"SHLVL": "2",
"GIT_EDITOR": ":",
"XDG_VTNR": "7",
"XDG_SESSION_ID": "2",
"MOZ_PLUGIN_PATH": "/usr/lib/mozilla/plugins",
"XDG_RUNTIME_DIR": "/run/user/1000",
"VERBOSE_LOGGING": "true",
"LC_ALL": "en_US.UTF-8",
"ELECTRON_NO_ATTACH_CONSOLE": "1",
"VSCODE_GIT_ASKPASS_MAIN": "/usr/lib/code/extensions/git/dist/askpass-main.js",
"LC_COLLATE": "en_US.UTF-8",
"GIT_AUTHOR_NAME": "Corey Petty",
"BROWSER": "/usr/bin/chromium",
"PATH": "/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/home/petty/Github/status-im/token-economy-1/node_modules/.bin:/home/petty/Github/status-im/node_modules/.bin:/home/petty/Github/node_modules/.bin:/home/petty/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/bin:/usr/lib/git-core:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl",
"PIPE_LOGGING": "true",
"GDMSESSION": "i3-with-shmlog",
"DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
"VSCODE_NLS_CONFIG": "{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}",
"MAIL": "/var/spool/mail/petty",
"VSCODE_HANDLES_UNCAUGHT_ERRORS": "true"
},
"userLimits": {
"core_file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 524288,
"hard": 524288
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 128362,
"hard": 128362
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"linux-vdso.so.1",
"/usr/lib/libz.so.1",
"/usr/lib/libuv.so.1",
"/usr/lib/libcares.so.2",
"/usr/lib/libnghttp2.so.14",
"/usr/lib/libcrypto.so.1.1",
"/usr/lib/libssl.so.1.1",
"/usr/lib/libicui18n.so.64",
"/usr/lib/libicuuc.so.64",
"/usr/lib/libdl.so.2",
"/usr/lib/librt.so.1",
"/usr/lib/libstdc++.so.6",
"/usr/lib/libm.so.6",
"/usr/lib/libgcc_s.so.1",
"/usr/lib/libpthread.so.0",
"/usr/lib/libc.so.6",
"/usr/lib/libnsl.so.2",
"/usr/lib/libicudata.so.64",
"/lib64/ld-linux-x86-64.so.2",
"/usr/lib/libtirpc.so.3",
"/usr/lib/libgssapi_krb5.so.2",
"/usr/lib/libkrb5.so.3",
"/usr/lib/libk5crypto.so.3",
"/usr/lib/libcom_err.so.2",
"/usr/lib/libkrb5support.so.0",
"/usr/lib/libkeyutils.so.1",
"/usr/lib/libresolv.so.2"
]
}

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import { hot } from 'react-hot-loader/root';
import { Runtime, Inspector } from '@observablehq/runtime';
import notebook from '@corpetty/test-graph-embed';
import Latex from 'react-latex';
import notebook from '@corpetty/status-sticker-market-blog-embed';
// import Latex from 'react-latex';
import style from './App.css';
class App extends Component {
@ -21,26 +21,17 @@ class App extends Component {
if (name === 'viewof userbar') {
return new Inspector(this.userbarRef.current);
}
if (name === 'viewof percentUsersRegisterName') {
return new Inspector(this.userConversionRef.current);
}
if (name === 'viewof removalRate') {
return new Inspector(this.removalRateRef.current);
}
if (name === 'viewof ensUserbar') {
return new Inspector(this.ensUserbarRef.current);
}
if (name === 'viewof dollarPriceDomain') {
return new Inspector(this.dollarPriceDomainRef.current);
}
if (name === 'viewof discountRate') {
return new Inspector(this.discountRateRef.current);
}
if (name === 'viewof lockedUsdBar') {
return new Inspector(this.lockedUsdBarRef.current);
if (name === 'viewof percentUserBuysPack') {
return new Inspector(this.percentUserBuysPackRef.current);
}
if (name === 'viewof netPresentUtility') {
return new Inspector(this.netPresentUtilityRef.current);
if (name === 'viewof userBuyPerYear') {
return new Inspector(this.userBuyPerYearRef.current);
}
if (name === 'viewof dollarPriceStickers') {
return new Inspector(this.dollarPriceStickersRef.current);
}
return null;
});
@ -54,387 +45,58 @@ class App extends Component {
userbarRef = React.createRef();
userConversionRef = React.createRef();
removalRateRef = React.createRef();
ensUserbarRef = React.createRef();
dollarPriceDomainRef = React.createRef();
discountRateRef = React.createRef();
lockedUsdBarRef = React.createRef();
percentUsersBuysPackRef = React.createRef();
netPresentUtilityRef = React.createRef();
userBuyPerYearRef = React.createRef();
dollarPriceStickersRef = React.createRef();
render() {
return (
<div className="App">
<h2>Introduction</h2>
<p />
<p>
The Status Network has a utility token, the Status Network Token
(SNT). What does that even mean? What utilities does it have and how
do their uses affect the rest of the ecosystem? Does it impact value?
What even is the value of a utility token?
</p>
<p>
These questions are hard, and there does not seem to be sufficient
academic answers to them. The technology enabling a utility token is
new, and transcendent of many older technologies. This consequently
means the models used to evaluate the older technologies will never be
able to completely describe the newer ones. We, as a community, need
to build new ones and evaluate them rigorously.
</p>
<p>
There is currently quite a bit of work being done in this field, but
it is mostly for investment firms to make appropriate capital
allocation decisions among a diversified portfolio of cryptoassets.
While this is drastically important for growth and project funding,
there is a lack of research on capital and resource allocation inside
of a single network. More specifically, any utility token needs to be
able to objectively evaluate various features and utilities of their
platform, and how they affect their ecosystem. For instance, we need
to be able to ask questions like:
<em>
How can we objectively measure the difference in the rate users use
feature X in Status and its respective impact on the ecosystem?
</em>
</p>
<p>
We will be launching Status with the following SNT use-cases, as
described in the{' '}
<a href="https://status.im/whitepaper.pdf">whitepaper</a> and{' '}
<a href="https://status.im/snt-utility/">the website</a>:
<ul>
<li>Teller Network</li>
<li>Tribute to Talk</li>
<li>ENS Usernames</li>
<li>Sticker Market</li>
<li>SNT Curated Dapp Store</li>
<li>Liquid Funding (may not be available at launch)</li>
<li>Network Incentivization (launching after V1)</li>
<li>User Acquisition Engine (launching after V1)</li>
</ul>
</p>
<p>
Each of these features leverage the SNT token, but in very different
ways. For instance, some features will require staking, some will
actually burn the token, and some will incentivize sending and
receiving. This means each will have differing effects on the supply
and demand of the token itself, and will need to be modeled
differently. It doesnt stop there as Status is an open and
permissionless platform for developers to build on and use, which
means that anyone can build SNT use-cases that affect the overall
supply and demand. But how do we know what effect a utility has? Where
do we go to try and evaluate its usefulness?
</p>
<p>
To this end, we are starting a blog series detailing some of the
research we are doing within Status to objectively evaluate the value
flows of SNT, the potential effects of our implemented (and upcoming)
SNT use cases within Status, and how our potential user growth impacts
SNT. This work will encompass traditional economic and finance theory,
work currently being done in crypto-economics, and novel methodology.
That means a part of this endeavor is an attempt to get peer review
and evaluation of what we do by you, the community!
</p>
<p>
<b>
DISCLAIMER: The work in this article (and mentioned notebooks) is
for modeling purposes only. The numbers herein are not to project
actual values locked up in Status and should not be used for
investment advice. It is our strict desire to create and improve
models that describe value flow of SNT use-cases (and similar token
use-cases), and how these use-cases compare to each other.
</b>
</p>
<p>
Lets start with the ENS naming system. In Status, for a little SNT,
you can register your username on the Ethereum Name System (ENS) so
others can find you easily. In order for us to apply models or
understand the economics of a use case, we first have to understand
what it is, how it works, and how it fits within the Status ecosystem.
Lets start by breaking down how ENS usernames work within Status:
Lets start by breaking down how the Sticker Market work within
Status:
<ol>
<li>User selects a unique username, {`<username>`}</li>
<li>User deposits 10 SNT into the ENS username dapp</li>
<li>
User is granted sole control over the subdomain {`<username>`}
.stateofus.eth for 1 year
</li>
<li>
User is able to get deposited funds after this yearly period, and
release the username back into available names.
</li>
<li>
User is now searchable within Status as {`<username>`} or
{`<username>`}.stateofus.eth outside of the Status app.
</li>
<li>Artist posts a Sticker pack for sale</li>
<li>Artist sets price of sticker pack</li>
<li>User purchases Sticker pack for use</li>
<li>User uses Stickers in Sticker pack in chat</li>
</ol>
</p>
<p>
The use case and token flow are both relatively simple, but what are
the effects on the network? Lets first try and model what value this
could potentially accrue over time. We can start by picking out the
variables in this process to see how things depend on each other.
Furthermore, the above values are what we currently use, but in terms
of modeling, we should turn those into variables that allow us to see
what effect each has on the overall mechanism. This can help inform us
(and you) on appropriate choices.
</p>
<h2>Discussion of variables</h2>
<h3>Number of Users</h3>
<p>
It is clear that this all depends on how many users Status has in the
app. If they are not using Status, then they wont use the feature.
This is our base metric, and we will model it using compounding growth
and loss. We can start with a number of users that are using the
network, and set additional growth and loss variables (in percentages)
that define how this number changes over the next 10 years. This means
that every year, we expect a certain percentage change in users based
on the numbers of the previous year. Depending on how you set those
percentages, the number of users can grow very rapidly! Go ahead and
play with the following variables to see how the number of users
change over the years.
Here we will reuse a lot of the user estimations from the previous
blog post on{` `}
<a href="https://our.status.im/token-economics-ens-usernames/">
ENS usernames
</a>
.
</p>
<div ref={this.numberUserInputRef} />
<div ref={this.userGrowthRateRef} />
<div ref={this.userChurnRateRef} />
<div ref={this.userbarRef} className={style.chart} />
<h3>Conversion rate of users to ENS username</h3>
<p>
Ok cool. We have our user base locked and loaded for the next 10
years, but not everyone is going to register an ENS username. We can
brand it, make it simple, and incentivize people to do it but the
reality is that that number will never be 100%. So the number of
people that DO decide to register an ENS username is what we want. We
get this number by multiplying the total number of users by the
adoption conversion rate, which is another variable.
</p>
<p>
Now not all users will keep their usernames. Some people will remove
their deposit after the year and bring their SNT back into
circulation. Some people will leave Status altogether. If they never
manually release their SNT from the ENS username contract, it can be
considered locked forever. For this, we will continue to consider them
users because from the contract&apos;s perspective, they are
indistinguishable. Well model the people who release their username
with another conversion factor. Go ahead and change these variables
and see how the following graph changes.
</p>
<div ref={this.userConversionRef} />
<div ref={this.removalRateRef} />
<div ref={this.ensUserbarRef} />
<h3>
US Dollar Amount of SNT to Deposit, Discount Rate, and Net Present
Value
</h3>
<p>
Now the contract itself locks up a specific amount of SNT per
username, but the goal is to model around a reasonable target price in
US dollars and have the contract change over time to adapt as the
price of SNT changes. Why do we do this? In order to evaluate value
flow overtime we need a relatively stable unit by which to measure and
normalize the value flows. We use US dollars due to the size,
stability and data availability for that market. While one can argue
that US dollars do not maintain their value in the long term, they at
least depreciate at a stable and predictable rate. The mechanisms and
governance around how this price change works is a subject still under
discussion and will be addressed in future articles (but weve got
some really cool ideas). So the knob we choose to tweak here is the US
dollar amount of SNT to be locked up.
</p>
<div ref={this.dollarPriceDomainRef} />
<p>
An additional factor in using the US Dollar equivalent of SNT here is
that we can add a discounted cash flow analysis based on historical
data of USD. Future notebooks and articles will look into deriving and
modeling a discount rate purely in cryptocurrency. For brevity, this
article will only introduce the concept and gloss over a good portion
of the details and derivation of the terms within. For more
information, please visit the{' '}
<a href="https://observablehq.com/@bgits/status-cost-of-capital">
more detailed workbook
</a>
.
</p>
<p>
A simple surface level description of a discount rate is the rate you
use to figure out how much present value a known future cash flow is
worth. In other words, how to presently evaluate the amount of money
you know will come in the future. Once you have the discount rate, you
can calculate the <em>Net Present Value</em> (NPV), which is given by
the following formula:
</p>
<p>
<Latex displayMode>
{'$$NPV = \\sum^n_{t=1} \\frac{R_t}{(1+i)^t}$$'}
</Latex>
</p>
<p>
where <Latex>$$t$$</Latex> is the number of time periods (10 in this
article),
<Latex>$$R_t$$</Latex>
is the net cashflow of that particular time period , and{' '}
<Latex>$$i$$</Latex> is the discount rate. There is also a potential
for including the initial cost (<Latex>$$t=0$$</Latex>) of the
project. We are purposely not including this as Status absorbs the
investment cost for the network. There are quite a few subtle
arguments here around things like hurdle rates, payback periods, etc,
but we defer them and their potential utility to a future article.
Anyway, the concept of discounting future value has been around for a
long time. The earliest known reference was in the 6th century BCE{' '}
<a href="http://www.aramaic-dem.org/English/History/The%20proverbs%20of%20the%20Aramean%20Ahikar.pdf">
Proverbs of Ahiqar
</a>
:
</p>
<blockquote>
A sparrow in thy hand is better than a thousand sparrows flying
</blockquote>
<p>
You have probably heard a more common version is this, and Warren
Buffet does a good job of{' '}
<a href="https://www.youtube.com/watch?v=BP_TUDOYDrg">
explaining it:
</a>
</p>
<blockquote>
How many birds are in the bush? When are you going to get them out?
and how sure are you?
</blockquote>
<p>
Either way, more details on how we can do this will be explained in a
future article. Below is a knob to change this discount rate. The
higher the rate, the more unsure you are about the future income. Play
with both of these knobs to find out how much money will be locked up
in the ENS username contract over 10 years.
</p>
<div ref={this.discountRateRef} />
<div ref={this.lockedUsdBarRef} />
<p>
and all of this gets summed together to give you the NPV of ENS
Usernames within Status. To be more explicit, the NPV is the present
value of something based on a projection into the future. Based on the
values chosen above, we arrive at an NPV of:
</p>
<div className="slide">
<div ref={this.netPresentUtilityRef} />
</div>
<p>
In other words, after setting all of the above model inputs we have
finally come to a way of looking at how &quot;impactful&quot; ENS
usernames are in a single value. This value will become more useful as
we build out other models for other use cases so we can compare them
and see relative differences. Eventually, we will be able to see the
relative impact a given utility within Status has within the entire
ecosystem.
</p>
<h2>Example Scenario Analysis</h2>
<p>
It is also useful to look at how this number changes as we tweak the
input variables to see their impact. As an example, let&apos;s look at
what happens if we are able to do something to increase the number
Status users who actually register an ENS username (actually currently
in the works). This is an example of the question we postulated in the
beginning of this article. The default value is 50%, which leads to a
NPV of $45,745,047.00 (holding all default values constant).
</p>
<p>
What happens if we&apos;re able to increase this number, say, to 75%?
Keeping all other variables equal, this change alone changes the NPV
to $74,335,701.00, which is a 62.5% increase.
</p>
<p>
As another example, let&apos;s look at what happens if we increase our
yearly growth rate, going from 300% per year to 350% per year. Holding
everything else constant, with a 350% growth rate per year, we come to
NPV of $129,104,065.00 which is a 182.2% growth and would constitute a
superlinear relationship due to the effects of compounding growth.
Based on these two simple examples, it is clear we should spend more
time on user acquisition and continuous growth over increasing ENS
username conversion rates (OR BOTH!).
</p>
<p>
As you can see, by making models of our SNT use-cases, we can start to
ask questions and get numbers to give us actionable data (assuming a
decent accuracy of the model). Even if the actual numbers are
drastically wrong, but the relationships are correct, we can still
come away with quality information on how we spend our time, money,
and effort.
</p>
<p />
<h2>Thoughts and Conclusions</h2>
<p>
So what have we learned from all of this? How can we change the model
to better fit reality? Are their any actionable conclusions around ENS
usernames that come from this information?
</p>
<p>
As stated previously, this particular use-case and work done lay the
groundwork to build more complex models of the SNT use-cases. It also
helps introduce the concept of how different variables affect growth
and impact over time. If you plan to follow this series and work, we
suggest making sure you understand each step along the way because all
of this can get complicated fast. At the very least, we hope you have
been able to grasp a little of what goes on behind the scenes at
Status.
</p>
<p>
You have probably noticed that the default values for each variable is
not justified anywhere. This is a problem that we plan to face by
using historical data to make justified default values. Right now, we
have a toolset to see what happens when we change variables, but not
<em> what those variables should be based in reality.</em> These
workbooks are living documents that will change over time to include
such work.
</p>
<p />
<h3>Call to Action</h3>
<p>
Our goal is to continuously improve these methods and create more work
not only around ENS usernames, but with the entire SNT ecosystem. This
means we would love to get feedback from you, the community. If we
have done something incorrectly, or you know of some way to better
model various aspects herein, please join the discussion. We will be
posting all of these articles in{' '}
<a href="https://discuss.status.im">our discuss</a> and linking around
the internet in relevant places.
</p>
<p>
If you are interested in the models created here and want to see more
detail, please see the more detailed notebooks on{' '}
<a href="https://observablehq.com">ObservableHQ</a>. There, you can
play, edit, and fork the notebooks for your own use cases. We would
love to hear your feedback!
<ul>
<li>
<a href="https://observablehq.com/@bgits/status-ens-usernames-utility-value-exploration">
ENS Usernames
</a>
</li>
<li>
<a href="https://observablehq.com/@bgits/status-cost-of-capital?collection=@bgits/status">
Status Cost of Capital
</a>
</li>
<li>
Join the conversation in Status at{' '}
<a href="https://get.status.im/chat/public/token-economics">
#token-economics
</a>
</li>
<li>
Learn more about SNT and the various use cases{' '}
<a href="https://status.im/snt-utility/">here</a>
</li>
</ul>
</p>
<p />
<h3>Future Improvements and Articles</h3>
<ul>
<li>probability of failure</li>
<li>justifications using historical data</li>
<li>assign variables and create equations for each</li>
<li>discussion around initial cost, hurdle rates, payback periods</li>
<li>variable sticker prices and popularity</li>
<li>market fees</li>
</ul>
</div>
);