{"id":16031916,"url":"https://github.com/dckc/ag-admin","last_synced_at":"2026-02-27T13:40:29.430Z","repository":{"id":43773951,"uuid":"489772303","full_name":"dckc/ag-admin","owner":"dckc","description":"Administrative processes with Agoric","archived":false,"fork":false,"pushed_at":"2022-07-07T20:31:38.000Z","size":3065,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-12T10:50:33.267Z","etag":null,"topics":["capabilities","javascript","smart-contracts"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dckc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-07T20:12:04.000Z","updated_at":"2022-07-15T20:13:46.000Z","dependencies_parsed_at":"2022-09-21T22:31:32.587Z","dependency_job_id":null,"html_url":"https://github.com/dckc/ag-admin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dckc/ag-admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dckc%2Fag-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dckc%2Fag-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dckc%2Fag-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dckc%2Fag-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dckc","download_url":"https://codeload.github.com/dckc/ag-admin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dckc%2Fag-admin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29898179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T12:09:13.686Z","status":"ssl_error","status_checked_at":"2026-02-27T12:09:13.282Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capabilities","javascript","smart-contracts"],"created_at":"2024-10-08T21:07:15.067Z","updated_at":"2026-02-27T13:40:29.410Z","avatar_url":"https://github.com/dckc.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ag Admin - Administrative processes with Agoric (WIP)\n\n## Request 1 BLD (TODO)\n\nGoal: reify the [Request 1 BLD](https://github.com/Agoric/validator-profiles/wiki/Request-1-BLD) process as Zoe smart contract(s). on devnet?\n\n - ag-solo plug-ins for external\n    - inputs:\n       - [x] - Discord API for finding `authorizedRequests()`\n       - [x]  Tendermint RPC, i.e. https GET on `searchBySender()`\n    -  Outputs:\n       - [x] Google sheet with status\n       - [ ] something to prompt the (human) signer?\n - [ ] Zoe smart contract to tie them together\n## Simple Google Sheets plugin\n\nSupports row `lookup` and `upsert`.\n\nFirst, configure credentials, sheetId in the environment:\n\n```\n$ cat .envrc\nexport GOOGLE_SERVICES_EMAIL=...@...gserviceaccount.com\nexport GCS_PRIVATE_KEY=`cat ./google-services-private-key.pem`\n\nexport SHEET1_ID=17J...\n```\n\nthen we install the plug-in and use it to lookup a row in the sheet:\n\n```\n$ agoric deploy api/deploy.js --need=local --allow-unsafe-plugins\n...\n{ sheetsPluginRoot: Object [Alleged: stableForwarder] {} }\n{ row: { Batting: '0.300', Name: 'Pete Rose', _rowNumber: 2 } }\n```\n\n## Discord REST API plugin\n\nconfig:\n```\nexport DISCORD_API_TOKEN=...\n```\n\nusage:\n\n```\ncommand[0] E(E(home.scratch).get('discord1')).guilds('585576150827532298')\nhistory[0] [Object Alleged: Guild]{}\ncommand[1] guild=history[0]\n\ncommand[2] E(guild).help()\nhistory[2] Promise.reject(\"TypeError: target has no method \\\"help\\\", has [\\\"info\\\",\\\"members\\\",\\\"membersList\\\",\\\"roles\\\"]\")\ncommand[3] E(guild).roles()\nhistory[3] [{\"color\":0,\"flags\":0,\"hoist\":false,\"icon\":null,\"id\":\"585576150827532298\",\"managed\":false,\"mentionable\":false,\"name\":\"@everyone\",\"permissions\":104191552,\"permissions_new\":\"1071698531904\",\"position\":0,\"unicode_emoji\":null},\n...\n```\n\n## Tendermint RPC plugin\n\nconfig:\n\n```\nexport TENDERMINT_HOST=rpc-agoric.nodes.guru\n```\n\nusage:\n```\ncommand[4] E(E(home.scratch).get('tendermint1')).help()\nhistory[4] Promise.reject(\"TypeError: target has no method \\\"help\\\", has [\\\"searchBySender\\\",\\\"transfers\\\"]\")\n\ncommand[6] E(E(home.scratch).get('tendermint1')).searchBySender('agoric15qxmfufeyj4zm9zwnsczp72elxsjsvd0vm4q8h').then(d =\u003e ((found=d), d.length))\nhistory[6] 57\ncommand[7] E(E(home.scratch).get('tendermint1')).transfers(found).then(d =\u003e ((txs=d), d.length))\nhistory[7] 57\ncommand[8] txs[0]\nhistory[8] {\"amount\":\"1000000ubld\",\"hash\":\"CF9EFF2BD3C70F9AB70C56C1F1C47973F15626FEFDD1B1F9DF4F9AB56CA61C4B\",\"recipient\":\"agoric18du3gnu9qqgrcfln804g8gcmruv2gjwgs7mj3l\",\"sender\":\"agoric15qxmfufeyj4zm9zwnsczp72elxsjsvd0vm4q8h\"}\n```\n\n## Ping Plugin\n\n```\n# We first did the usual start to an Agoric dApp...\n# git clone\n# agoric install\n\nag-admin$ agoric deploy api/deploy.js --need=local --allow-unsafe-plugins\n? Enable unsafe (unconfined) plugins for this deployment?  Type 'yes' if you are sure: yes\nOpen CapTP connection to ws://127.0.0.1:8000/private/captp...o\nagoric: deploy: running /home/connolly/projects/agoric/ag-admin/api/deploy.js\nagoric: deploy: Deploy script will run with Node.js ESM\nagoric: deploy: Installing unsafe plugin \"/home/connolly/projects/agoric/ag-admin/api/src/plugin-sheets.js\"\nagoric: deploy: Loading plugin \"/home/connolly/projects/agoric/ag-admin/_agstate/agoric-servers/dev/plugins/_home_connolly_projects_agoric_ag-admin_api_src_plugin-sheets.js\"\n{ sheetsPlugin: Object [Alleged: stableForwarder] {} }\n{ answer: 'GS: Watson, come quickly!' }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdckc%2Fag-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdckc%2Fag-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdckc%2Fag-admin/lists"}