diff --git a/.github/workflows/solana-rust.yml b/.github/workflows/solana-rust.yml index a35414c5b..9724dc555 100644 --- a/.github/workflows/solana-rust.yml +++ b/.github/workflows/solana-rust.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: # This should match rust-toolchain.toml ( actions-rs/toolchain@v1 does not pick it up directly in monorepos ) - rust: [ '1.66' ] + rust: [ '1.69' ] os: [ ubuntu-latest ] steps: @@ -58,8 +58,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - rust: [ '1.66' ] # This should match rust-toolchain.toml ( actions-rs/toolchain@v1 does not pick it up directly in monorepos ) - solana: [ 'v1.14.17' ] + rust: [ '1.69' ] # This should match rust-toolchain.toml ( actions-rs/toolchain@v1 does not pick it up directly in monorepos ) + solana: [ 'edge' ] os: [ ubuntu-latest ] steps: @@ -92,6 +92,8 @@ jobs: run: | sh -c "$(curl -sSfL https://release.solana.com/${{ matrix.solana }}/install)" echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH + export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" + solana --version - name: Run unit tests uses: actions-rs/cargo@v1 diff --git a/.github/workflows/solana-ts.yml b/.github/workflows/solana-ts.yml index 11bdecfb1..2846efde7 100644 --- a/.github/workflows/solana-ts.yml +++ b/.github/workflows/solana-ts.yml @@ -54,9 +54,9 @@ jobs: strategy: matrix: # This should match rust-toolchain.toml ( actions-rs/toolchain@v1 does not pick it up directly in monorepos ) - rust: ["1.66"] + rust: ["1.69"] node: ["16.x"] - solana: ["v1.14.17"] + solana: ["edge"] os: [ubuntu-latest] defaults: @@ -92,6 +92,8 @@ jobs: run: | sh -c "$(curl -sSfL https://release.solana.com/${{ matrix.solana }}/install)" echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH + export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" + solana --version - name: Build Solana program uses: actions-rs/cargo@v1 diff --git a/ethereum/README.md b/ethereum/README.md index 20b66b0de..c68f06eb4 100644 --- a/ethereum/README.md +++ b/ethereum/README.md @@ -193,6 +193,30 @@ Of the upgradeability standards available, the EIP-1822 (UUPS) standard was chos The upgrade key (the key used to upgrade the protocol) is set to an Identity.com key on deployment. It can be rotated by a superadmin. The superadmin can also disable upgradeability. +## Additional Features + +### Token Flags + +The Gateway Protocol includes a global namespace of token flags, which can be set by the gatekeeper when issuing a token. + +The flags are stored as a bitmask, and can be used to indicate additional information about the token. + +Examples are: +- a "negative reputation" flag, which indicates that the token should be treated as a form of blacklist +- a "verified human" flag, which indicates that the token holder has been verified to be a human +- a "verified over 18" flag, which indicates that the token holder has been verified to be over 18 years of age +- a region flag, which indicates that the token holder is a resident of a particular region + +This model has two advantages over storing this information in the token type: +- it allows gatekeepers to issue tokens with multiple flags, +without needing to create a new token type for each combination +- it allows clients to accept tokens from multiple gatekeeper networks, +if those tokens share common properties. + +The flag namespace is managed by Identity.com. Gatekeepers can set and unset flags on their tokens at any time. + +To request a new flag be added to the namespace, please contact identity.com via [www.identity.com](www.identity.com). + ## Glossary - Gateway Token diff --git a/ethereum/gatekeeper-cli/README.md b/ethereum/gatekeeper-cli/README.md index 030ebe0fe..cc4d5d93a 100644 --- a/ethereum/gatekeeper-cli/README.md +++ b/ethereum/gatekeeper-cli/README.md @@ -78,7 +78,7 @@ $ npm install -g @identity.com/gateway-eth-cli $ gateway-eth COMMAND running command... $ gateway-eth (--version) -@identity.com/gateway-eth-cli/0.1.1 darwin-arm64 node-v16.17.1 +@identity.com/gateway-eth-cli/0.2.2-alpha.1 darwin-arm64 node-v18.18.0 $ gateway-eth --help [COMMAND] USAGE $ gateway-eth COMMAND @@ -99,6 +99,7 @@ USAGE * [`gateway-eth refresh ADDRESS [EXPIRY]`](#gateway-eth-refresh-address-expiry) * [`gateway-eth remove-gatekeeper ADDRESS`](#gateway-eth-remove-gatekeeper-address) * [`gateway-eth remove-network-authority ADDRESS`](#gateway-eth-remove-network-authority-address) +* [`gateway-eth rename-gatekeeper-network ID NAME`](#gateway-eth-rename-gatekeeper-network-id-name) * [`gateway-eth revoke ADDRESS`](#gateway-eth-revoke-address) * [`gateway-eth unfreeze ADDRESS`](#gateway-eth-unfreeze-address) * [`gateway-eth verify ADDRESS`](#gateway-eth-verify-address) @@ -111,9 +112,9 @@ Add a gatekeeper to a gatekeeper network USAGE $ gateway-eth add-gatekeeper [ADDRESS] [-h] [-p ] [-t ] [-n ] [-c localhost|ethereum|sepolia|goerli|polygonMumbai|polygon|auroraTestnet|aurora|optimismGoerli|optimism|palmTestnet|pal - m|arbitrumGoerli|arbitrum|celo|celoAlfajores|avalancheCChain|avalancheCChainFuji|starknet|starknetGoerli|xdc|xdcApot - hem|bsc|cronos|fantom|gnosis|moonbeam|moonriver|polygonZkEVMTestnet|polygonZkEVM] [-f ] [-g ] [-w - ] + m|arbitrumGoerli|arbitrumSepolia|arbitrum|celo|celoAlfajores|avalancheCChain|avalancheCChainFuji|starknet|starknetGo + erli|xdc|xdcApothem|bsc|cronos|fantom|fantomTestnet|gnosis|moonbeam|moonriver|polygonZkEVMTestnet|polygonZkEVM|baseS + epolia|base] [-f ] [-g ] [-w ] ARGUMENTS ADDRESS Gatekeeper address to add to the gatekeeper network @@ -122,8 +123,9 @@ FLAGS -c, --chain=