Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development #104

Merged
merged 60 commits into from
Nov 23, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
cdcb138
Update README file
germartinez Oct 15, 2021
2f1bdec
Update script that generates typechain files
germartinez Oct 15, 2021
3201af5
Update Safe contracts with new generated types
germartinez Oct 15, 2021
477b985
Remove old contract networks configuration
germartinez Oct 15, 2021
e87d217
Use new contract types in ContractManager and EthAdapters
germartinez Oct 15, 2021
535f354
Use new contract types in SafeFactory
germartinez Oct 15, 2021
58554fc
Update contract types in tests
germartinez Oct 15, 2021
2e934e0
Merge branch 'development' into safe-deployments
germartinez Oct 27, 2021
33872c1
handle different Safe versions in EthAdapters
germartinez Oct 27, 2021
ef70053
Use types from last version of the Safe contracts (backwards compatible)
germartinez Oct 27, 2021
5cbb203
Allow deployment of multiple Safe versions
germartinez Oct 27, 2021
32c2591
Rename SafeContract classes
germartinez Oct 27, 2021
69363c9
Update properties of SafeFactory in README file
germartinez Oct 27, 2021
7a55d37
Set default Safe contracts version
germartinez Oct 27, 2021
23b42eb
Remove unused ABI files
germartinez Nov 1, 2021
8ee4765
Add more properties to SafeAccountConfig in README
germartinez Nov 1, 2021
530333d
Add all GnosisSafeContract classes depending on the version
germartinez Nov 1, 2021
6f8ce4a
Add all SafeProxyFactory classes depending on the version
germartinez Nov 1, 2021
975fefe
Add all MultiSendContract classes depending on the version
germartinez Nov 1, 2021
68cffd3
Remove typechain files generation for v1.0.0
germartinez Nov 1, 2021
57ccb42
Rename SAFE_LAST_VERSION constant
germartinez Nov 1, 2021
0053184
Get Safe contracts typed instances depending on the version
germartinez Nov 1, 2021
3f54e61
Stop using defaultAddress from safe-deployments
germartinez Nov 1, 2021
d9da697
Compile and generate types for Safe versions
germartinez Nov 3, 2021
8cdde74
Fix typechain script for contracts in tests
germartinez Nov 4, 2021
60ed6a1
Setup contracts deployment in tests
germartinez Nov 4, 2021
4f0f05f
Fix implementation of GnosisSafeContract classes
germartinez Nov 4, 2021
399ba8b
Fix code example mistake
cmdzro Nov 5, 2021
ce26f26
Merge pull request #98 from cmdzro/main
germartinez Nov 5, 2021
853ffa9
Remove "v" from Safe version numbers
germartinez Nov 5, 2021
e3d7dec
Add support to L2 Safe contracts
germartinez Nov 5, 2021
8194cc3
Fix tests when handling multiple versions
germartinez Nov 5, 2021
3f52d51
Update CI tests
germartinez Nov 5, 2021
59dcb93
Adjust test scripts
germartinez Nov 8, 2021
688d29e
Small fixes regarding types
germartinez Nov 8, 2021
4bbea3b
Add isL1SafeMasterCopy flag
germartinez Nov 9, 2021
3621889
Add tests for getting the contracts from the ethAdapter
germartinez Nov 9, 2021
33267d5
Update typechain script
germartinez Nov 9, 2021
51d57bd
Add an introduction before the guide
germartinez Nov 15, 2021
c00a886
Add the SDK's guide
germartinez Nov 15, 2021
d5a7021
Merge pull request #91 from gnosis/safe-deployments
germartinez Nov 16, 2021
dc9b2bd
Add fixes
germartinez Nov 16, 2021
8bd18b1
Improve single vs Multisend tx in createTransaction
germartinez Nov 17, 2021
b1a0bac
Update tests for createTransaction
germartinez Nov 17, 2021
fffd998
Merge pull request #103 from gnosis/guide
germartinez Nov 17, 2021
f21eaa0
Merge branch 'main' into development
germartinez Nov 17, 2021
a9bcab9
Fix broken link in SDK's guide
germartinez Nov 17, 2021
cfa8c29
Update guide README file
germartinez Nov 18, 2021
c8e07df
Update Safe Core SDK README file
germartinez Nov 18, 2021
f88f8b9
Update Safe Ethers Adapter README file
germartinez Nov 18, 2021
5093bef
Update Safe Service Client doc and README file
germartinez Nov 18, 2021
9ee428d
Merge branch 'main' into development
germartinez Nov 19, 2021
2fea9b1
Fix docs
germartinez Nov 22, 2021
e818a31
Add type guard to createTransaction
germartinez Nov 22, 2021
879f82b
Merge pull request #109 from gnosis/update-readmes
germartinez Nov 22, 2021
8ed6715
Format code
germartinez Nov 23, 2021
fb3d4dc
Update dependencies
germartinez Nov 23, 2021
99eb732
Use @typechain/wbe3-v1 to v3.0.0 to fix build
germartinez Nov 23, 2021
3bea5c3
Merge branch 'development' of github.com:gnosis/safe-core-sdk into de…
germartinez Nov 23, 2021
6cf3be1
Merge pull request #106 from gnosis/multisend-fix
germartinez Nov 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Hardhat Test
name: Monorepo Test
on: [push, pull_request]
env:
INFURA_KEY: ${{ secrets.INFURA_KEY }}
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/test_V1_2_0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Safe Core SDK Test (Safe v1.2.0)
on: [push, pull_request]
env:
INFURA_KEY: ${{ secrets.INFURA_KEY }}
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: |
yarn install
yarn build
cd packages/safe-core-sdk
yarn test:hardhat:ethers:v1.2.0
21 changes: 21 additions & 0 deletions .github/workflows/test_V1_3_0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Safe Core SDK Test (Safe v1.3.0)
on: [push, pull_request]
env:
INFURA_KEY: ${{ secrets.INFURA_KEY }}
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: |
yarn install
yarn build
cd packages/safe-core-sdk
yarn test:hardhat:ethers:v1.3.0
46 changes: 46 additions & 0 deletions packages/guides/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Guide: Integrating the Safe Core SDK

## What is Gnosis Safe

Read about the basics of Gnosis Safe and how it compares to other solutions [here](https://help.gnosis-safe.io/en/articles/3876456-what-is-gnosis-safe).

## Safe Core SDK

The [Safe Core SDK](https://github.com/gnosis/safe-core-sdk) is a monorepo that contains software developer tools that allows interaction with the [Safe contracts](https://github.com/gnosis/safe-contracts) and the [Safe Transaction Service](https://github.com/gnosis/safe-transaction-service).

In this guide we will use the following packages to deploy new Safes, create transactions, collect off-chain signatures and execute transactions:
* **safe-core-sdk-types**

Contains the types that are shared among the different packages inside the monorepo.

* **safe-core-sdk**

Offers most of the functionality of the Safe contracts. This library only interacts with the Safe contracts and every action then happens on-chain. Among others, it allows for actions such as:
- Deploy new Safes
- Get Safe information from the contracts (nonce, threshold, owners, modules, etc.)
- Build Safe transaction objects that can be executed or batched
- Approve Safe transactions on-chain
- Execute Safe transactions once they have the required confirmations

Check the complete [API reference](/packages/safe-core-sdk#api-reference) for more details.

* **safe-service-client**

Consumes the Safe Transaction Service API. This library only interacts with this service and every action performed with it happens off-chain. Among others, it allows to execute actions like:
- Get information of a Safe
- Store a Safe transaction to allow for signature collection from owners
- Add signatures to stored transactions
- Get the transaction history of a Safe (and filter by pending, incoming, multisig transactions, etc.)
- Get balances, list of tokens, etc.

Check the complete [API reference](/packages/safe-service-client#api-reference) for more details.

## Prerequisites

We'll assume that you are familiar with TypeScript (JavaScript), Ethereum and have `node.js` and `npm` installed.

## Help

If you need help, you can reach Gnosis Safe developers in the #safe-developers channel at https://chat.gnosis.io/ or create a discussion at https://github.com/gnosis/safe-core-sdk/discussions.

Let's jump into the guide: [Integrating the Safe Core SDK](/packages/guides/integrating-the-safe-core-sdk.md)
Loading