Search
Search

Transaction: CF6J2Hd...16cS

Receiver
Status
Succeeded
Transaction Fee
0.00109 
Deposit Value
0 
Gas Used
11 Tgas
Attached Gas
100 Tgas
Created
January 31, 2023 at 11:27:34am
Hash
CF6J2HdyXyBgbCnYAER9j4PsG9iGXyDLtge3nbvn16cS

Actions

Called method: 'set' in contract: social.near
Arguments:
{ "data": { "vow_owner_123.near": { "widget": { "Instance_time_edit": { "": "const data = Social.index(\"Instance_time\", \"schedule\");\r\nif (!data) {\r\n return \"Loading datas\";\r\n}\r\nvar sortedData = data.sort((d1, d2) => d1.blockHeight - d2.blockHeight);\r\nvar finalData = {};\r\n\r\nconst sortAndRemoveRepeated = (flag, data) => {\r\n var temp = data;\r\n const flag1 = data.indexOf(0);\r\n if (flag) temp.push(0, 168);\r\n var sortedTimeData = temp.sort((d2, d1) => d2 - d1);\r\n\r\n var final = [];\r\n for (var k = 0; k < sortedTimeData.length; k++) {\r\n var repeated = false;\r\n for (var l = 0; l < sortedTimeData.length; l++) {\r\n if (k != l && sortedTimeData[k] == sortedTimeData[l]) {\r\n repeated = true;\r\n }\r\n }\r\n if (!repeated) {\r\n if (\r\n !(\r\n (flag1 && sortedTimeData[k] == 0) ||\r\n (flag1 && sortedTimeData[k] == 168)\r\n )\r\n )\r\n final.push(sortedTimeData[k]);\r\n }\r\n }\r\n return final;\r\n};\r\n\r\nfor (let i = 0; i < sortedData.length; i++) {\r\n if (sortedData[i].accountId == context.accountId) {\r\n var time_zone = sortedData[i].value._time_zone ?? \"(UTC+00:00) UTC\";\r\n var zone = time_zone.split(\" \")[0].split(\"UTC\")[1].split(\":\");\r\n var hour = parseInt(zone[0]);\r\n var utc_offset = hour + (parseInt(zone[1]) / 60) * ((hour > 0) * 2 - 1);\r\n var times = sortedData[i].value._data;\r\n var temp = [];\r\n var flag = false;\r\n for (var j = 0; j < times.length; j++) {\r\n const time = times[j] + utc_offset;\r\n if (time > 168) {\r\n temp.push(time - 168);\r\n flag = true;\r\n } else if (time < 0) {\r\n temp.push(time + 168);\r\n flag = true;\r\n } else temp.push(time);\r\n }\r\n const final = sortAndRemoveRepeated(flag, temp);\r\n for (var m = 0; m < final.length - 1; m += 2) {\r\n const _from = final[m];\r\n const _to = final[m + 1];\r\n for (var o = 1; o < 7; o++) {\r\n if (o * 24 > _from && o * 24 < _to) {\r\n final.push(o * 24, o * 24);\r\n }\r\n }\r\n }\r\n var sortedTimeDataNew = final.sort((d2, d1) => d2 - d1);\r\n var weeklyData = [];\r\n for (var t = 0; t < 7; t++) {\r\n var dailyData = [];\r\n var exist = false;\r\n for (var p = 0; p < sortedTimeDataNew.length - 1; p += 2) {\r\n var _from = sortedTimeDataNew[p];\r\n var _to = sortedTimeDataNew[p + 1];\r\n if (_to > t * 24 && _to <= (t + 1) * 24) {\r\n dailyData.push({\r\n _from: _from - t * 24,\r\n _to: _to - t * 24,\r\n });\r\n exist = true;\r\n }\r\n }\r\n if (!exist) weeklyData.push({ on_off: \"off\", data: [] });\r\n else weeklyData.push({ on_off: \"on\", data: dailyData });\r\n }\r\n finalData = {\r\n schedule: weeklyData,\r\n time_zone: time_zone,\r\n is_on: sortedData[i].value._is_on,\r\n };\r\n }\r\n}\r\nconsole.log(\"finalData: \", finalData);\r\n\r\nconst time_zones = [\r\n \"(UTC-11:00) Samoa\",\r\n \"(UTC-10:00) Hawaii\",\r\n \"(UTC-09:00) Alaska\",\r\n \"(UTC-08:00) Pacific Time\",\r\n \"(UTC-07:00) Arizona\",\r\n \"(UTC-06:00) Central America\",\r\n \"(UTC-06:00) Saskatchewan\",\r\n \"(UTC-05:00) Eastern Time\",\r\n \"(UTC-04:00) Atlantic Time\",\r\n \"(UTC-04:30) Caracas\",\r\n \"(UTC-04:00) Santiago\",\r\n \"(UTC-03:30) Newfoundland\",\r\n \"(UTC-03:00) Brasilia\",\r\n \"(UTC-02:00) Mid-Atlantic\",\r\n \"(UTC-01:00) Azores\",\r\n \"(UTC+00:00) UTC\",\r\n \"(UTC+01:00) Amsterdam\",\r\n \"(UTC+02:00) Athens\",\r\n \"(UTC+03:00) Baghdad\",\r\n \"(UTC+04:00) Abu Dhabi\",\r\n \"(UTC+04:30) Kabul\",\r\n \"(UTC+05:00) Islamabad\",\r\n \"(UTC+05:30) Chennai\",\r\n \"(UTC+05:45) Kathmandu\",\r\n \"(UTC+06:00) Almaty\",\r\n \"(UTC+06:30) Rangoon\",\r\n \"(UTC+07:00) Bangkok\",\r\n \"(UTC+08:00) Beijing\",\r\n \"(UTC+09:00) Irkutsk\",\r\n \"(UTC+09:00) Seoul\",\r\n \"(UTC+09:00) Tokyo\",\r\n \"(UTC+09:30) Adelaide\",\r\n \"(UTC+10:00) Guam\",\r\n \"(UTC+11:00) Vladivostok\",\r\n \"(UTC+12:00) Auckland\",\r\n \"(UTC+13:00) Nuku'alofa\",\r\n];\r\nconst getFormatedTime = (time) => {\r\n const hours = parseInt(time);\r\n const mins = (time - hours) * 60;\r\n let formated = `${hours}:${mins == 0 ? \"00\" : mins}`;\r\n\r\n return formated;\r\n};\r\nState.init({\r\n hoveringElement: \"\",\r\n _account: \"All\",\r\n _time_zone: finalData.time_zone ?? \"(UTC+00:00) UTC\",\r\n _is_on: finalData.is_on ?? \"off\",\r\n});\r\n\r\nconst profile = Social.getr(`${context.accountId}/profile`);\r\nconst flex_column = {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n};\r\nconst comboBox = {\r\n background: \"rgb(230, 230, 230)\",\r\n color: \"black\",\r\n borderRadius: \"1rem\",\r\n padding: \"1rem\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n};\r\nconst set_schedule = () => {\r\n State.update({ _time_zone: finalData.time_zone ?? \"(UTC+00:00) UTC\" });\r\n};\r\nreturn (\r\n <div>\r\n <div className=\"d-flex flex-column\">\r\n <div className=\"d-flex justify-content-between\">\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n marginBottom: \"1rem\",\r\n color: \"black\",\r\n borderRadius: \"2rem\",\r\n fontWeight: 600,\r\n fontSize: \"x-large\",\r\n }}\r\n >\r\n Weekly Schedule\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <div>{profile.name}</div>\r\n <div>@{context.accountId}</div>\r\n <div>\r\n {`(UTC ${getFormatedTime(\r\n new Date().getTimezoneOffset() / 60\r\n )}) ${new Date()\r\n .toLocaleDateString(undefined, {\r\n day: \"2-digit\",\r\n timeZoneName: \"long\",\r\n })\r\n .substring(4)}`}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"w-100 d-flex flex-row justify-content-between align-items-center\">\r\n <div>\r\n <select\r\n style={comboBox}\r\n name=\"zones\"\r\n id=\"zones\"\r\n value={state._time_zone}\r\n onChange={(e) => {\r\n State.update({ _time_zone: e.target.value });\r\n }}\r\n >\r\n {time_zones.map((zone) => (\r\n <option value={zone}>{zone}</option>\r\n ))}\r\n </select>\r\n <select\r\n style={comboBox}\r\n value={state.is_on}\r\n onChange={(e) => {\r\n State.update({ is_on: e.target.value });\r\n }}\r\n >\r\n <option value=\"on\">on</option>\r\n <option value=\"off\">off</option>\r\n </select>\r\n </div>\r\n <div>\r\n <a\r\n href=\"https://near.social/#/vow_owner_123.near/widget/Instance_time\"\r\n onMouseEnter={() => {\r\n State.update({ hoveringElement: \"create\" });\r\n }}\r\n onMouseLeave={() => {\r\n State.update({ hoveringElement: \"\" });\r\n }}\r\n style={\r\n state.hoveringElement == \"create\"\r\n ? {\r\n border: \"2px solid transparent\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n padding: \"0.3rem 1.5rem\",\r\n backgroundColor: \"#010A2D\",\r\n borderRadius: \"12px\",\r\n color: \"white\",\r\n textDecoration: \"none\",\r\n }\r\n : {\r\n border: \"2px solid black\",\r\n color: \"black\",\r\n backgroundColor: \"white\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n padding: \"0.3rem 1.5rem\",\r\n borderRadius: \"12px\",\r\n }\r\n }\r\n >\r\n View Schedules\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"align-items-center pt-3\">\r\n <Widget\r\n src={`vow_owner_123.near/widget/Instance_time_setting`}\r\n props={{\r\n data: {\r\n schedule: finalData.schedule,\r\n time_zone: state._time_zone,\r\n is_on: state._is_on,\r\n },\r\n style: { width: \"100%\", height: \"1.5em\" },\r\n }}\r\n rawCode={show}\r\n />\r\n </div>\r\n </div>\r\n);\r\n" } } } } }

Transaction Execution Plan

Convert Transaction To Receipt
Gas Burned:
2 Tgas
Tokens Burned:
0.00024 
Receipt:
Predecessor ID:
Receiver ID:
Gas Burned:
8 Tgas
Tokens Burned:
0.00085 
Called method: 'set' in contract: social.near
Arguments:
{ "data": { "vow_owner_123.near": { "widget": { "Instance_time_edit": { "": "const data = Social.index(\"Instance_time\", \"schedule\");\r\nif (!data) {\r\n return \"Loading datas\";\r\n}\r\nvar sortedData = data.sort((d1, d2) => d1.blockHeight - d2.blockHeight);\r\nvar finalData = {};\r\n\r\nconst sortAndRemoveRepeated = (flag, data) => {\r\n var temp = data;\r\n const flag1 = data.indexOf(0);\r\n if (flag) temp.push(0, 168);\r\n var sortedTimeData = temp.sort((d2, d1) => d2 - d1);\r\n\r\n var final = [];\r\n for (var k = 0; k < sortedTimeData.length; k++) {\r\n var repeated = false;\r\n for (var l = 0; l < sortedTimeData.length; l++) {\r\n if (k != l && sortedTimeData[k] == sortedTimeData[l]) {\r\n repeated = true;\r\n }\r\n }\r\n if (!repeated) {\r\n if (\r\n !(\r\n (flag1 && sortedTimeData[k] == 0) ||\r\n (flag1 && sortedTimeData[k] == 168)\r\n )\r\n )\r\n final.push(sortedTimeData[k]);\r\n }\r\n }\r\n return final;\r\n};\r\n\r\nfor (let i = 0; i < sortedData.length; i++) {\r\n if (sortedData[i].accountId == context.accountId) {\r\n var time_zone = sortedData[i].value._time_zone ?? \"(UTC+00:00) UTC\";\r\n var zone = time_zone.split(\" \")[0].split(\"UTC\")[1].split(\":\");\r\n var hour = parseInt(zone[0]);\r\n var utc_offset = hour + (parseInt(zone[1]) / 60) * ((hour > 0) * 2 - 1);\r\n var times = sortedData[i].value._data;\r\n var temp = [];\r\n var flag = false;\r\n for (var j = 0; j < times.length; j++) {\r\n const time = times[j] + utc_offset;\r\n if (time > 168) {\r\n temp.push(time - 168);\r\n flag = true;\r\n } else if (time < 0) {\r\n temp.push(time + 168);\r\n flag = true;\r\n } else temp.push(time);\r\n }\r\n const final = sortAndRemoveRepeated(flag, temp);\r\n for (var m = 0; m < final.length - 1; m += 2) {\r\n const _from = final[m];\r\n const _to = final[m + 1];\r\n for (var o = 1; o < 7; o++) {\r\n if (o * 24 > _from && o * 24 < _to) {\r\n final.push(o * 24, o * 24);\r\n }\r\n }\r\n }\r\n var sortedTimeDataNew = final.sort((d2, d1) => d2 - d1);\r\n var weeklyData = [];\r\n for (var t = 0; t < 7; t++) {\r\n var dailyData = [];\r\n var exist = false;\r\n for (var p = 0; p < sortedTimeDataNew.length - 1; p += 2) {\r\n var _from = sortedTimeDataNew[p];\r\n var _to = sortedTimeDataNew[p + 1];\r\n if (_to > t * 24 && _to <= (t + 1) * 24) {\r\n dailyData.push({\r\n _from: _from - t * 24,\r\n _to: _to - t * 24,\r\n });\r\n exist = true;\r\n }\r\n }\r\n if (!exist) weeklyData.push({ on_off: \"off\", data: [] });\r\n else weeklyData.push({ on_off: \"on\", data: dailyData });\r\n }\r\n finalData = {\r\n schedule: weeklyData,\r\n time_zone: time_zone,\r\n is_on: sortedData[i].value._is_on,\r\n };\r\n }\r\n}\r\nconsole.log(\"finalData: \", finalData);\r\n\r\nconst time_zones = [\r\n \"(UTC-11:00) Samoa\",\r\n \"(UTC-10:00) Hawaii\",\r\n \"(UTC-09:00) Alaska\",\r\n \"(UTC-08:00) Pacific Time\",\r\n \"(UTC-07:00) Arizona\",\r\n \"(UTC-06:00) Central America\",\r\n \"(UTC-06:00) Saskatchewan\",\r\n \"(UTC-05:00) Eastern Time\",\r\n \"(UTC-04:00) Atlantic Time\",\r\n \"(UTC-04:30) Caracas\",\r\n \"(UTC-04:00) Santiago\",\r\n \"(UTC-03:30) Newfoundland\",\r\n \"(UTC-03:00) Brasilia\",\r\n \"(UTC-02:00) Mid-Atlantic\",\r\n \"(UTC-01:00) Azores\",\r\n \"(UTC+00:00) UTC\",\r\n \"(UTC+01:00) Amsterdam\",\r\n \"(UTC+02:00) Athens\",\r\n \"(UTC+03:00) Baghdad\",\r\n \"(UTC+04:00) Abu Dhabi\",\r\n \"(UTC+04:30) Kabul\",\r\n \"(UTC+05:00) Islamabad\",\r\n \"(UTC+05:30) Chennai\",\r\n \"(UTC+05:45) Kathmandu\",\r\n \"(UTC+06:00) Almaty\",\r\n \"(UTC+06:30) Rangoon\",\r\n \"(UTC+07:00) Bangkok\",\r\n \"(UTC+08:00) Beijing\",\r\n \"(UTC+09:00) Irkutsk\",\r\n \"(UTC+09:00) Seoul\",\r\n \"(UTC+09:00) Tokyo\",\r\n \"(UTC+09:30) Adelaide\",\r\n \"(UTC+10:00) Guam\",\r\n \"(UTC+11:00) Vladivostok\",\r\n \"(UTC+12:00) Auckland\",\r\n \"(UTC+13:00) Nuku'alofa\",\r\n];\r\nconst getFormatedTime = (time) => {\r\n const hours = parseInt(time);\r\n const mins = (time - hours) * 60;\r\n let formated = `${hours}:${mins == 0 ? \"00\" : mins}`;\r\n\r\n return formated;\r\n};\r\nState.init({\r\n hoveringElement: \"\",\r\n _account: \"All\",\r\n _time_zone: finalData.time_zone ?? \"(UTC+00:00) UTC\",\r\n _is_on: finalData.is_on ?? \"off\",\r\n});\r\n\r\nconst profile = Social.getr(`${context.accountId}/profile`);\r\nconst flex_column = {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n};\r\nconst comboBox = {\r\n background: \"rgb(230, 230, 230)\",\r\n color: \"black\",\r\n borderRadius: \"1rem\",\r\n padding: \"1rem\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n};\r\nconst set_schedule = () => {\r\n State.update({ _time_zone: finalData.time_zone ?? \"(UTC+00:00) UTC\" });\r\n};\r\nreturn (\r\n <div>\r\n <div className=\"d-flex flex-column\">\r\n <div className=\"d-flex justify-content-between\">\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n marginBottom: \"1rem\",\r\n color: \"black\",\r\n borderRadius: \"2rem\",\r\n fontWeight: 600,\r\n fontSize: \"x-large\",\r\n }}\r\n >\r\n Weekly Schedule\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <div>{profile.name}</div>\r\n <div>@{context.accountId}</div>\r\n <div>\r\n {`(UTC ${getFormatedTime(\r\n new Date().getTimezoneOffset() / 60\r\n )}) ${new Date()\r\n .toLocaleDateString(undefined, {\r\n day: \"2-digit\",\r\n timeZoneName: \"long\",\r\n })\r\n .substring(4)}`}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"w-100 d-flex flex-row justify-content-between align-items-center\">\r\n <div>\r\n <select\r\n style={comboBox}\r\n name=\"zones\"\r\n id=\"zones\"\r\n value={state._time_zone}\r\n onChange={(e) => {\r\n State.update({ _time_zone: e.target.value });\r\n }}\r\n >\r\n {time_zones.map((zone) => (\r\n <option value={zone}>{zone}</option>\r\n ))}\r\n </select>\r\n <select\r\n style={comboBox}\r\n value={state.is_on}\r\n onChange={(e) => {\r\n State.update({ is_on: e.target.value });\r\n }}\r\n >\r\n <option value=\"on\">on</option>\r\n <option value=\"off\">off</option>\r\n </select>\r\n </div>\r\n <div>\r\n <a\r\n href=\"https://near.social/#/vow_owner_123.near/widget/Instance_time\"\r\n onMouseEnter={() => {\r\n State.update({ hoveringElement: \"create\" });\r\n }}\r\n onMouseLeave={() => {\r\n State.update({ hoveringElement: \"\" });\r\n }}\r\n style={\r\n state.hoveringElement == \"create\"\r\n ? {\r\n border: \"2px solid transparent\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n padding: \"0.3rem 1.5rem\",\r\n backgroundColor: \"#010A2D\",\r\n borderRadius: \"12px\",\r\n color: \"white\",\r\n textDecoration: \"none\",\r\n }\r\n : {\r\n border: \"2px solid black\",\r\n color: \"black\",\r\n backgroundColor: \"white\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n padding: \"0.3rem 1.5rem\",\r\n borderRadius: \"12px\",\r\n }\r\n }\r\n >\r\n View Schedules\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"align-items-center pt-3\">\r\n <Widget\r\n src={`vow_owner_123.near/widget/Instance_time_setting`}\r\n props={{\r\n data: {\r\n schedule: finalData.schedule,\r\n time_zone: state._time_zone,\r\n is_on: state._is_on,\r\n },\r\n style: { width: \"100%\", height: \"1.5em\" },\r\n }}\r\n rawCode={show}\r\n />\r\n </div>\r\n </div>\r\n);\r\n" } } } } }
Empty result
No logs
Receipt:
Predecessor ID:
Receiver ID:
Gas Burned:
223 Ggas
Tokens Burned:
0 
Transferred 0.01821  to vow_owner_123.near
Empty result
No logs