Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
a0823d7
fix(e2e): Add some fixes in e2e tests (#681)
yagopv Mar 13, 2023
55d637c
fix(e2e): A small fix for drain e2e + new safe (#680)
JagoFigueroa Mar 14, 2023
9a44f7a
chore: bump webpack from 5.70.0 to 5.76.1 (#683)
dependabot[bot] Mar 15, 2023
f3ed6be
chore(safe-claiming-app): remove Safe Claiming App (#682)
Mar 15, 2023
cdd38b8
test: adding more tests for drain spec (#684)
JagoFigueroa Mar 21, 2023
5dff977
test: adding more tests to tx-builder spec (#687)
JagoFigueroa Mar 27, 2023
c724a85
fix(tx-builder,wallet-connect): update help centre link
May 3, 2023
6b1562f
feat(wallet-connect): update safe-apps-sdk to enable synchronous off-…
May 5, 2023
a9fea2c
Merge pull request #693 from safe-global/update-help-articles
May 10, 2023
98aa4be
chore(tx-builder,wallet-connect): release
May 10, 2023
eff5f3c
chore(drain-safe): release version 1.5.0
May 11, 2023
e73b3b3
chore(tx-builder): release version 1.15.0
May 11, 2023
d12c961
chore(wallet-connect): release version 1.12.0
May 11, 2023
9cb1d59
feat(tx-builder): deployment in a new domain (#698)
DiogoSoaress May 24, 2023
718cc53
fix(tx-builder): Open a window instead download batch for Safari and …
yagopv Jun 15, 2023
b4bfc2c
fix(tx-builder): Open required app in new window (#708)
yagopv Jun 19, 2023
a35237f
Merge branch 'development' into main-bump-versions
dasanra Jun 20, 2023
a3d987c
chore(tx-builder): release version 1.16.0
Jun 20, 2023
cb6bdd4
fix(tx-builder): Migration Dialog (#713)
yagopv Jun 20, 2023
b447bac
Merge branch 'development' into main-bump-versions
dasanra Jun 20, 2023
3817d28
chore(tx-builder): release version 1.16.1
Jun 20, 2023
22e499e
fix(wallet-connect): Removed workaround of accepting all accounts, me…
yagopv Jun 22, 2023
8a80f5b
chore: Merge pull request #716 from safe-global/main-bump-versions
yagopv Jun 22, 2023
a8274ee
chore: Merge pull request #717 from safe-global/main-bump-versions
yagopv Jun 22, 2023
bd4b8e4
chore: Merge pull request #718 from safe-global/new-release
yagopv Jun 26, 2023
00678cf
chore(wallet-connect): release version 1.12.1
Jun 26, 2023
a092483
Merge pull request #719 from safe-global/main-bump-versions
yagopv Jun 26, 2023
635fff1
Merge pull request #720 from safe-global/main-bump-versions
yagopv Jun 26, 2023
90fb57f
refactor(wallet-connect): Added walletconnect namespaces builder help…
Jun 29, 2023
ac09988
Fix URL
yagopv Jun 29, 2023
87e7d18
Update browser permissions image
yagopv Jun 29, 2023
0075ccb
fix(wallet-connect): Wallet connect open dapp url is not updated
yagopv Jun 29, 2023
6e79a23
fix(wallet-connect): Enable dApps to use optional chains and avoid se…
Jul 7, 2023
e7b8b2c
fix(wallet-connect): Improved Walletconnect rejection messages to dAp…
Jul 10, 2023
242e594
chore: Merge pull request #730 from safe-global/new-release
yagopv Jul 10, 2023
7992f20
chore(wallet-connect): release version 1.12.2
Jul 10, 2023
ec43ecd
chore: Merge pull request #731 from safe-global/main-bump-versions
yagopv Jul 12, 2023
4672162
chore: Merge pull request #732 from safe-global/main-bump-versions
yagopv Jul 12, 2023
9105fa6
feat(wallet-connect): Merge pull request #735 from safe-global/feat/i…
yagopv Jul 12, 2023
4f8d07f
chore: Merge pull request #736 from safe-global/new-release
yagopv Jul 12, 2023
c0c0463
chore(wallet-connect): release version 1.13.0
Jul 12, 2023
6ffdf34
chore: bump semver from 5.7.1 to 5.7.2 (#734)
dependabot[bot] Jul 19, 2023
0c530f6
chore: bump word-wrap from 1.2.3 to 1.2.4 (#740)
dependabot[bot] Jul 19, 2023
a1d7a63
fix(tx-builder): disable simulation on base (#741)
dasanra Jul 20, 2023
e44a701
chore(tx-builder): bump safe-deployments dependency (#742)
dasanra Jul 20, 2023
733e242
chore(tx-builder): release version 1.16.2
Jul 20, 2023
122c7d5
chore: bump safe apps dependencies (#746)
dasanra Aug 18, 2023
47637d0
chore: fix CLA link (#748)
dasanra Aug 22, 2023
c9e1b74
chore(tx-builder): update tenderly supported chains (#750)
dasanra Aug 22, 2023
13099ac
chore(drain-safe): release version 1.5.1
Aug 23, 2023
fb26369
chore(tx-builder): release version 1.16.3
Aug 23, 2023
d3d3bfc
chore(wallet-connect): release version 1.13.1
Aug 23, 2023
e29bdd6
chore: bump @adobe/css-tools from 4.0.1 to 4.3.1 (#756)
dependabot[bot] Sep 21, 2023
f2f9cb6
chore(tx-builder): remove gnosis-safe.io domain references (#758)
dasanra Sep 21, 2023
2be9063
chore(tx-builder): release version 1.16.4
Sep 22, 2023
31c4064
fix(ramp-network): adds API key from .env variables (#768)
Nov 8, 2023
6c88c44
fix(ramp-network): fixes deployment ymls (#769)
Nov 8, 2023
ae7c8b7
chore: bump undici from 5.19.1 to 5.26.3 (#765)
dependabot[bot] Nov 8, 2023
f2beffd
chore: bump browserify-sign from 4.2.1 to 4.2.2 (#767)
dependabot[bot] Nov 8, 2023
c196db4
chore: bump @babel/traverse from 7.17.3 to 7.23.2 (#766)
dependabot[bot] Nov 8, 2023
63326a5
chore: new release (#770)
dasanra Nov 9, 2023
77913d8
fix(ramp-network): add input to release action (#771)
Nov 9, 2023
55f6196
Merge pull request #772 from safe-global/development
Nov 9, 2023
a36aacf
chore(ramp-network): release version 0.1.4
Nov 9, 2023
601c7cd
chore: bump axios from 1.4.0 to 1.6.0 (#777)
dependabot[bot] Nov 13, 2023
87fd5eb
fix(ramp-network): upgrade SDK to 4.0.4 (#778)
Nov 29, 2023
d6e6bd9
Merge pull request #779 from safe-global/development
Nov 29, 2023
72b566e
Main bump versions (#780)
Nov 29, 2023
b51d7df
refactor: update test run schedule to run at ealier time (#783)
mike10ca Dec 14, 2023
ff31b8c
feat: add support for additional chains on ramp (#786)
jmealy Jan 19, 2024
13a9771
refactor: update test run schedule to run at ealier time (#783)
mike10ca Dec 14, 2023
da6ed53
feat: add support for additional chains on ramp (#786)
jmealy Jan 19, 2024
ae529d0
chore: Add usame-algan to CLA, add release-procedure.md (#790)
usame-algan Jan 25, 2024
1e25f01
chore: resolve merge conflicts
usame-algan Jan 25, 2024
351b4aa
chore(ramp-network): release version 0.2.0
Jan 25, 2024
28c1a3e
chore(tx-builder): release version 1.16.5
Jan 25, 2024
cee6298
chore: update release procedure (#794)
usame-algan Jan 25, 2024
cbf139e
feat(tx builder): use cgw for simulation configs (#801)
katspaugh Apr 18, 2024
8952156
chore(tx-builder): release version 1.17.0 (#802)
katspaugh Apr 18, 2024
3e63b26
feat(ramp): add Optimism and Linea (#814)
katspaugh Aug 20, 2024
012f1f7
feat(tx-builder): autocomplete for contract method (#809)
katspaugh Aug 20, 2024
6163f62
chore(ramp-network): release version 0.3.0
Aug 20, 2024
4236a28
chore(tx-builder): release version 1.17.0
Aug 20, 2024
9cbefc5
fix(tx-builder): fix contract method filtering (#816)
lmy375 Aug 28, 2024
c1dff3f
chore(tx-builder): release version 1.17.1
Aug 28, 2024
8e83db8
feat(tx-builder): move necessary icons to transaction builder
clovisdasilvaneto Sep 25, 2024
fc937ba
fix(tx-builder): remove unused icons and components
clovisdasilvaneto Oct 4, 2024
a8d98d6
feat(tx-builder-components): move necessary components from react-com…
clovisdasilvaneto Oct 4, 2024
6c43cbd
feat(tx-builder-theme): update tx-builder theme
clovisdasilvaneto Oct 4, 2024
539da3e
fix(tx-builder): add user name in cla.yml
clovisdasilvaneto Oct 7, 2024
fd74e30
Merge pull request #821 from safe-global/chore/normalize-tx-builder-t…
clovisdasilvaneto Oct 7, 2024
8f85da9
feat(dark-mode): adjust components to support dark mode
clovisdasilvaneto Oct 9, 2024
bc238d6
feat(dark-mode): add dark mode theme support in the theme provider
clovisdasilvaneto Oct 9, 2024
67adfbf
style(tx-builder-theme-provider): use destructor assignment in the fu…
clovisdasilvaneto Oct 9, 2024
6e52211
feat(unbutu-version): pin unbutu version
clovisdasilvaneto Oct 9, 2024
8878fc2
fix: unit tests
clovisdasilvaneto Oct 9, 2024
a812f11
fix(tx-builder-dark-mode): remove hard coded colors values
clovisdasilvaneto Oct 9, 2024
310429d
chore: use python virtual environment before running pip (#827)
usame-algan Oct 9, 2024
8e60f03
fix(tx-builder-colors): adjust transaction library colors across all …
clovisdasilvaneto Oct 10, 2024
8d80661
Merge pull request #825 from safe-global/feat/tx-builder-dark-mode
clovisdasilvaneto Oct 11, 2024
ffdbbb7
fix(safe-deployments-version): update safe-deployments version in ord…
clovisdasilvaneto Oct 18, 2024
9220ac1
feat(replace-icons): replace old images the correct ones from figma
clovisdasilvaneto Oct 18, 2024
d2c865b
fix(empty-library-screen): adjust empty library screen to be accordin…
clovisdasilvaneto Oct 18, 2024
009b9c2
fix(icons-alginment): adjust general icons colors and screens alignment
clovisdasilvaneto Oct 18, 2024
ef7df39
feat(mode-in-context): add theme mode in the context in
clovisdasilvaneto Oct 18, 2024
5fd16ae
fix(library-icon-color): change icon color in your transactions libra…
clovisdasilvaneto Oct 18, 2024
e35bf4c
fix(remove-unused-code): remove stick parameter definition from the T…
clovisdasilvaneto Oct 18, 2024
067bd9d
fix(tx-builder-alignment): put the TxBuilder form aligned on top
clovisdasilvaneto Oct 21, 2024
5b6014c
fix(tx-builder-tooltips): fix tooltip background on generic modal
clovisdasilvaneto Oct 21, 2024
7611fa5
fix(tx-builder-upload): change upload file text color
clovisdasilvaneto Oct 21, 2024
3631f4f
Merge pull request #828 from safe-global/feat/form-builder-redesign
clovisdasilvaneto Oct 22, 2024
8585bb0
fix(unbutu-version): change unbutu version on deployment.yml
clovisdasilvaneto Oct 22, 2024
3e6092d
fix(unbutu-version): change production release and dev/staging unbutu…
clovisdasilvaneto Oct 22, 2024
1c98316
Merge pull request #830 from safe-global/fix/change-unbutu-version
clovisdasilvaneto Oct 22, 2024
13ce582
chore(tx-builder): release version 1.18.0
Oct 22, 2024
1921f2b
Docs: Update WalletConnect app readme
katspaugh Nov 27, 2024
dd04c5b
chore(tx-builder): update safe-deployments (#833)
katspaugh Jan 22, 2025
8225c39
chore(tx-builder): release version 1.18.1
Jan 22, 2025
8c15443
chore(wallet-connect): release version 1.13.2
Jan 22, 2025
f0aa9fb
chore: disable scheduled tests (#836)
mike10ca Feb 26, 2025
e3440f1
chore(tx-builder): bump safe-deployments to version 1.37.30 (#838)
Fbartoli Mar 6, 2025
505a9ab
chore: bump Github Actions dependencies (#776)
dasanra Mar 11, 2025
b5d35a2
chore: bump es5-ext from 0.10.53 to 0.10.63 (#800)
dependabot[bot] Mar 11, 2025
9690d3e
chore: bump axios from 1.6.0 to 1.8.2 (#840)
dependabot[bot] Mar 11, 2025
03fb715
chore: bump secp256k1 from 4.0.3 to 4.0.4 (#843)
dependabot[bot] Mar 11, 2025
ea75129
chore: bump http-proxy-middleware from 2.0.4 to 2.0.7 (#844)
dependabot[bot] Mar 11, 2025
06ef82a
chore: bump cross-spawn from 7.0.3 to 7.0.6 (#842)
dependabot[bot] Mar 11, 2025
53170a4
chore: bump undici from 5.26.3 to 5.28.5 (#841)
dependabot[bot] Mar 11, 2025
558514d
chore: bump axios from 0.21.4 to 1.8.4 (#846)
dependabot[bot] Apr 1, 2025
2bbc198
fix(tx-builder): update help article link (#849)
013Meta Apr 9, 2025
dc70e86
Update cla.yml
med3000 Jun 12, 2025
76ba2e2
build: Release v1.18.2 of the TX builder (#855)
PooyaRaki Jun 19, 2025
e67db1f
chore(tx-builder): upgrade @safe-global/safe-deployments to (#857)
013Meta Aug 26, 2025
354a4b7
fix: error: Can't resolve 'process/browser' in axios (#860)
compojoom Aug 28, 2025
0787852
Merge branch 'development' of github.com:safe-global/safe-react-apps
compojoom Aug 28, 2025
323c6ab
chore(tx-builder): release version 1.18.2
Aug 28, 2025
057fe07
chore(wallet-connect): release version 1.13.3
Aug 28, 2025
b60811e
chore(tx-builder): upgrade @safe-global/safe-deployments to 1.37.45 (…
Fbartoli Sep 24, 2025
141f004
chore(tx-builder): upgrade @safe-global/safe-deployments to 1.37.45 (…
compojoom Sep 24, 2025
28035f9
Merge pull request #861 from safe-global/main-bump-versions
compojoom Sep 25, 2025
8a83bd1
Chore: Updated hardhat from 2.12.6 to 2.19.0 to allow Node version > 18
gjeanmart Sep 25, 2025
5ec3f70
feat: added cosigner guard state override for transaction simulation
gjeanmart Sep 25, 2025
f4d2a5d
Merge branch 'development'
compojoom Sep 25, 2025
75fa904
chore(tx-builder): release version 1.18.3
Sep 25, 2025
b823488
Merge pull request #868 from safe-global/fix/COR-28/tenderly-simulati…
gjeanmart Sep 26, 2025
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
7 changes: 7 additions & 0 deletions .github/actions/release/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ inputs:
react-app-mmi-environment:
description: MMI environment
required: true
react-app-walletconnect-project-id:
description: WalletConnect Project ID
required: true
react-app-ramp-api:
description: Ramp network API Key
required: true

runs:
using: composite
Expand Down Expand Up @@ -63,6 +69,7 @@ runs:
REACT_APP_MMI_BACKEND_BASE_URL: ${{ inputs.react-app-mmi-backend-base-url }}
REACT_APP_MMI_ENVIRONMENT: ${{ inputs.react-app-mmi-environment }}
REACT_APP_WALLETCONNECT_PROJECT_ID: ${{ inputs.react-app-walletconnect-project-id }}
REACT_APP_RAMP_APIKEY: ${{ inputs.react-app-ramp-api }}

- name: Push changes
uses: ad-m/github-push-action@8407731efefc0d8f72af254c74276b7a90be36e1
Expand Down
6 changes: 4 additions & 2 deletions .github/actions/setup-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
node-version:
description: Node.js version
required: false
default: '16'
default: 18
aws-secret-access-key:
description: AWS secret access key
required: true
Expand All @@ -32,7 +32,9 @@ runs:
run: |
sudo apt-get update
sudo apt-get -y install python3-pip python3-dev
pip install awscli --upgrade --user
python -m venv venv
source venv/bin/activate
pip install awscli --upgrade
- name: Project dependencies setup, node version ${{ inputs.node-version }}
shell: bash
run: yarn install --frozen-lockfile
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
types: [opened, closed, synchronize]

jobs:
CLAssistant:
CLAAssistant:
runs-on: ubuntu-latest
steps:
- name: 'CLA Assistant'
Expand All @@ -19,11 +19,11 @@ jobs:
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures/version1/cla.json'
path-to-document: 'https://safe.global/cla/' # e.g. a CLA or a DCO document
path-to-document: 'https://safe.global/cla' # e.g. a CLA or a DCO document
# branch should not be protected
branch: 'main'
# user names of users allowed to contribute without CLA
allowlist: mikhailxyz,rmeissner,germartinez,Uxio0,dasanra,francovenica,luarx,DaniSomoza,yagopv,JagoFigueroa,bot*
allowlist: clovisdasilvaneto,rmeissner,Uxio0,dasanra,francovenica,luarx,yagopv,usame-algan,bot*

# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
# enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}

- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v2
uses: nrwl/nx-set-shas@v4

- name: Test, Build, Deploy PR
run: |
Expand All @@ -48,6 +48,7 @@ jobs:
REACT_APP_MMI_BACKEND_BASE_URL: ${{ secrets.MMI_BACKEND_BASE_URL }}
REACT_APP_MMI_ENVIRONMENT: ${{ secrets.MMI_ENVIRONMENT }}
REACT_APP_WALLETCONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLETCONNECT_PROJECT_ID_DEVSTAGING }}
REACT_APP_RAMP_APIKEY: ${{ secrets.REACT_APP_RAMP_APIKEY }}

- name: 'PRaul: Comment PR with app URLs'
if: success() && github.event.number
Expand All @@ -57,7 +58,6 @@ jobs:
* [Drain Account App](${{ env.REVIEW_FEATURE_URL }}/drain-safe/)
* [RAMP Network App](${{ env.REVIEW_FEATURE_URL }}/ramp-network/)
* [Sign-In With Ethereum Delegate Manager App](${{ env.REVIEW_FEATURE_URL }}/siwe-delegate-manager/)
* [Safe Claiming App](${{ env.REVIEW_FEATURE_URL }}/safe-claiming-app/)
* [Tx Builder App](${{ env.REVIEW_FEATURE_URL }}/tx-builder/)
* [WalletConnect app](${{ env.REVIEW_FEATURE_URL }}/wallet-connect/)
* [MMI App](${{ env.REVIEW_FEATURE_URL }}/mmi/)
Expand All @@ -83,7 +83,7 @@ jobs:
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}

- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v2
uses: nrwl/nx-set-shas@v4

- name: Test and Build
run: |
Expand All @@ -96,6 +96,7 @@ jobs:
REACT_APP_MMI_BACKEND_BASE_URL: ${{ secrets.MMI_BACKEND_BASE_URL }}
REACT_APP_MMI_ENVIRONMENT: ${{ secrets.MMI_ENVIRONMENT }}
REACT_APP_WALLETCONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLETCONNECT_PROJECT_ID_DEVSTAGING }}
REACT_APP_RAMP_APIKEY: ${{ secrets.REACT_APP_RAMP_APIKEY }}

# Script to deploy to the dev environment
- name: 'Deploy to S3: Develop'
Expand Down Expand Up @@ -141,3 +142,4 @@ jobs:
react-app-mmi-backend-base-url: ${{ secrets.MMI_BACKEND_BASE_URL }}
react-app-mmi-environment: ${{ secrets.MMI_ENVIRONMENT }}
react-app-walletconnect-project-id: ${{ secrets.REACT_APP_WALLETCONNECT_PROJECT_ID }}
react-app-ramp-api: ${{ secrets.REACT_APP_RAMP_APIKEY }}
24 changes: 3 additions & 21 deletions .github/workflows/safe-apps-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ on:
description: 'Config service base URL'
required: true
default: 'https://safe-client.safe.global'
schedule:
# At 9:00 on every day-of-week from Monday through Friday
- cron: '0 9 * * 1-5'
# schedule:
# # At 4:00 on every day-of-week from Monday through Friday
# - cron: '0 4 * * 1-5'

jobs:
e2e:
Expand Down Expand Up @@ -177,21 +177,3 @@ jobs:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true

- uses: cypress-io/github-action@v5
name: Volta
with:
browser: chrome
record: true
spec: cypress/e2e/safe-apps-check.spec.cy.js
env:
CI: 'true'
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }}
CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '73799' }}
CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'vt' }}
CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0x6eaD891f8a756edBf248A5546ff51E01609C0DaB' }}
CYPRESS_CLIENT_GATEWAY_BASE_URL: ${{ github.event.inputs.configServiceBaseUrl || 'https://safe-client.safe.global' }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true
5 changes: 1 addition & 4 deletions .github/workflows/safe-apps-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,16 @@ jobs:
- name: Set PR Safe Apps base URL
run: |
echo "SAFE_APPS_BASE_URL=https://pr${{ github.event.number }}--safereactapps.review-react-hr.5afe.dev" >> $GITHUB_ENV
echo "BASE_URL=https://safe-web.dev.5afe.dev/app" >> $GITHUB_ENV
if: github.ref != 'refs/heads/development'

- name: Set development Safe Apps base URL
run: |
echo "SAFE_APPS_BASE_URL=https://safe-apps.dev.5afe.dev" >> $GITHUB_ENV
echo "BASE_URL=https://safe-web.dev.5afe.dev/app" >> $GITHUB_ENV
if: github.ref == 'refs/heads/development'

- name: Set main Safe Apps base URL
run: |
echo "SAFE_APPS_BASE_URL=https://apps.gnosis-safe.io" >> $GITHUB_ENV
echo "BASE_URL=https://gnosis-safe.io/app" >> $GITHUB_ENV
echo "SAFE_APPS_BASE_URL=https://apps-portal.safe.global" >> $GITHUB_ENV
if: ${{ github.ref == 'refs/heads/main' || github.event.schedule == '0 9 * * 1-5' }}

- name: Checkout safe-react-apps
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
16
18
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Safe Apps

[![Logo](https://raw.githubusercontent.com/safe-global/safe-react-apps/main/assets/logo.png)](https://safe.global/)
[![Logo](https://raw.githubusercontent.com/safe-global/safe-react-apps/main/assets/logo.svg)](https://safe.global/)

![license](https://img.shields.io/github/license/safe-global/safe-react-apps)
![build](https://img.shields.io/github/actions/workflow/status/safe-global/safe-react-apps/deployment.yml?branch=main)
Expand Down Expand Up @@ -62,11 +62,11 @@ In `./apps` you can find one folder per each integration app Gnosis develops.

Also, each app must expose a `manifest.json` in order to be accepted by the Safe, you can find it in their `./public` folder. Besides the `manifest.json` file we also include the app Icon.

This will allow the Safe to consume these resources like so: `https://apps.gnosis-safe.io/tx-builder/manifest.json`
This will allow the Safe to consume these resources like so: `https://apps-portal.safe.global/tx-builder/manifest.json`

## How to Develop a third-party App

Documentation about how to develop and integrate your third-party app can be found [here](https://docs.gnosis-safe.io/build/sdks/safe-apps).
Documentation about how to develop and integrate your third-party app can be found [here](https://docs.safe.global/safe-core-aa-sdk/safe-apps).

## For developers

Expand Down Expand Up @@ -98,12 +98,12 @@ These apps are deployed in the following environments.
| [Transaction Builder](https://safe-apps.staging.5afe.dev/tx-builder)
| [WalletConnect](https://safe-apps.staging.5afe.dev/wallet-connect)

- When the code is released: https://apps.gnosis-safe.io
- When the code is released: https://apps-portal.safe.global

[Drain Account](https://apps.gnosis-safe.io/drain-safe)
| [Ramp Network](https://apps.gnosis-safe.io/ramp-network)
| [Transaction Builder](https://apps.gnosis-safe.io/tx-builder)
| [WalletConnect](https://apps.gnosis-safe.io/wallet-connect)
[Drain Account](https://apps-portal.safe.global/drain-safe)
| [Ramp Network](https://apps-portal.safe.global/ramp-network)
| [Transaction Builder](https://apps-portal.safe.global/tx-builder)
| [WalletConnect](https://apps-portal.safe.global/wallet-connect)

## Run e2e tests

Expand Down
13 changes: 13 additions & 0 deletions apps/drain-safe/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).

## [1.5.1](https://github.com/safe-global/safe-react-apps/compare/drain-safe-1.5.0...drain-safe-1.5.1) (2023-08-23)



# [1.5.0](https://github.com/safe-global/safe-react-apps/compare/drain-safe-1.4.0...drain-safe-1.5.0) (2023-05-11)


### Features

* **wallet-connect:** update safe-apps-sdk to enable synchronous off-chain signatures ([#657](https://github.com/safe-global/safe-react-apps/issues/657)) ([6b1562f](https://github.com/safe-global/safe-react-apps/commit/6b1562f59eeaff662c212ee0b71f7df602cf0185))



# [1.4.0](https://github.com/safe-global/safe-react-apps/compare/drain-safe-1.3.6...drain-safe-1.4.0) (2023-02-27)


Expand Down
6 changes: 3 additions & 3 deletions apps/drain-safe/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "drain-safe",
"version": "1.4.0",
"version": "1.5.1",
"private": true,
"dependencies": {
"@gnosis.pm/safe-react-components": "^1.2.0",
"@material-ui/core": "^4.12.4",
"@mui/x-data-grid": "4.0.2",
"@safe-global/safe-apps-provider": "^0.16.0",
"bignumber.js": "^9.1.0",
"@safe-global/safe-apps-provider": "^0.18.0",
"bignumber.js": "^9.1.1",
"web3-eth-abi": "~1.8.1"
},
"scripts": {
Expand Down
8 changes: 8 additions & 0 deletions apps/drain-safe/src/__tests__/sdk-helpers.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
import { encodeTxData, tokenToTx } from '../utils/sdk-helpers'
import erc20 from '../abis/erc20'

// Axios is bundled as ESM module which is not directly compatible with Jest
// https://jestjs.io/docs/ecmascript-modules
jest.mock('axios', () => ({
get: jest.fn(),
post: jest.fn(),
delete: jest.fn(),
}))

describe('Safe SDK helpers', () => {
describe('encodeTxData', () => {
it('encodes a simple transfer call', () => {
Expand Down
7 changes: 7 additions & 0 deletions apps/drain-safe/src/setupTests.ts
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
import '@testing-library/jest-dom/extend-expect'

// Jest is not able to use this function from node, which is used at viem v1.3.0
// We need to import it manually
import { TextEncoder } from 'util'

global.TextEncoder = TextEncoder
// END
1 change: 1 addition & 0 deletions apps/ramp-network/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
REACT_APP_RAMP_APIKEY=
36 changes: 36 additions & 0 deletions apps/ramp-network/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,42 @@

This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).

# [0.3.0](https://github.com/safe-global/safe-react-apps/compare/ramp-network-0.2.0...ramp-network-0.3.0) (2024-08-20)


### Features

* **ramp:** add Optimism and Linea ([#814](https://github.com/safe-global/safe-react-apps/issues/814)) ([3e63b26](https://github.com/safe-global/safe-react-apps/commit/3e63b26ca9eb9844cfc0de942ef88d5c132202da))



# [0.2.0](https://github.com/safe-global/safe-react-apps/compare/ramp-network-0.1.4...ramp-network-0.2.0) (2024-01-25)


### Bug Fixes

* **ramp-network:** upgrade SDK to 4.0.4 ([#778](https://github.com/safe-global/safe-react-apps/issues/778)) ([87fd5eb](https://github.com/safe-global/safe-react-apps/commit/87fd5eb1c277d87fec8c3b8f5b157f44b2e7ec82))


### Features

* add support for additional chains on ramp ([#786](https://github.com/safe-global/safe-react-apps/issues/786)) ([da6ed53](https://github.com/safe-global/safe-react-apps/commit/da6ed53acb2e4a961d9735474ca85d259aab38c4))



## [0.1.5](https://github.com/safe-global/safe-react-apps/compare/ramp-network-0.1.4...ramp-network-0.1.5) (2023-11-29)


### Bug Fixes

* **ramp-network:** upgrade SDK to 4.0.4 ([#778](https://github.com/safe-global/safe-react-apps/issues/778)) ([87fd5eb](https://github.com/safe-global/safe-react-apps/commit/87fd5eb1c277d87fec8c3b8f5b157f44b2e7ec82))



## [0.1.4](https://github.com/safe-global/safe-react-apps/compare/ramp-network-0.1.3...ramp-network-0.1.4) (2023-11-09)



## [0.1.3](https://github.com/safe-global/safe-react-apps/compare/ramp-network-0.1.2...ramp-network-0.1.3) (2023-02-06)


Expand Down
4 changes: 2 additions & 2 deletions apps/ramp-network/package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "ramp-network",
"version": "0.1.3",
"version": "0.3.0",
"private": true,
"homepage": "./",
"dependencies": {
"@gnosis.pm/safe-react-components": "^0.9.7",
"@material-ui/core": "^4.12.4",
"@ramp-network/ramp-instant-sdk": "^3.0.0"
"@ramp-network/ramp-instant-sdk": "^4.0.4"
},
"scripts": {
"start": "react-app-rewired start",
Expand Down
3 changes: 1 addition & 2 deletions apps/ramp-network/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { useSafeAppsSDK } from '@safe-global/safe-apps-react-sdk'
import { Title, Loader, Text } from '@gnosis.pm/safe-react-components'
import { ChainInfo } from '@safe-global/safe-apps-sdk'
import { goBack } from './utils'
import { ASSETS_BY_CHAIN, getRampWidgetUrl, initializeRampWidget } from './ramp'
import { ASSETS_BY_CHAIN, initializeRampWidget } from './ramp'
import styled from 'styled-components'

const Container = styled.div`
Expand Down Expand Up @@ -45,7 +45,6 @@ const SafeApp = (): React.ReactElement | null => {
useEffect(() => {
if (chainInfo && safe && isChainSupported) {
initializeRampWidget({
url: getRampWidgetUrl(chainInfo),
address: safe.safeAddress,
assets: ASSETS_BY_CHAIN[chainInfo.chainId],
onClose: goBack,
Expand Down
1 change: 1 addition & 0 deletions apps/ramp-network/src/constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const RAMP_API_KEY = process.env.REACT_APP_RAMP_APIKEY
22 changes: 11 additions & 11 deletions apps/ramp-network/src/ramp.ts
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
import { ChainInfo } from '@safe-global/safe-apps-sdk'
import { RampInstantEvent, RampInstantSDK } from '@ramp-network/ramp-instant-sdk'
import { RAMP_API_KEY } from './constants'

const RINKEBY_STAGING_URL = 'https://ri-widget-staging.firebaseapp.com/'
const WIDGET_CLOSE_EVENT = 'WIDGET_CLOSE'
const PURCHASE_CREATED_EVENT = 'PURCHASE_CREATED'

export const ASSETS_BY_CHAIN: { [key: string]: string } = {
'1': 'ETH_*,ERC20_*',
'4': 'ETH_*,ERC20_*',
'1': 'ETH_*',
'10': 'OPTIMISM_*',
'56': 'BSC_*',
'137': 'MATIC_*',
'100': 'XDAI_*',
'43114': 'AVAX_*',
}

export const getRampWidgetUrl = (chainInfo: ChainInfo) => {
return chainInfo?.chainId === '4' ? RINKEBY_STAGING_URL : ''
'8453': 'BASE_*',
'324': 'ZKSYNCERA_*',
'1101': 'POLYGONZKEVM_*',
'42161': 'ARBITRUM_*',
'42220': 'CELO_*',
'59144': 'LINEA_*',
}

type RampWidgetInitializer = {
url?: string
assets: string
address: string
onClose?: () => void
}

export const initializeRampWidget = ({ url, assets, address, onClose }: RampWidgetInitializer) => {
export const initializeRampWidget = ({ assets, address, onClose }: RampWidgetInitializer) => {
return new RampInstantSDK({
url,
hostAppName: 'Ramp Network Safe App',
hostLogoUrl: 'https://docs.ramp.network/img/logo-1.svg',
swapAsset: assets,
userAddress: address,
hostApiKey: RAMP_API_KEY,
})
.on('*', (event: RampInstantEvent) => {
if (event.type === WIDGET_CLOSE_EVENT) {
Expand Down
Loading
Loading