From f61833c3b3b985db2f2376e615f266069cfcf319 Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Sat, 20 Aug 2022 19:19:39 -0400 Subject: [PATCH] chore: releasing GMP SDK (#5) * chore(release): version bump * chore(release): GMP SDK * feat(readme): utils description * Update README.md * Update package.json * chore(release): package name * Update README.md Co-authored-by: Milap Sheth --- README.md | 33 ++++++++++++++++++- ...ytesStringUtil.sol => StringBytesUtil.sol} | 0 contracts/nft-linking/NftLinkerProxy.sol | 1 - contracts/test/UtilTest.sol | 2 +- contracts/token-linking/TokenLinkerProxy.sol | 1 - package-lock.json | 4 +-- package.json | 4 +-- 7 files changed, 37 insertions(+), 8 deletions(-) rename contracts/{BytesStringUtil.sol => StringBytesUtil.sol} (100%) diff --git a/README.md b/README.md index 700aac35..468b9b00 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,33 @@ -# Axelar Solidity Utilities +# Axelar GMP SDK Solidity +###### General Message Passing Development Kit +This repository contains all the necessary ingredients for successful cross-chain development +utilizing the Axelar General Message Passing protocol. + +### AxelarExecutable +Base interface for validating and executing GMP contract calls. + +### AxelarForecallable +Interface that allows to expedite GMP calls by lending assets and performing execution +before it fully propagates through the Axelar network. + +### ConstAddressDeployer +This contract is used to deploy your Executable to have the same address on different EVM chains. +This simplifies message validation from peer Executables. You can learn more in the +[documentation](https://docs.axelar.dev/dev/build/solidity-utilities). + +### Proxy and Upgradable +Base implementation of upgradable contracts designed to be deployed with `ConstAddressDeployer` +and to have the same Proxy address on different EVM chains. + +### TokenLinker and NTFLinker +Allows developers to create their own cross-chain gateways for +ERC20 and ERC721 tokens utilizing the GMP protocol. +Also it's a great example how to use AxelarExecutable with Upgradable. + +### StringAddressUtils +Allows conversion between `string` and `address` data types + +### StringBytesUtil +Allows conversion between `string` and `bytes32` data types +for storing strings under 31 bytes into a single storage slot diff --git a/contracts/BytesStringUtil.sol b/contracts/StringBytesUtil.sol similarity index 100% rename from contracts/BytesStringUtil.sol rename to contracts/StringBytesUtil.sol diff --git a/contracts/nft-linking/NftLinkerProxy.sol b/contracts/nft-linking/NftLinkerProxy.sol index 1bed8d61..16d15f78 100644 --- a/contracts/nft-linking/NftLinkerProxy.sol +++ b/contracts/nft-linking/NftLinkerProxy.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.9; import { Proxy } from '../upgradables/Proxy.sol'; -import { IUpgradable } from '../interfaces/IUpgradable.sol'; contract NftLinkerProxy is Proxy { function contractId() internal pure override returns (bytes32) { diff --git a/contracts/test/UtilTest.sol b/contracts/test/UtilTest.sol index d378ca36..d2f6e4d5 100644 --- a/contracts/test/UtilTest.sol +++ b/contracts/test/UtilTest.sol @@ -3,7 +3,7 @@ pragma solidity 0.8.9; import { StringToAddress, AddressToString } from '../StringAddressUtils.sol'; -import { Bytes32ToString, StringToBytes32 } from '../BytesStringUtil.sol'; +import { Bytes32ToString, StringToBytes32 } from '../StringBytesUtil.sol'; contract UtilTest { using AddressToString for address; diff --git a/contracts/token-linking/TokenLinkerProxy.sol b/contracts/token-linking/TokenLinkerProxy.sol index cb5a99ea..df5d2334 100644 --- a/contracts/token-linking/TokenLinkerProxy.sol +++ b/contracts/token-linking/TokenLinkerProxy.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.9; import { Proxy } from '../upgradables/Proxy.sol'; -import { IUpgradable } from '../interfaces/IUpgradable.sol'; contract TokenLinkerProxy is Proxy { function contractId() internal pure override returns (bytes32) { diff --git a/package-lock.json b/package-lock.json index e558a039..73a2f745 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@axelar-network/axelar-utils-solidity", + "name": "@axelar-network/axelar-gmp-sdk-solidity", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@axelar-network/axelar-utils-solidity", + "name": "@axelar-network/axelar-gmp-sdk-solidity", "version": "1.0.0", "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 23f21e57..424fe9d0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "@axelar-network/axelar-utils-solidity", + "name": "@axelar-network/axelar-gmp-sdk-solidity", "version": "1.0.0", - "description": "Solidity libraries and utilities provided by Axelar.", + "description": "Solidity GMP SDK and utilities provided by Axelar for cross-chain development", "main": "index.js", "scripts": { "test": "npx hardhat test",