avocado-safe
TypeScript icon, indicating that this package has built-in type declarations

0.0.49 • Public • Published

avocado-safe

Usage

Install package:

# npm
npm install avocado-safe

# yarn
yarn add avocado-safe

# pnpm
pnpm install avocado-safe

Import:

// ESM
import {} from "avocado-safe";

// CommonJS
const {} = require("avocado-safe");

Examples

import { AvocadoSafeProvider } from 'avocado-safe'
import { ethers } from 'ethers'
import Web3 from 'web3'

const ethereum = new AvocadoSafeProvider({ chainId: 137 }) // window.etherem
await ethereum.enable()

const provider = new ethers.providers.Web3Provider(ethereum, "any")
const web3 = new Web3(ethereum)

console.log(await provider.listAccounts())
console.log(await provider.getBalance("0x910E413DBF3F6276Fe8213fF656726bDc142E08E"))
console.log(await web3.eth.getBalance("0x910E413DBF3F6276Fe8213fF656726bDc142E08E"))
import { AvocadoInjectedConnector } from 'avocado-safe'

const avocado = new AvocadoInjectedConnector({ chainId: 137 })

const { activate } = useWeb3() // web3-react v6 or @instadapp/vue-web3
await activate(avocado)
import { AvocadoSafeProvider } from 'avocado-safe'

const providerOptions = {
    'custom-avocado': {
      display: {
        logo: SVGavocado,
        name: 'Avocado',
        description: '',
      },
      package: AvocadoSafeProvider,

      options: {
        chainId: 137,
      },

      connector: async (ProviderPackage, options) => {
        const provider = new ProviderPackage(options)

        await provider.enable()

        return provider
      },
    }
}


```ts
const { createSafe } = require('@instadapp/avocado')

// Should be connected to chainId 634 (https://rpc.avocado.instadapp.io), before doing any transaction
const provider = new ethers.providers.Web3Provider(window.ethereum, "any")

const safe = createSafe( provider.getSigner() )

await safe.getOwnerAddress()

await safe.getSafeAddress()

await safe.sendTransaction({
    to: "0x910E413DBF3F6276Fe8213fF656726bDc142E08E",
    value: 42,
    chainId: 137
})

await safe.sendTransaction({
    to: "0x910E413DBF3F6276Fe8213fF656726bDc142E08E",
    value: 42,
}, 137)

await safe.sendTransactions([
    { to: "0x910E413DBF3F6276Fe8213fF656726bDc142E08E", value: 42 }
    { to: "0x910E413DBF3F6276Fe8213fF656726bDc142E08E", value: 69}
], 137)

await safe.getSigner().sendTransaction({
    to: "0x69420",
    chainId: 137
})

const signer = safe.getSignerForChainId(137);

await signer.sendTransaction({
    to: "0x69420"
})

const erc20 = new ethers.Contract(
    "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
    ["function transfer(address to, uint amount) returns (bool)",],
    signer,
)

await erc20.transfer("0x910E413DBF3F6276Fe8213fF656726bDc142E08E", 69420)

/avocado-safe/

    Package Sidebar

    Install

    npm i avocado-safe

    Weekly Downloads

    3

    Version

    0.0.49

    License

    none

    Unpacked Size

    212 kB

    Total Files

    34

    Last publish

    Collaborators

    • kabbouchi