@subwallet-connect/gnosis
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

@subwallet-connect/gnosis

Wallet module for connecting Safe to web3-onboard

Install

npm i @subwallet-connect/gnosis @safe-global/safe-apps-provider @safe-global/safe-apps-sdk

Options

type GnosisOptions = {
  whitelistedDomains: RegExp[]
}

Usage

import Onboard from '@subwallet-connect/core'
import safeModule from '@subwallet-connect/gnosis'

const safe = safeModule()

const onboard = Onboard({
  // ... other Onboard options
  wallets: [
    safe
    //... other wallets
  ]
})

const connectedWallets = await onboard.connectWallet()
console.log(connectedWallets)

Customizing Safe Transaction Gas

If you are looking to set the gasLimit of a transaction within Safe, the gas properties within the transaction WILL BE IGNORED. Instead you will need to use the safeTxGas prop AND the web3-onboard Safe instance that is exposed through the provider to send along the transaction. The Safe sdk instance exposed by the web3-onboard must be used to set the safeTxGas prop and send the transaction. Check Safe docs for full detail as it can be a bit confusing. An example of accessing the Safe SDK instance and sending a transaction can be found below.

const tx = {
  to: toAddress,
  value: 1000000000000000,
  data: '0x',
}
const params = {
  safeTxGas: 5000000,
};

// wallet is the provider exposed by web3-onboard after the Safe wallet is connected
let trans = await wallet.instance.txs.send({txs:[tx], params})

Note: With the safeTxGas you will see additional value on the gasLimit displayed in the Safe. Check Safe docs for full details on that computation.

/@subwallet-connect/gnosis/

    Package Sidebar

    Install

    npm i @subwallet-connect/gnosis

    Weekly Downloads

    103

    Version

    1.0.6

    License

    MIT

    Unpacked Size

    7.98 kB

    Total Files

    6

    Last publish

    Collaborators

    • anhmtv