{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":163517929,"defaultBranch":"main","name":"solang","ownerLogin":"hyperledger","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-12-29T14:37:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7657900?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717594297.0","currentOid":""},"activityList":{"items":[{"before":"420fbb8924804183f219fe2c375da435dab049d0","after":"908b8cd2ab504359a40553d98ee631af7d0cd979","ref":"refs/heads/main","pushedAt":"2024-09-14T13:44:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"salaheldinsoliman","name":null,"path":"/salaheldinsoliman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49910731?s=80&v=4"},"commit":{"message":"fix(vscode-extension): add tap to deps, fix ci (#1667)\n\nSigned-off-by: salaheldinsoliman ","shortMessageHtmlLink":"fix(vscode-extension): add tap to deps, fix ci (#1667)"}},{"before":"df692d5bc92ae24e095add07cef5e2187a49d792","after":"420fbb8924804183f219fe2c375da435dab049d0","ref":"refs/heads/main","pushedAt":"2024-09-12T21:28:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"salaheldinsoliman","name":null,"path":"/salaheldinsoliman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49910731?s=80&v=4"},"commit":{"message":"Add print functionality to Soroban contracts (#1659)\n\nThis PR adds static string print functionality to Soroban contracts.\r\nThis serves the following:\r\n\r\n1. `print()` statements\r\n2. Logging runtime errors.\r\n\r\nHowever, the following findings might be interesting:\r\nIn both Solana and Polkadot, the VM execution capacity can grasp a call\r\nto `vector_new` in the `stdlib`:\r\nhttps://github.com/hyperledger/solang/blob/06798cdeac6fd62ee98f5ae7da38f3af4933dc0f/stdlib/stdlib.c#L167\r\n\r\nHowever, Soroban doesn't. That's why Soroban would need Solang to\r\nimplement a more efficient way of printing dynamic strings.\r\n@leighmcculloch\r\n\r\nSigned-off-by: salaheldinsoliman ","shortMessageHtmlLink":"Add print functionality to Soroban contracts (#1659)"}},{"before":"25f06afa247f6a6e1c9d9103dafa55d6885951b0","after":"df692d5bc92ae24e095add07cef5e2187a49d792","ref":"refs/heads/main","pushedAt":"2024-09-04T13:27:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Update github actions to newer versions (#1666)\n\nFixes https://github.com/hyperledger/solang/security/dependabot/5\r\n\r\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Update github actions to newer versions (#1666)"}},{"before":"06798cdeac6fd62ee98f5ae7da38f3af4933dc0f","after":"25f06afa247f6a6e1c9d9103dafa55d6885951b0","ref":"refs/heads/main","pushedAt":"2024-08-21T07:53:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Appease rust 1.80 clippies (#1663)\n\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Appease rust 1.80 clippies (#1663)"}},{"before":"d8217522c77f6b4b464f2124b6997e097da0a8c7","after":"06798cdeac6fd62ee98f5ae7da38f3af4933dc0f","ref":"refs/heads/main","pushedAt":"2024-07-01T20:47:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"fix: shift right display macro (#1656)\n\nSigned-off-by: Kyle Scott ","shortMessageHtmlLink":"fix: shift right display macro (#1656)"}},{"before":"b00f6178c717bc2aa4d7c33b2ee2c9f5407f1b7d","after":"d8217522c77f6b4b464f2124b6997e097da0a8c7","ref":"refs/heads/main","pushedAt":"2024-06-27T13:24:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"macOS 11 runners are being removed (#1657)\n\nSee:\r\n\r\nhttps://github.blog/changelog/2024-05-20-actions-upcoming-changes-to-github-hosted-macos-runners/\r\n\r\nWe should try and build on the oldest supported platform, so that the\r\nbinaries run on as many platforms as possible.\r\n\r\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"macOS 11 runners are being removed (#1657)"}},{"before":"399c199923d52d45ebab088091a55b04f9f09c40","after":"b00f6178c717bc2aa4d7c33b2ee2c9f5407f1b7d","ref":"refs/heads/main","pushedAt":"2024-06-25T17:45:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"It is better to use the repository field in Cargo.toml (#1655)\n\nTo allow [Crates.io](https://crates.io/) , [lib.rs](https://lib.rs/) and\r\nthe [Rust Digger](https://rust-digger.code-maven.com/) to link to it.\r\nSee [the\r\nmanifest](https://doc.rust-lang.org/cargo/reference/manifest.html#the-repository-field)\r\nfor the explanation.\r\n\r\nSigned-off-by: Gábor Szabó ","shortMessageHtmlLink":"It is better to use the repository field in Cargo.toml (#1655)"}},{"before":"08dbe495a4783a1109daeb7cf32c25c50b9c7d7d","after":"399c199923d52d45ebab088091a55b04f9f09c40","ref":"refs/heads/main","pushedAt":"2024-06-25T10:08:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"salaheldinsoliman","name":null,"path":"/salaheldinsoliman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49910731?s=80&v=4"},"commit":{"message":"Soroban counter.sol example (#1645)\n\nThis PR aims to make Solang support a simple counter.sol example on\r\nSoroban, where a storage variable is instatiated, modified and\r\nretrieved. The counter contract is only limited to `uint64` data types,\r\nand only supports `instance` soroban storage.\r\n\r\nThis can be considered a \"skeleton\" for supporting more data and storage\r\ntypes, as well as more host function invokations.\r\n\r\n- [x] Support Soroban storage function calls `put_contract_data`,\r\n`get_contract_data` and `has_contract_data`\r\n- [x] Implement a wrapper `init` for `storage_initializer` \r\n- [x] Implement wrappers for public functions\r\n- [x] Insert decoding/encoding instructions into the wrapper functions \r\n- [x] Soroban doesn't have function return codes. This needs to be\r\nhandled all over emit\r\n- [x] Add integration tests and MockVm tests\r\n\r\n---------\r\n\r\nSigned-off-by: salaheldinsoliman ","shortMessageHtmlLink":"Soroban counter.sol example (#1645)"}},{"before":"d8c5d243c3a4083cc041a681f200b676ccfd4bd4","after":"08dbe495a4783a1109daeb7cf32c25c50b9c7d7d","ref":"refs/heads/main","pushedAt":"2024-06-18T06:40:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Appease rust 1.79 clippies (#1651)\n\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Appease rust 1.79 clippies (#1651)"}},{"before":"668f9f285d049cbe099d920708e1880ad52646ca","after":"d8c5d243c3a4083cc041a681f200b676ccfd4bd4","ref":"refs/heads/main","pushedAt":"2024-06-10T13:27:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Vendor forge-fmt into solang repo (#1649)\n\nThe published forge-fmt is out date, not maintained and depends on an\r\nold version of solang-parser.\r\n\r\nThis is a copy of forge-fmt:\r\n\r\n https://github.com/foundry-rs/foundry/tree/master/crates/fmt\r\n\r\ncommit: 00854b602ef0e67379a2027ccc5d0aad553e5333\r\n\r\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Vendor forge-fmt into solang repo (#1649)"}},{"before":"0de381950a0969bc8f3d6f6f13c09c4f1c7a8b64","after":"668f9f285d049cbe099d920708e1880ad52646ca","ref":"refs/heads/main","pushedAt":"2024-06-05T15:19:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Fix Solana integration tests (#1646)\n\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Fix Solana integration tests (#1646)"}},{"before":"9e35ba11d309f05fc90ed32d52ac894ae08af43c","after":null,"ref":"refs/heads/ryjones-patch-1","pushedAt":"2024-06-05T14:14:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ryjones","name":"Ry Jones","path":"/ryjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466142?s=80&v=4"}},{"before":"aa9efe98e9366dd34cb8f772fd22f13af42d2274","after":"0de381950a0969bc8f3d6f6f13c09c4f1c7a8b64","ref":"refs/heads/main","pushedAt":"2024-06-05T14:14:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryjones","name":"Ry Jones","path":"/ryjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466142?s=80&v=4"},"commit":{"message":"chore: replace DCO Bot with local action\n\nSigned-off-by: Ry Jones ","shortMessageHtmlLink":"chore: replace DCO Bot with local action"}},{"before":null,"after":"9e35ba11d309f05fc90ed32d52ac894ae08af43c","ref":"refs/heads/ryjones-patch-1","pushedAt":"2024-06-05T13:31:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ryjones","name":"Ry Jones","path":"/ryjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466142?s=80&v=4"},"commit":{"message":"chore: replace DCO Bot with local action\n\nSigned-off-by: Ry Jones ","shortMessageHtmlLink":"chore: replace DCO Bot with local action"}},{"before":"96a1cc842a34c3c0e8c1d11be15e9b4647525cef","after":"aa9efe98e9366dd34cb8f772fd22f13af42d2274","ref":"refs/heads/main","pushedAt":"2024-06-03T09:26:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"chore: fix typos (#1644)\n\nfix some typos\r\n\r\nSigned-off-by: snoppy ","shortMessageHtmlLink":"chore: fix typos (#1644)"}},{"before":"10c6e57c781c519076443f4088110a359a49645a","after":"96a1cc842a34c3c0e8c1d11be15e9b4647525cef","ref":"refs/heads/main","pushedAt":"2024-05-06T13:35:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Appease rust 1.78.0 clippies (#1643)\n\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Appease rust 1.78.0 clippies (#1643)"}},{"before":"9c06f58296d19f204c23cac13595c1fa8ec31236","after":"10c6e57c781c519076443f4088110a359a49645a","ref":"refs/heads/main","pushedAt":"2024-05-02T07:44:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Add GitHub ARM64 runners (#1642)\n\nUse github provided runners rather than our own.\r\n\r\nSigned-off-by: Ry Jones \r\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Add GitHub ARM64 runners (#1642)"}},{"before":"be8cc2193f15cbfa41edb3dfcf34958383e347e9","after":"9c06f58296d19f204c23cac13595c1fa8ec31236","ref":"refs/heads/main","pushedAt":"2024-04-26T12:16:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanyoung","name":"Sean Young","path":"/seanyoung","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/816900?s=80&v=4"},"commit":{"message":"Update the Hyperledger Solang logo (#1641)\n\nSee\r\nhttps://www.hyperledger.org/blog/just-introduced-refreshed-hyperledger-project-logos\r\n\r\nSigned-off-by: Sean Young ","shortMessageHtmlLink":"Update the Hyperledger Solang logo (#1641)"}},{"before":"b4c8a9b782320c7d599fce38ad1537ad291bfd4a","after":"be8cc2193f15cbfa41edb3dfcf34958383e347e9","ref":"refs/heads/main","pushedAt":"2024-04-15T10:21:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Fix subxt integration test off-by-one test case (#1640)","shortMessageHtmlLink":"Fix subxt integration test off-by-one test case (#1640)"}},{"before":"05a67069f7c70ec61f275f94f6870692067e8c26","after":"b4c8a9b782320c7d599fce38ad1537ad291bfd4a","ref":"refs/heads/main","pushedAt":"2024-04-12T09:55:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"docs: fix some comments (#1633)\n\nSigned-off-by: divdeploy ","shortMessageHtmlLink":"docs: fix some comments (#1633)"}},{"before":"2bf9c04046d679089043f301c334b645a9853d9d","after":"05a67069f7c70ec61f275f94f6870692067e8c26","ref":"refs/heads/main","pushedAt":"2024-04-12T09:53:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Polkadot: Bugfix codegen for empty events (#1637)\n\nSlight oversight from #1632: Previously, events always contained at least a\r\nsingle byte of data (empty events would have the discriminant/index of\r\nthe event enum). However now, the data field for empty events is\r\nactually empty, leading the ABI encoder to panic. So in codegen we check if we\r\nhave to encode data first and pass a pointer to an empty buffer if not.","shortMessageHtmlLink":"Polkadot: Bugfix codegen for empty events (#1637)"}},{"before":"dd4e4c851cb4e2be7ea38d6498524bff425eb69f","after":"2bf9c04046d679089043f301c334b645a9853d9d","ref":"refs/heads/main","pushedAt":"2024-04-11T15:52:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Fix CI: SPDX headers in shell scripts (#1638)","shortMessageHtmlLink":"Fix CI: SPDX headers in shell scripts (#1638)"}},{"before":"c01ffa209d0cb3eecbe9222052a38607e1ad9873","after":"dd4e4c851cb4e2be7ea38d6498524bff425eb69f","ref":"refs/heads/main","pushedAt":"2024-04-10T11:54:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"salaheldinsoliman","name":null,"path":"/salaheldinsoliman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49910731?s=80&v=4"},"commit":{"message":"Add salaheldin to MAINTAINERS.md (#1636)\n\nA proud moment.","shortMessageHtmlLink":"Add salaheldin to MAINTAINERS.md (#1636)"}},{"before":"d409c1e1527e2cba92eb7d58cae16e0e0aea5545","after":"c01ffa209d0cb3eecbe9222052a38607e1ad9873","ref":"refs/heads/main","pushedAt":"2024-04-08T20:52:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Polkadot: Update rust cross contract call example to ink! v5.0 (#1635)","shortMessageHtmlLink":"Polkadot: Update rust cross contract call example to ink! v5.0 (#1635)"}},{"before":"28c86b3f38b3e747fcab4d652e943abe7869f73b","after":"d409c1e1527e2cba92eb7d58cae16e0e0aea5545","ref":"refs/heads/main","pushedAt":"2024-04-08T13:29:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Bump dependencies (#1634)","shortMessageHtmlLink":"Bump dependencies (#1634)"}},{"before":"5764e01ba90482502b453e2277c9414339ed3923","after":"28c86b3f38b3e747fcab4d652e943abe7869f73b","ref":"refs/heads/main","pushedAt":"2024-04-03T16:07:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Polkadot: `ink!` 5.0 (#1632)\n\nUpgrade Solang to be compatible with [`ink!` v5.0\r\n](https://use.ink/faq/migrating-from-ink-4-to-5).\r\n\r\n- Simplify events\r\n- Latest substrate node on CI\r\n- Update tests and docs","shortMessageHtmlLink":"Polkadot: ink! 5.0 (#1632)"}},{"before":"22d62170f6ce66064dde76abd8b0e71a4592528a","after":"5764e01ba90482502b453e2277c9414339ed3923","ref":"refs/heads/main","pushedAt":"2024-03-28T16:46:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Polkadot: Upgrade substrate contracts node to v0.39.0 (#1631)","shortMessageHtmlLink":"Polkadot: Upgrade substrate contracts node to v0.39.0 (#1631)"}},{"before":"0bea68ce2848a7d79f42b9883f0fedb3d3b96497","after":"22d62170f6ce66064dde76abd8b0e71a4592528a","ref":"refs/heads/main","pushedAt":"2024-03-02T11:36:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Fix panics caused by shifting(#1618) (#1627)\n\nFixed the bug where there was no load when the right expression of the\r\nshift calculation is a structure member.\r\n\r\nSigned-off-by: yp945 ","shortMessageHtmlLink":"Fix panics caused by shifting(#1618) (#1627)"}},{"before":"b4728a42ecb062093143bd19a9734fa1cd5dd274","after":"0bea68ce2848a7d79f42b9883f0fedb3d3b96497","ref":"refs/heads/main","pushedAt":"2024-02-29T09:51:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Fix `1.76` clippies (#1626)","shortMessageHtmlLink":"Fix 1.76 clippies (#1626)"}},{"before":"5cab937c1e4381169c5aaaf242b76b30d5c68156","after":"b4728a42ecb062093143bd19a9734fa1cd5dd274","ref":"refs/heads/main","pushedAt":"2024-02-28T15:13:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xermicus","name":"Cyrill Leutwiler","path":"/xermicus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8707171?s=80&v=4"},"commit":{"message":"Bugfix: Do not mangle overridden non-overloaded virtual function names (#1624)\n\nCloses #1623 \r\n\r\nThe basic idea of the algorithm checking whether a function name is\r\neligible for mangling or not is to mangle the name if that function is\r\npublicly callable but the functions name appears multiple time in the\r\ncontract. But this doesn't account for virtual functions also appearing\r\nmore than one time in the same contract if they are overridden. With\r\nthis PR, we bail early if the function we are checking overrides,\r\nmarking only the single one non-overriding implementation as eligible\r\nfor mangling. Consequently, functions which override but do not overload\r\nare no longer unnecessarily mangled.\r\n\r\nCo-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>","shortMessageHtmlLink":"Bugfix: Do not mangle overridden non-overloaded virtual function names ("}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNFQxMzo0NDo1NS4wMDAwMDBazwAAAAS2PzP5","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNFQxMzo0NDo1NS4wMDAwMDBazwAAAAS2PzP5","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0yOFQxNToxMzo0OC4wMDAwMDBazwAAAAQHxN3B"}},"title":"Activity · hyperledger/solang"}