Search
Search

Transaction: 57bP6Yb...z5m3

Signed by
Receiver
Status
Succeeded
Transaction Fee
0.00101 
Deposit Value
0.03745 
Gas Used
10 Tgas
Attached Gas
100 Tgas
Created
March 26, 2024 at 5:59:42pm
Hash
57bP6Ybweb9vYimyXCqMP5hbUyR7RKQmSnysXF1Lz5m3

Actions

Called method: 'set' in contract: social.near
Arguments:
{ "data": { "buildcity.near": { "widget": { "AddCity": { "": "const creatorId = props.creatorId ?? context.accountId;\nconst [graphId, setGraphId] = useState(\"\");\n\nState.init({\n group,\n members: { [creatorId]: \"\" },\n newMember: \"\",\n});\n\nfunction addMember(newMember) {\n State.update({\n members: { ...state.members, [newMember]: \"\" },\n });\n}\n\nfunction removeMember(memberKey) {\n const updatedMembers = { ...state.members };\n delete updatedMembers[memberKey];\n\n State.update({\n members: updatedMembers,\n });\n}\n\nfunction isNearAddress(address) {\n if (typeof address !== \"string\") {\n return false;\n }\n if (!address.endsWith(\".near\")) {\n return false;\n }\n const parts = address.split(\".\");\n if (parts.length !== 2) {\n return false;\n }\n if (parts[0].length < 2 || parts[0].length > 32) {\n return false;\n }\n if (!/^[a-z0-9_-]+$/i.test(parts[0])) {\n return false;\n }\n return true;\n}\n\nconst memberId = props.memberId ?? state.newMember;\nconst isValid = isNearAddress(memberId);\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n height: auto;\n align-items: flex-start;\n background: #fff;\n border-radius: 10px;\n padding: 20px;\n margin: 20px auto;\n`;\n\nconst handleCreate = () => {\n const data = {\n graph: {\n [graphId]: {\n ...state.members,\n },\n },\n };\n Social.set(data);\n};\n\nreturn (\n <div className=\"m-3\">\n <div className=\"d-flex flex-row justify-content-between\">\n <h3>Build Social</h3>\n <button\n disabled={!graphId}\n onClick={handleCreate}\n className=\"btn btn-success\"\n >\n Create\n </button>\n </div>\n <div className=\"m-2\">\n <h5 className=\"mb-2\">Graph ID</h5>\n <div className=\"mb-3\">\n <input\n placeholder=\"name this group\"\n onChange={(e) =>\n setGraphId(e.target.value.replace(/\\s+/g, \"-\").replace(/\\//g, \"\"))\n }\n />\n </div>\n <h5 className=\"mb-2\">New Member</h5>\n <div className=\"mb-2\">\n <input\n label=\"input each member's account ID here, then click `add` below\"\n placeholder=\"<example>.near\"\n onChange={(e) => State.update({ newMember: e.target.value })}\n />\n <div className=\"d-flex align-items-center mt-2\">\n <button\n disabled={!isValid}\n className=\"btn btn-primary mt-1\"\n onClick={() => addMember(state.newMember)}\n >\n Add\n </button>\n </div>\n </div>\n <br />\n <div>\n {Object.keys(state.members).map((a) => {\n return (\n <div className=\"d-flex m-2 p-2 justify-content-between align-items-center\">\n <div className=\"d-flex align-items-center\">\n <Widget\n src=\"mob.near/widget/Profile\"\n props={{ accountId: a }}\n />\n </div>\n <button\n className=\"btn btn-danger m-1\"\n onClick={() => removeMember(a)}\n >\n Remove\n </button>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n);\n", "metadata": { "fork_of": "buildnyc.near/widget/graph.create@115262699" } } } } } }

Transaction Execution Plan

Convert Transaction To Receipt
Gas Burned:
2 Tgas
Tokens Burned:
0.00024 
Receipt:
Predecessor ID:
Receiver ID:
Gas Burned:
7 Tgas
Tokens Burned:
0.00077 
Called method: 'set' in contract: social.near
Arguments:
{ "data": { "buildcity.near": { "widget": { "AddCity": { "": "const creatorId = props.creatorId ?? context.accountId;\nconst [graphId, setGraphId] = useState(\"\");\n\nState.init({\n group,\n members: { [creatorId]: \"\" },\n newMember: \"\",\n});\n\nfunction addMember(newMember) {\n State.update({\n members: { ...state.members, [newMember]: \"\" },\n });\n}\n\nfunction removeMember(memberKey) {\n const updatedMembers = { ...state.members };\n delete updatedMembers[memberKey];\n\n State.update({\n members: updatedMembers,\n });\n}\n\nfunction isNearAddress(address) {\n if (typeof address !== \"string\") {\n return false;\n }\n if (!address.endsWith(\".near\")) {\n return false;\n }\n const parts = address.split(\".\");\n if (parts.length !== 2) {\n return false;\n }\n if (parts[0].length < 2 || parts[0].length > 32) {\n return false;\n }\n if (!/^[a-z0-9_-]+$/i.test(parts[0])) {\n return false;\n }\n return true;\n}\n\nconst memberId = props.memberId ?? state.newMember;\nconst isValid = isNearAddress(memberId);\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n height: auto;\n align-items: flex-start;\n background: #fff;\n border-radius: 10px;\n padding: 20px;\n margin: 20px auto;\n`;\n\nconst handleCreate = () => {\n const data = {\n graph: {\n [graphId]: {\n ...state.members,\n },\n },\n };\n Social.set(data);\n};\n\nreturn (\n <div className=\"m-3\">\n <div className=\"d-flex flex-row justify-content-between\">\n <h3>Build Social</h3>\n <button\n disabled={!graphId}\n onClick={handleCreate}\n className=\"btn btn-success\"\n >\n Create\n </button>\n </div>\n <div className=\"m-2\">\n <h5 className=\"mb-2\">Graph ID</h5>\n <div className=\"mb-3\">\n <input\n placeholder=\"name this group\"\n onChange={(e) =>\n setGraphId(e.target.value.replace(/\\s+/g, \"-\").replace(/\\//g, \"\"))\n }\n />\n </div>\n <h5 className=\"mb-2\">New Member</h5>\n <div className=\"mb-2\">\n <input\n label=\"input each member's account ID here, then click `add` below\"\n placeholder=\"<example>.near\"\n onChange={(e) => State.update({ newMember: e.target.value })}\n />\n <div className=\"d-flex align-items-center mt-2\">\n <button\n disabled={!isValid}\n className=\"btn btn-primary mt-1\"\n onClick={() => addMember(state.newMember)}\n >\n Add\n </button>\n </div>\n </div>\n <br />\n <div>\n {Object.keys(state.members).map((a) => {\n return (\n <div className=\"d-flex m-2 p-2 justify-content-between align-items-center\">\n <div className=\"d-flex align-items-center\">\n <Widget\n src=\"mob.near/widget/Profile\"\n props={{ accountId: a }}\n />\n </div>\n <button\n className=\"btn btn-danger m-1\"\n onClick={() => removeMember(a)}\n >\n Remove\n </button>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n);\n", "metadata": { "fork_of": "buildnyc.near/widget/graph.create@115262699" } } } } } }
Result:
{ "block_height": "115527157" }
No logs
Receipt:
Predecessor ID:
Receiver ID:
Gas Burned:
223 Ggas
Tokens Burned:
0 
Transferred 0.01829  to buildnyc.near
Empty result
No logs