Skip to content

Commit

Permalink
Move to new hyperledger-solang org
Browse files Browse the repository at this point in the history
Signed-off-by: Sean Young <[email protected]>
  • Loading branch information
seanyoung authored and ryjones committed Sep 30, 2024
1 parent 908b8cd commit 5176166
Show file tree
Hide file tree
Showing 43 changed files with 97 additions and 117 deletions.
21 changes: 0 additions & 21 deletions .github/workflows/dco.yml

This file was deleted.

14 changes: 7 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
linux-arm64:
name: Linux arm64
runs-on: solang-arm
if: ${{ github.repository_owner == 'hyperledger' }}
if: ${{ github.repository_owner == 'hyperledger-solang' }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
Expand All @@ -43,7 +43,7 @@ jobs:
sudo apt-get install -y gcc g++ make
- uses: dtolnay/[email protected]
- name: Get LLVM
run: curl -sSL --output llvm16.0-linux-arm64.tar.xz https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-linux-arm64.tar.xz
run: curl -sSL --output llvm16.0-linux-arm64.tar.xz https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-linux-arm64.tar.xz
- name: Extract LLVM
run: tar Jxf llvm16.0-linux-arm64.tar.xz
- name: Add LLVM to Path
Expand All @@ -69,7 +69,7 @@ jobs:
with:
submodules: recursive
- name: Download LLVM
run: curl -sSL -o c:\llvm.zip https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-win.zip
run: curl -sSL -o c:\llvm.zip https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-win.zip
- name: Extract LLVM
run: unzip c:\llvm.zip -d c:/
- name: Add LLVM to Path
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
submodules: recursive
- uses: dtolnay/[email protected]
- name: Get LLVM
run: curl -sSL --output llvm16.0-mac-arm.tar.xz https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-arm.tar.xz
run: curl -sSL --output llvm16.0-mac-arm.tar.xz https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-arm.tar.xz
- name: Extract LLVM
run: tar Jxf llvm16.0-mac-arm.tar.xz
- name: Add LLVM to Path
Expand All @@ -126,7 +126,7 @@ jobs:
submodules: recursive
- uses: dtolnay/[email protected]
- name: Get LLVM
run: wget -q -O llvm16.0-mac-intel.tar.xz https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-intel.tar.xz
run: wget -q -O llvm16.0-mac-intel.tar.xz https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-intel.tar.xz
- name: Extract LLVM
run: tar Jxf llvm16.0-mac-intel.tar.xz
- name: Add LLVM to Path
Expand All @@ -149,8 +149,8 @@ jobs:
needs: [mac-arm, mac-intel]
steps:
- run: |
curl -sSL --output solang-mac-intel https://github.com/hyperledger/solang/releases/download/${GITHUB_REF/refs\/tags\//}/solang-mac-intel
curl -sSL --output solang-mac-arm https://github.com/hyperledger/solang/releases/download/${GITHUB_REF/refs\/tags\//}/solang-mac-arm
curl -sSL --output solang-mac-intel https://github.com/hyperledger-solang/solang/releases/download/${GITHUB_REF/refs\/tags\//}/solang-mac-intel
curl -sSL --output solang-mac-arm https://github.com/hyperledger-solang/solang/releases/download/${GITHUB_REF/refs\/tags\//}/solang-mac-arm
lipo -create -output solang-mac solang-mac-intel solang-mac-arm
- name: Upload binary
uses: svenstaro/upload-release-action@v2
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:
linux-arm:
name: Linux Arm
runs-on: solang-arm
if: ${{ github.repository_owner == 'hyperledger' }}
if: ${{ github.repository_owner == 'hyperledger-solang' }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
Expand All @@ -122,7 +122,7 @@ jobs:
sudo apt-get install -y gcc g++ make
- uses: dtolnay/[email protected]
- name: Get LLVM
run: curl -sSL --output llvm16.0-linux-arm64.tar.xz https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-linux-arm64.tar.xz
run: curl -sSL --output llvm16.0-linux-arm64.tar.xz https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-linux-arm64.tar.xz
- name: Extract LLVM
run: tar Jxf llvm16.0-linux-arm64.tar.xz
- name: Add LLVM to Path
Expand All @@ -145,7 +145,7 @@ jobs:
with:
submodules: recursive
- name: Download LLVM
run: curl -sSL -o c:\llvm.zip https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-win.zip
run: curl -sSL -o c:\llvm.zip https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-win.zip
- name: Extract LLVM
run: unzip c:\llvm.zip -d c:/
- name: Add LLVM to Path
Expand Down Expand Up @@ -181,7 +181,7 @@ jobs:
submodules: recursive
- uses: dtolnay/[email protected]
- name: Get LLVM
run: curl -sSL --output llvm16.0-mac-arm.tar.xz https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-arm.tar.xz
run: curl -sSL --output llvm16.0-mac-arm.tar.xz https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-arm.tar.xz
- name: Extract LLVM
run: tar Jxf llvm16.0-mac-arm.tar.xz
- name: Add LLVM to Path
Expand All @@ -207,7 +207,7 @@ jobs:
submodules: recursive
- uses: dtolnay/[email protected]
- name: Get LLVM
run: wget -q -O llvm16.0-mac-intel.tar.xz https://github.com/hyperledger/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-intel.tar.xz
run: wget -q -O llvm16.0-mac-intel.tar.xz https://github.com/hyperledger-solang/solang-llvm/releases/download/llvm16-0/llvm16.0-mac-intel.tar.xz
- name: Extract LLVM
run: tar Jxf llvm16.0-mac-intel.tar.xz
- name: Add LLVM to Path
Expand Down
10 changes: 5 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changelog
All notable changes to [Solang](https://github.com/hyperledger/solang/)
All notable changes to [Solang](https://github.com/hyperledger-solang/solang/)
will be documented here.

## Unreleased
Expand Down Expand Up @@ -399,7 +399,7 @@ substrate contracts node `v0.22.1`.
- On Solana, the accounts that were passed into the transactions are listed in
the `tx.accounts` builtin. There is also a builtin struct `AccountInfo`
- A new common subexpression elimination pass was added, thanks to
[LucasSte](https://github.com/hyperledger/solang/pull/550)
[LucasSte](https://github.com/hyperledger-solang/solang/pull/550)
- A graphviz dot file can be generated from the ast, using `--emit ast-dot`
- Many improvements to the solidity parser, and the parser has been spun out
in it's own create `solang-parser`.
Expand Down Expand Up @@ -430,7 +430,7 @@ substrate contracts node `v0.22.1`.
- On the solang command line, the target must be specified.
- The Solana instruction now includes a 64 bit value field
- Many fixes to the parser and resolver, so solidity compatibility is much
improved, thanks to [sushi-shi](https://github.com/hyperledger/solang/pulls?q=is%3Apr+author%3Asushi-shi+is%3Aclosed).
improved, thanks to [sushi-shi](https://github.com/hyperledger-solang/solang/pulls?q=is%3Apr+author%3Asushi-shi+is%3Aclosed).

### Removed
- The Sawtooth Sabre target has been removed.
Expand All @@ -452,14 +452,14 @@ substrate contracts node `v0.22.1`.
- The Solana target now compiles all contracts to a single `bundle.so` BPF
program.
- Any unused variables, events, or contract variables are now detected and
warnings are given, thanks to [LucasSte](https://github.com/hyperledger/solang/pull/429)
warnings are given, thanks to [LucasSte](https://github.com/hyperledger-solang/solang/pull/429)
- The `immutable` attribute on contract storage variables is now supported.
- The `override` attribute on public contract storage variables is now supported.
- The `unchecked {}` code block is now parsed and supported. Math overflow still
is unsupported for types larger than 64 bit.
- `assembly {}` blocks are now parsed and give a friendly error message.
- Any variable use before it is given a value is now detected and results in
a undefined variable diagnostic, thanks to [LucasSte](https://github.com/hyperledger/solang/pull/468)
a undefined variable diagnostic, thanks to [LucasSte](https://github.com/hyperledger-solang/solang/pull/468)

### Changed
- Solang now uses LLVM 12.0, based on the [Solana LLVM tree](https://github.com/solana-labs/llvm-project/)
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "solang"
version = "0.3.3"
authors = ["Sean Young <[email protected]>", "Lucas Steuernagel <[email protected]>", "Cyrill Leutwiler <[email protected]>"]
repository = "https://github.com/hyperledger/solang"
repository = "https://github.com/hyperledger-solang/solang"
documentation = "https://solang.readthedocs.io/"
license = "Apache-2.0"
build = "build.rs"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
# solang - Solidity Compiler for Solana and Polkadot

[![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.gg/hyperledger)
[![CI](https://github.com/hyperledger/solang/workflows/test/badge.svg)](https://github.com/hyperledger/solang/actions)
[![CI](https://github.com/hyperledger-solang/solang/workflows/test/badge.svg)](https://github.com/hyperledger-solang/solang/actions)
[![Documentation Status](https://readthedocs.org/projects/solang/badge/?version=latest)](https://solang.readthedocs.io/en/latest/?badge=latest)
[![license](https://img.shields.io/github/license/hyperledger/solang.svg)](LICENSE)
[![LoC](https://tokei.rs/b1/github/hyperledger/solang?category=lines)](https://github.com/hyperledger/solang)
[![LoC](https://tokei.rs/b1/github/hyperledger/solang?category=lines)](https://github.com/hyperledger-solang/solang)

Welcome to Solang, a new Solidity compiler written in rust which uses
llvm as the compiler backend. Solang can compile Solidity for Solana and
Expand Down Expand Up @@ -68,7 +68,7 @@ Here is a brief description of what we envision for the next versions.
| Provide Solidity -> Polkadot porting guide | Not started |
| Declare accounts for a Solidity function on Solana | In progress |
| Tooling for calls between ink! <> solidity | In progress |
| Provide CLI for node interactions | [Done](https://github.com/hyperledger/solang-aqd) |
| Provide CLI for node interactions | [Done](https://github.com/hyperledger-solang/solang-aqd) |

## License

Expand Down
2 changes: 1 addition & 1 deletion RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@
- Ensure ReadTheDocs defaults to the latest version
- Update the version number and the MacOS binaries' sha256 hash in `Casks/solang.rb` under
the repository `hyperledger/homebrew-solang`,
e.g. https://github.com/hyperledger/homebrew-solang/pull/11
e.g. https://github.com/hyperledger-solang/homebrew-solang/pull/11
6 changes: 3 additions & 3 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ How to report issues
--------------------

Please report issues to
`github issues <https://github.com/hyperledger/solang/issues>`_.
`github issues <https://github.com/hyperledger-solang/solang/issues>`_.

How to contribute code
----------------------

Code contributions are submitted via
`pull requests <https://github.com/hyperledger/solang/compare>`_.
`pull requests <https://github.com/hyperledger-solang/solang/compare>`_.

Please fork this repository and make desired changes inside a dedicated branch on your fork.
Prior to opening a pull request for your branch, make sure that the code in your branch
Expand All @@ -36,7 +36,7 @@ Target Specific

Solang supports Polkadot and Solana. These targets need testing
via integration tests. New targets like
`Fabric <https://github.com/hyperledger/fabric-chaincode-wasm>`_ need to be
`Fabric <https://github.com/hyperledger-solang/fabric-chaincode-wasm>`_ need to be
added, and tests added.

Debugging issues with LLVM
Expand Down
8 changes: 4 additions & 4 deletions docs/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ ___________

There is an example on Solana's integration tests for a Solidity contract that manages an NFT. The contract is supposed
to be the NFT itself. It can mint itself and transfer ownership. It also stores on chain information about itself, such as its URI.
Please, check `simple_collectible.sol <https://github.com/hyperledger/solang/blob/main/integration/solana/simple_collectible.sol>`_
for the Solidity contract and `simple_collectible.spec.ts <https://github.com/hyperledger/solang/blob/main/integration/solana/simple_collectible.spec.ts>`_
Please, check `simple_collectible.sol <https://github.com/hyperledger-solang/solang/blob/main/integration/solana/simple_collectible.sol>`_
for the Solidity contract and `simple_collectible.spec.ts <https://github.com/hyperledger-solang/solang/blob/main/integration/solana/simple_collectible.spec.ts>`_
for the Typescript code that interacts with Solidity.


Expand All @@ -43,7 +43,7 @@ ______________

On Solana, it is possible to create a hash table on chain with program derived addresses (PDA). This is done by
using the intended key as the seed for finding the PDA. There is an example of how one can achieve so in our integration
tests. Please, check `UserStats.sol <https://github.com/hyperledger/solang/blob/main/integration/solana/UserStats.sol>`_
for the Solidity contract and `user_stats.spec.ts <https://github.com/hyperledger/solang/blob/main/integration/solana/user_stats.spec.ts>`_
tests. Please, check `UserStats.sol <https://github.com/hyperledger-solang/solang/blob/main/integration/solana/UserStats.sol>`_
for the Solidity contract and `user_stats.spec.ts <https://github.com/hyperledger-solang/solang/blob/main/integration/solana/user_stats.spec.ts>`_
for the client code, which contains most of the explanations about how the table works. This example was inspired by
`Anchor's PDA hash table <https://www.anchor-lang.com/docs/pdas#hashmap-like-structures-using-pd-as>`_.
10 changes: 5 additions & 5 deletions docs/extension.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,23 @@ Development
-----------

The code is spread over two parts. The first part the vscode extension client code,
`written in TypeScript <https://github.com/hyperledger/solang/tree/main/vscode>`_.
`written in TypeScript <https://github.com/hyperledger-solang/solang/tree/main/vscode>`_.
This part deals with syntax highlighting, and calling out to the Solang language server when
needed. The client needs `npm and node installed <https://docs.npmjs.com/downloading-and-installing-node-js-and-npm>`_.
The client implementation is present in
`src/client <https://github.com/hyperledger/solang/tree/main/vscode/src/client>`_.
`src/client <https://github.com/hyperledger-solang/solang/tree/main/vscode/src/client>`_.
The extension client code is in
`src/client/extension.ts <https://github.com/hyperledger/solang/tree/main/vscode/src/client/extension.ts>`_.
`src/client/extension.ts <https://github.com/hyperledger-solang/solang/tree/main/vscode/src/client/extension.ts>`_.

Secondly, there is the language server which is written in Rust.
The Solang binary has a subcommand ``language-server``, which starts the
`built-in language server <https://github.com/hyperledger/solang/blob/main/src/bin/languageserver/mod.rs>`_.
`built-in language server <https://github.com/hyperledger-solang/solang/blob/main/src/bin/languageserver/mod.rs>`_.

Once you have node and npm installed, you can build the extension like so:

.. code-block:: bash
git clone https://github.com/hyperledger/solang
git clone https://github.com/hyperledger-solang/solang
cd solang/vscode
npm install
npm install -g vsce
Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:width: 75%
:alt: Hyperledger Solang Logo
:align: center
:target: https://github.com/hyperledger/solang
:target: https://github.com/hyperledger-solang/solang

|
Expand All @@ -19,7 +19,7 @@ or compute units.

Solang aims for source file compatibility with the Ethereum EVM Solidity compiler,
version 0.8. Where differences exist, this is noted in the language documentation.
The source code repository can be found on `github <https://github.com/hyperledger/solang>`_
The source code repository can be found on `github <https://github.com/hyperledger-solang/solang>`_
and we have solang channels on `Hyperledger Discord <https://discord.gg/hyperledger>`_.

Contents
Expand Down
Loading

0 comments on commit 5176166

Please sign in to comment.