{"id":16618327,"url":"https://github.com/marekyggdrasil/mac","last_synced_at":"2026-06-20T17:31:42.157Z","repository":{"id":64688444,"uuid":"563943611","full_name":"marekyggdrasil/mac","owner":"marekyggdrasil","description":"A zkApp that makes zkApps!","archived":false,"fork":false,"pushed_at":"2025-08-01T11:47:15.000Z","size":3883,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-01T13:49:09.903Z","etag":null,"topics":["mina","smart-contract","zero-knowledge","zkapp"],"latest_commit_sha":null,"homepage":"https://mac.sqrtxx.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marekyggdrasil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-09T16:58:24.000Z","updated_at":"2025-08-01T11:47:19.000Z","dependencies_parsed_at":"2024-02-10T18:31:52.150Z","dependency_job_id":"665a572e-ef0d-4638-a863-175e8ca57543","html_url":"https://github.com/marekyggdrasil/mac","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marekyggdrasil/mac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekyggdrasil%2Fmac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekyggdrasil%2Fmac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekyggdrasil%2Fmac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekyggdrasil%2Fmac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marekyggdrasil","download_url":"https://codeload.github.com/marekyggdrasil/mac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekyggdrasil%2Fmac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34580039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["mina","smart-contract","zero-knowledge","zkapp"],"created_at":"2024-10-12T02:19:34.400Z","updated_at":"2026-06-20T17:31:42.152Z","avatar_url":"https://github.com/marekyggdrasil.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MAC!\n\nI am MAC!, or Mina Arbitrated Contracts if you want to be formal. I am an [zkApp](https://docs.minaprotocol.com/zkapps/how-zkapps-work) that makes zkApps (yes, really!).\n\nThe best part is you do not even need to know how to code! Go visit https://mac.sqrtxx.com/ to read more about me and try me!\n\n## Setup\n\nInstall the dependencies for the smart contract, from the root of this repo run\n\n```sh\ncd contracts\n```\n\nthen install the dependencies\n\n```sh\nnpm install\n```\n\nand build it\n\n```sh\nnpm run build\n```\n\ngenerate the cache\n\n```sh\nnpx tsx scripts/gencompilecache.ts\n```\n\n( re-run it few times to see how the compile time improves with the cache )\n\nand copy the cache to speed-up the compilation in the UI\n\n```sh\ncd ../\nsh copy_cache_ui.sh\n```\n\npack it to be imported from the UI\n\n```sh\nnpm pack\n```\n\nit should create a file `mac-contracts-0.3.0.tgz` under same directory. Note the directory path and filename.\n\nnow to prepare the UI of the MAC! app, from same directory run\n\n```sh\ncd ui\n```\n\nto change the UI directory, now update the `package.json` and set the pack of `maccon` to the path of `mac-contracts-0.3.0.tzg` you built in the last step, then install the dependencies\n\n```sh\nnpm install\n```\n\nand run the app locally\n\n```sh\nnpm run dev\n```\n\n## Running the build\n\n```sh\ncd ui/\nnpm run build\nnpm run export\n```\n\n## Testing the network\n\nIf you notice problems connecting to the network via the frontend you can double check possibility to connect via command line as follows\n\n```sh\nnpx tsx contracts/scripts/networkcheck.ts \n```\n\nexample output\n\n```\ntesting https://proxy.testworld.minaexplorer.com/graphql\nsuccessfully set active instance\nfailed to fetch last block\n\ntesting https://proxy.berkeley.minaexplorer.com/graphql\nsuccessfully set active instance\nblockchain length 37605\n```\n\ncheck the address\n\n```sh\nnpx tsx contracts/scripts/accountcheck.ts https://proxy.berkeley.minaexplorer.com/graphql B62qkThtJWtKXN56efqC4ZXqv5NMD3mvjoVg5GpLLHRv9b3z2uMrkN4\n```\n\nexample output\n\n```\n{\n  account: {\n    publicKey: PublicKey { x: [Field], isOdd: [Bool] },\n    tokenId: Field { value: [Array] },\n    tokenSymbol: '',\n    balance: UInt64 { value: [Field] },\n    nonce: UInt32 { value: [Field] },\n    receiptChainHash: Field { value: [Array] },\n    delegate: PublicKey { x: [Field], isOdd: [Bool] },\n    votingFor: Field { value: [Array] },\n    timing: {\n      isTimed: [Bool],\n      initialMinimumBalance: [UInt64],\n      cliffTime: [UInt32],\n      cliffAmount: [UInt64],\n      vestingPeriod: [UInt32],\n      vestingIncrement: [UInt64]\n    },\n    permissions: {\n      editState: [Object],\n      access: [Object],\n      send: [Object],\n      receive: [Object],\n      setDelegate: [Object],\n      setPermissions: [Object],\n      setVerificationKey: [Object],\n      setZkappUri: [Object],\n      editActionState: [Object],\n      setTokenSymbol: [Object],\n      incrementNonce: [Object],\n      setVotingFor: [Object],\n      setTiming: [Object]\n    },\n    zkapp: undefined\n  },\n  error: undefined\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarekyggdrasil%2Fmac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarekyggdrasil%2Fmac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarekyggdrasil%2Fmac/lists"}