
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
@gnosis.pm/safe-apps-ethers-provider
Advanced tools
An ethers.js provider wrapper of Safe Apps SDK
This is an ethers.js
provider and signer to use with ethers.js
contract instances.
yarn add @gnosis.pm/safe-apps-ethers-provider
npm i @gnosis.pm/safe-apps-ethers-provider
From ethers.js documentation:
A Provider is an abstraction of a connection to the Ethereum network, providing a concise, consistent interface to standard Ethereum node functionality.
import React, { useMemo, useState } from 'react';
import { useSafeAppsSDK } from '@gnosis.pm/safe-apps-react-sdk';
import { ethers } from 'ethers';
import { SafeAppsSdkProvider } from '@gnosis.pm/safe-apps-ethers-provider';
import Contract from './contracts/DelayedTxModule.json';
const App = () => {
const { sdk, safe } = useSafeAppsSDK();
const contract = useMemo(() => ethers.Contract(Contract.address, Contract.abi, new SafeAppsSdkProvider(safe, sdk)), [
sdk,
safe,
]);
// calling read methods
const getSomething = async () => {
const balance = await contract.getBalance('0x000');
};
// calling write methods
const doSomething = async () => {
const { safeTxHash } = await sdk.txs.send({
txs: [
{
to: safe.safeAddress,
value: '0',
data: contract.interface.encodeFunctionData('someFunc', ['someArg']),
},
],
});
};
return;
};
export default App;
From ethers.js documentation:
A Signer in ethers is an abstraction of an Ethereum Account, which can be used to sign messages and transactions and send signed transactions to the Ethereum Network to execute state changing operations.
import React, { useMemo, useState } from 'react';
import { useSafeAppsSDK } from '@gnosis.pm/safe-apps-react-sdk';
import { ethers } from 'ethers';
import { SafeAppsSdkSigner } from '@gnosis.pm/safe-apps-ethers-provider';
import Contract from './contracts/DelayedTxModule.json';
const App = () => {
const { sdk, safe } = useSafeAppsSDK();
const contract = useMemo(() => ethers.Contract(Contract.address, Contract.abi, new SafeAppsSdkSigner(safe, sdk)), [
sdk,
safe,
]);
// calling read methods
const getSomething = async () => {
const balance = await contract.getBalance('0x000');
};
// calling write methods
const doSomething = async () => {
const { hash } = await contract.someFunc('someArg');
};
return;
};
export default App;
For the SDK overview documentation, please refer to the safe-apps-sdk documentation
FAQs
An ethers.js provider wrapper of Safe Apps SDK
The npm package @gnosis.pm/safe-apps-ethers-provider receives a total of 0 weekly downloads. As such, @gnosis.pm/safe-apps-ethers-provider popularity was classified as not popular.
We found that @gnosis.pm/safe-apps-ethers-provider demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 17 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.