metadata: {"signature": "0x205042a63742be4edd3aad82f45cc037f03708975f8864cb4b54eb6626b8ef41723a7e559944c2086806b37b60bfa3096028a289d171a1fdb0fd5ec11e3bcb4b1b", "application": {"round": "0xd2d99614321becd7cd0636715bbb4c94968e6271", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "3zH7Y+VlWlexM+G2EhOCN6gxXEexPXELhTpbZsayHAselzrLtwzxOquwin9ScBT3", "encryptedSymmetricKey": "d6c7d435b4daf1e5e8d0f9807be1d46e85e1c1e5cddfa99042a3760249bd8046415bf2e794c15ad38f9c879bfca14808a9383c6d24038113356769a0b94494c95be53ca2ffa92bfa46972011ba8f9c9f87160175088f33153f67fd38affcf5a2ef7107fb03119ee7fffd038b6b69a9ff833fed67519dae6e603a503576195f87000000000000002003c00f895725fccc8bf98ae2335f2bf2d1baacfb8426cc2280dbc42dad377c2be9a9435124cdb8b796a311e03d20c4b7"}}, {"type": "short-answer", "answer": "@apoorvlathey", "hidden": true, "question": "Telegram Handle", "questionId": 1}, {"type": "short-answer", "answer": "https://github.com/swiss-knife-xyz/forge-stack-tracer", "hidden": true, "question": "Project GitHub Repo", "questionId": 2}, {"type": "short-answer", "hidden": true, "question": "Link to your Public Group Chat", "questionId": 3}, {"type": "short-answer", "answer": "No", "hidden": true, "question": "Have you participated in a previous Gitcoin Grants Round? If so, please name the rounds or link the builder profile associated with previous rounds.", "questionId": 4}, {"type": "paragraph", "answer": "Currently the foundry's forge test stack traces gets outputted in the user's terminal, but navigating the stack traces is very hard. The developers have to go through the mess of the traces manually to find out which functions are being called and debug where the error is occurring.\n`forge-stack-tracer` is a CLI tool designed to convert Foundry test output into interactive stack traces, simplifying the debugging process for Solidity developers.\nIt generates a static HTML page at each run, that allows the devs to collapse and find the desired functions from the entire stack traces.", "hidden": true, "question": "Provide a brief overview of your tool, library, or framework. What specific problem or inefficiency in the development process does it address?", "questionId": 5}, {"type": "paragraph", "answer": "The tool speeds up the debugging pipeline for the developers.\nIt has also integrated the Swiss-Knife's Calldata Decoder to enable decoding the calldata for even unverified contracts, which is not even possible with the foundry's stack trace output.\nThe devs can collapse and only few the functions that they want to focus on, the UI highlights the current trace making it easier to understand.\nThe generated HTML page can be shared between dev teams making the debugging faster & collaborative.", "hidden": true, "question": "How does your project reduce development barriers, improve efficiency, or enhance the security of Web3 projects? Please provide specific examples or metrics if available.", "questionId": 6}, {"type": "paragraph", "answer": "The npm package has a weekly download count of 112 and 7 stars on the github repo along with positive responses from the devs on twitter.", "hidden": true, "question": "Describe the current usage and support for your tool within the developer community. This could include GitHub stars, downloads, or testimonials from developers.", "questionId": 7}, {"type": "paragraph", "answer": "The grants will help us expand into making the UI more advanced and allow us to support handling complex transactions in the future.\nHopefully we'll be able to get integrated natively into the foundry project so it becomes accessible to developers, out of the box.", "hidden": true, "question": "Outline your project's roadmap and how the grant funds will be used to achieve your development goals.", "questionId": 8}, {"type": "paragraph", "hidden": true, "question": "For any project deploying smart contracts on blockchain networks, please list all your deployer addresses and their corresponding blockchain networks. Use this format for each entry: [deployer_address], [chain_id]\u2014for example, 0x123abc..., 42161 (This represents a deployer address on the Arbitrum network). Please include a separate line for each unique deployer address and blockchain combination.", "questionId": 9}], "project": {"id": "0x991fb97b5a103c0a62b907878690d17e287e19185a3d3211e92e98c5c8f5137a", "title": "forge-stack-tracer", "logoImg": "bafkreie6522mh4qqti737c6vlbelkrpo7yzuqd3ypxtu7zya27cc5ed66y", "metaPtr": {"pointer": "bafkreib3eahckvyxvt2qgiqqfdr6kyrylk6ynrvdihdjlh4tadimltpttm", "protocol": "undefined"}, "website": "https://npmjs.com/package/forge-stack-tracer", "bannerImg": "bafkreifiaz7b26zylger65f4zo5rtesc67yypdrwqycogksvv5c35rjllm", "createdAt": 1729122149242, "userGithub": "apoorvlathey", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..j3oTYOl-ZBH9K4p5E3N9_glQIb2lUZwn-7C04r13PQo64eMniv694UWHqs5r7HVLGoiye4hfcHtc6YBWUekmDg", "type": "Ed25519Signature2018", "created": "2024-10-17T00:24:37.793Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-10-17T00:24:37.793Z", "expirationDate": "2025-01-15T00:24:37.793Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x63A556c75443b176b5A4078e929e38bEb37a1ff2", "hash": "v0.0.0:T6wIqM+3W15p6e4EEi7v5xjVX7A81TKaEvirj1wpFnk=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#swiss-knife-xyz#20395316"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..dLs8TMvAOlYPkNtMW9k_RDsyBvfqPjAmjOrgtt8MoaGxtjmoDeemsjv0FOKWElCOn87ndCqq01P2dqskUG2JDQ", "type": "Ed25519Signature2018", "created": "2024-10-17T00:22:47.374Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-10-17T00:22:47.374Z", "expirationDate": "2025-01-15T00:22:47.374Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x63A556c75443b176b5A4078e929e38bEb37a1ff2", "hash": "v0.0.0:ZmQBKcECiArBkdPOiUmNmq/MVr+M0qL/7DNw57cBOUM=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#apoorveth"}}}, "description": "`forge-stack-tracer` is a CLI tool designed to convert Foundry test output into interactive stack traces, simplifying the debugging process for Solidity developers.\n\nWith `forge-stack-tracer`, developers can easily inspect their test cases by generating comprehensive static HTML reports, offering intuitive and navigable stack traces. It is an essential tool for anyone using the Foundry framework to test and troubleshoot Ethereum smart contracts.\n\nThe tool is integrated with Swiss-Knife.xyz\u2019s Calldata Decoder, enabling users to decode calls to even the unverified contracts.\n\nFeatures:\n\t\u2022\tConverts Foundry test results into interactive, clickable stack traces.\n\t\u2022\tDecodes calldata of verified and unverified contracts.\n\t\u2022\tOutputs results into a static HTML file for easy analysis.\n\t\nCan be used for foundry stack traces generated for local tests or when debugging live ethereum transactions in foundry.", "lastUpdated": 0, "projectGithub": "swiss-knife-xyz", "projectTwitter": "apoorveth"}, "recipient": "0xf90e6125C8918F1ADAc31f85D80728dB62F17d9B"}}