A provider wrapper of Safe Apps SDK
npm install @safe-global/safe-apps-provider
This is a provider that follows common standards (e.g. EIP-1193) and can be used with various Web3 libraries (e.g. web3.js or Ethers)
- Add npm package
``bash
yarn add @safe-global/safe-apps-provider
npm i @safe-global/safe-apps-provider
`
The provider can be used with the safe-apps-react-sdk and common web3 libraries.
#### With Ethers.js
`js
import React, { useMemo } from 'react';
import { ethers } from 'ethers';
import { useSafeAppsSDK } from '@safe-global/safe-apps-react-sdk';
import { SafeAppProvider } from '@safe-global/safe-apps-provider';
const App = () => {
const { sdk, safe } = useSafeAppsSDK();
const web3Provider = useMemo(() => new ethers.providers.Web3Provider(new SafeAppProvider(safe, sdk)), [sdk, safe]);
// use provider with contracts
return;
};
export default App;
`
#### With web3.js
- web3.js
`js
import React, { useMemo } from 'react';
import Web3 from 'web3';
import { useSafeAppsSDK } from '@safe-global/safe-apps-react-sdk';
import { SafeAppProvider } from '@safe-global/safe-apps-provider';
const App = () => {
const { sdk, safe } = useSafeAppsSDK();
const web3Provider = useMemo(() => new Web3(new SafeAppProvider(safe, sdk)), [sdk, safe]);
// use provider with contracts
return;
};
export default App;
``
If you don't want to pass a calculation and leave it to the Safe, pass 0 as the gas limit.
For the SDK overview documentation, please refer to the safe-apps-sdk documentation