1.8.0 • Published 2 years ago

@walletconnect/client v1.8.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

WalletConnect Client

Client for WalletConnect

For more details, read the documentation

Install

yarn add @walletconnect/client
# OR

npm install --save @walletconnect/client

Initiate Connection

import WalletConnect from "@walletconnect/client";

// Create a connector
const connector = new WalletConnect({
  bridge: "https://bridge.walletconnect.org", // Required
});

connector.on("session_update", (error, payload) => {
  if (error) {
    throw error;
  }

  // Get updated accounts and chainId
  const { accounts, chainId } = payload.params[0];
});

connector.on("disconnect", (error, payload) => {
  if (error) {
    throw error;
  }

  // Delete connector
});

const { accounts, chainId } = await connector.connect();

Send Transaction (eth_sendTransaction)

// Draft transaction
const tx = {
  from: "0xbc28Ea04101F03aA7a94C1379bc3AB32E65e62d3", // Required
  to: "0x89D24A7b4cCB1b6fAA2625Fe562bDd9A23260359", // Required (for non contract deployments)
  data: "0x", // Required
  gasPrice: "0x02540be400", // Optional
  gasLimit: "0x9c40", // Optional
  value: "0x00", // Optional
  nonce: "0x0114", // Optional
};

// Send transaction
connector
  .sendTransaction(tx)
  .then(result => {
    // Returns transaction id (hash)
    console.log(result);
  })
  .catch(error => {
    // Error returned when rejected
    console.error(error);
  });

Sign Transaction (eth_signTransaction)

// Draft transaction
const tx = {
  from: "0xbc28Ea04101F03aA7a94C1379bc3AB32E65e62d3", // Required
  to: "0x89D24A7b4cCB1b6fAA2625Fe562bDd9A23260359", // Required (for non contract deployments)
  data: "0x", // Required
  gasPrice: "0x02540be400", // Optional
  gasLimit: "0x9c40", // Optional
  value: "0x00", // Optional
  nonce: "0x0114", // Optional
};

// Sign transaction
connector
  .signTransaction(tx)
  .then(result => {
    // Returns signed transaction
    console.log(result);
  })
  .catch(error => {
    // Error returned when rejected
    console.error(error);
  });

Sign Personal Message (personal_sign)

// Draft Message Parameters
const message = "My email is john@doe.com - 1537836206101"

const msgParams = [
  convertUtf8ToHex(message)                                                 // Required
  "0xbc28ea04101f03ea7a94c1379bc3ab32e65e62d3",                             // Required
];


// Sign personal message
connector
  .signPersonalMessage(msgParams)
  .then((result) => {
    // Returns signature.
    console.log(result)
  })
  .catch(error => {
    // Error returned when rejected
    console.error(error);
  })

Sign Message (eth_sign)

// Draft Message Parameters
const message = "My email is john@doe.com - 1537836206101";

const msgParams = [
  "0xbc28ea04101f03ea7a94c1379bc3ab32e65e62d3",                            // Required
  keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))    // Required
];


// Sign message
connector
  .signMessage(msgParams)
  .then((result) => {
    // Returns signature.
    console.log(result)
  })
  .catch(error => {
    // Error returned when rejected
    console.error(error);
  })

Sign Typed Data (eth_signTypedData)

// Draft Message Parameters
const typedData = {
  types: {
    EIP712Domain: [
      { name: "name", type: "string" },
      { name: "version", type: "string" },
      { name: "chainId", type: "uint256" },
      { name: "verifyingContract", type: "address" },
    ],
    Person: [
      { name: "name", type: "string" },
      { name: "account", type: "address" },
    ],
    Mail: [
      { name: "from", type: "Person" },
      { name: "to", type: "Person" },
      { name: "contents", type: "string" },
    ],
  },
  primaryType: "Mail",
  domain: {
    name: "Example Dapp",
    version: "1.0.0-beta",
    chainId: 1,
    verifyingContract: "0x0000000000000000000000000000000000000000",
  },
  message: {
    from: {
      name: "Alice",
      account: "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    },
    to: {
      name: "Bob",
      account: "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    },
    contents: "Hey, Bob!",
  },
};

const msgParams = [
  "0xbc28ea04101f03ea7a94c1379bc3ab32e65e62d3", // Required
  typedData, // Required
];

// Sign Typed Data
connector
  .signTypedData(msgParams)
  .then(result => {
    // Returns signature.
    console.log(result);
  })
  .catch(error => {
    // Error returned when rejected
    console.error(error);
  });

Send Custom Request

// Draft Custom Request
const customRequest = {
  id: 1337,
  jsonrpc: "2.0",
  method: "eth_signTransaction",
  params: [
    {
      from: "0xbc28Ea04101F03aA7a94C1379bc3AB32E65e62d3",
      to: "0x89D24A7b4cCB1b6fAA2625Fe562bDd9A23260359",
      data: "0x",
      gasPrice: "0x02540be400",
      gasLimit: "0x9c40",
      value: "0x00",
      nonce: "0x0114",
    },
  ],
};

// Send Custom Request
connector
  .sendCustomRequest(customRequest)
  .then(result => {
    // Returns request result
    console.log(result);
  })
  .catch(error => {
    // Error returned when rejected
    console.error(error);
  });

Create Instant Request

import WalletConnect from "@walletconnect/browser";
import WalletConnectQRCodeModal from "@walletconnect/qrcode-modal";

// Create a connector
const connector = new WalletConnect();

// Draft Instant Request
const instantRequest = {
  id: 1,
  jsonrpc: "2.0",
  method: "eth_signTransaction",
  params: [
    {
      from: "0xbc28ea04101f03ea7a94c1379bc3ab32e65e62d3",
      to: "0x0000000000000000000000000000000000000000",
      nonce: 1,
      gas: 100000,
      value: 0,
      data: "0x0",
    },
  ],
};

// Create Instant Request
connector
  .createInstantRequest(instantRequest)
  .then(result => {
    // Get Instant Request Result
    console.log(result);
  })
  .catch(error => {
    // Handle Error or Rejection
    console.error(error);
  });
@thorswap-lib/multichain-walletconnect@thorswap-lib/trustwalletvue-use-web3modalvng_connect_sdkv2@infinitebrahmanuniverse/nolb-_walalembic-sdk@everything-registry/sub-chunk-998@subwallet_connect/ledger@subwallet_connect/ledger-polkadot@subwallet_connect/qr_code@subwallet_connect/uauthxp.network@dssd1001/wallet-adapter-walletconnectwalletconnectwallet-connect-react-native-dapp-dibelingwam-ecommerce-pluginwallet-connect-jswallet-connect-librarywallet.shwalletconnect-libweb3-wallets-reactweb2-mqwallet-modalteste-do-paulo@funcx/connect-types@funcx/connector@fuseio/walletconnect-web3-provider@faktura-art/ticket-flow-react@garyanikin/useweb3@gelatonetwork/gasless-onboardinguse-contractkitutdoloremquevoluptatessolutavottun-web3-walletconnectultron-foundation-auth-kittriepay-walletconnect@dzek69/ftdev@imfeelingitchy/algorand-session-wallet@hedera-react/flash@gssuper/cosmodal@desmoslabs/desmjs-walletconnect@depay/walletconnect@depay/walletconnect-v1@desmoslabs/sdk-react@desmoslabs/sdk-coredev-claim-libdino-commondino-market-commondino-market-common-uidino-market-ui-seedworkdino-market-ui-seedwork-testdelectussequidpdanpittmancosmodalqwoyncosmodalreact-wallectconnectsompop-bundlr-networksportsbet-promotions-app@ceno-core/one@ceno-core/two@celo/wallet-walletconnect-v1@cardstack/web-client@cardstack/wc-provider@carlosdp/react-native-dapponec-authonec-clientonec-sdk@decentology/hyperverse-algorand@metis.io/middleware-client@onboard-dx/walletconnect@moonstake/cardano-wallet-connect@owdin/live-common@orochi-network/wallet-connector@elrondnetwork/erdjs-wallet-connect-provider@elastosfoundation/essentials-connector-client-browser@element-js/provider@fx-fe/connector@glitter-finance/sdk-web@gooddollar/web3sdk-v2@peppergaming/auth@perawallet/connect@okexchain/javascript-sdk-qrcode@okexchain/javascript-sdk@okbchain/javascript-sdk@bitizenwallet/connector-web3-provider@bn-onboard/walletconnectng-blockchainx@blockshake/defly-connect@blockshake/defly-connect-devazprime@colorfullife/evm-web3-hook@cybavo/react-native-wallet-servicecbwclientcbwsdkcceb@cosmos-wallet/core@cosmos-wallet/types@cosmostation/cosmos-client@cosmos-kit/types@cosmos-kit/wallets@daohaus/moloch-v3-fields
1.8.0

2 years ago

1.8.0-rc.0

2 years ago

1.7.8

2 years ago

2.0.0-beta.50

2 years ago

2.0.0-beta.55

2 years ago

2.0.0-beta.54

2 years ago

2.0.0-beta.53

2 years ago

2.0.0-beta.52

2 years ago

1.7.7

2 years ago

1.7.6

2 years ago

1.7.5

2 years ago

2.0.0-beta.26

2 years ago

2.0.0-beta.25

2 years ago

2.0.0-beta.24

2 years ago

1.7.4

2 years ago

1.7.3

2 years ago

2.0.0-beta.20.4

2 years ago

2.0.0-beta.20.6

2 years ago

2.0.0-beta.20.5

2 years ago

2.0.0-beta.20.7

2 years ago

2.0.0-beta.22

2 years ago

2.0.0-beta.21

2 years ago

2.0.0-beta.23

2 years ago

1.7.2-rc.0

2 years ago

1.7.1

2 years ago

1.7.1-alpha.0

2 years ago

1.7.0

2 years ago

2.0.0-beta.20.2

2 years ago

2.0.0-beta.20.1

2 years ago

2.0.0-beta.20.3

2 years ago

2.0.0-beta.20

3 years ago

2.0.0-beta.18.2

3 years ago

2.0.0-beta.18.3

3 years ago

2.0.0-beta.18.1

3 years ago

1.6.6

3 years ago

2.0.0-beta.19

3 years ago

2.0.0-beta.18

3 years ago

2.0.0-beta.17.3

3 years ago

2.0.0-beta.17.1

3 years ago

2.0.0-beta.17.2

3 years ago

1.6.5

3 years ago

1.6.4

3 years ago

1.6.3

3 years ago

1.6.2

3 years ago

1.6.2-alpha.0

3 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.5.5

3 years ago

1.6.0-alpha.0

3 years ago

1.5.4

3 years ago

1.5.3

3 years ago

2.0.0-beta.17

3 years ago

1.5.2

3 years ago

2.0.0-beta.16

3 years ago

1.5.1

3 years ago

2.0.0-beta.15

3 years ago

1.5.0-rc.8

3 years ago

1.5.0-rc.9

3 years ago

1.5.0

3 years ago

2.0.0-beta.14

3 years ago

2.0.0-beta.13

3 years ago

1.5.0-rc.7

3 years ago

1.5.0-rc.4

3 years ago

1.5.0-rc.5

3 years ago

1.5.0-rc.6

3 years ago

2.0.0-beta.12

3 years ago

1.5.0-rc.3

3 years ago

1.5.0-rc.1

3 years ago

1.5.0-rc.2

3 years ago

2.0.0-beta.11

3 years ago

2.0.0-beta.10

3 years ago

1.5.0-rc.0

3 years ago

2.0.0-beta.9

3 years ago

2.0.0-beta.8

3 years ago

2.0.0-beta.7

3 years ago

2.0.0-beta.6

3 years ago

2.0.0-beta.5

3 years ago

1.4.2-rc.2

3 years ago

1.4.2-rc.1

3 years ago

2.0.0-beta.2

3 years ago

2.0.0-beta.1

3 years ago

2.0.0-beta.0

3 years ago

2.0.0-beta.4

3 years ago

2.0.0-beta.3

3 years ago

2.0.0-alpha.42

3 years ago

2.0.0-alpha.41

3 years ago

2.0.0-alpha.40

3 years ago

2.0.0-alpha.39

3 years ago

2.0.0-alpha.38

3 years ago

2.0.0-alpha.37

3 years ago

2.0.0-alpha.36

3 years ago

1.4.2-rc.0

3 years ago

2.0.0-alpha.35

3 years ago

1.4.1

3 years ago

2.0.0-alpha.34

3 years ago

2.0.0-alpha.33

3 years ago

2.0.0-alpha.32

3 years ago

2.0.0-alpha.31

3 years ago

2.0.0-alpha.30

3 years ago

2.0.0-alpha.29

3 years ago

1.4.0

3 years ago

2.0.0-alpha.28

3 years ago

1.4.0-alpha.1

3 years ago

1.4.0-alpha.2

3 years ago

2.0.0-alpha.27

3 years ago

1.4.0-alpha.0

3 years ago

2.0.0-alpha.26

3 years ago

2.0.0-alpha.25

3 years ago

2.0.0-alpha.24

3 years ago

2.0.0-alpha.22

3 years ago

2.0.0-alpha.23

3 years ago

2.0.0-alpha.21

3 years ago

1.3.6

3 years ago

1.3.6-rc.0

3 years ago

1.3.5

3 years ago

1.3.5-rc.1

3 years ago

1.3.5-rc.2

3 years ago

2.0.0-alpha.20

3 years ago

1.3.5-rc.0

3 years ago

2.0.0-alpha.19

3 years ago

1.3.4-rc.3

3 years ago

1.3.4

3 years ago

1.3.4-rc.2

3 years ago

2.0.0-alpha.18

3 years ago

1.3.4-rc.1

3 years ago

1.3.4-rc.0

3 years ago

2.0.0-alpha.17

3 years ago

2.0.0-alpha.16

3 years ago

2.0.0-alpha.15

3 years ago

2.0.0-alpha.14

3 years ago

2.0.0-alpha.13

3 years ago

1.3.3

3 years ago

2.0.0-alpha.12

3 years ago

2.0.0-alpha.11

3 years ago

1.3.2

3 years ago

1.3.2-rc.4

3 years ago

1.3.2-rc.3

3 years ago

1.3.2-rc.2

3 years ago

2.0.0-alpha.10

3 years ago

2.0.0-alpha.9

3 years ago

2.0.0-alpha.8

3 years ago

2.0.0-alpha.7

3 years ago

2.0.0-alpha.6

3 years ago

2.0.0-alpha.5

3 years ago

2.0.0-alpha.3

3 years ago

2.0.0-alpha.4

3 years ago

2.0.0-alpha.2

3 years ago

1.3.2-rc.1

3 years ago

1.3.2-rc.0

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.3.0-rc.1

4 years ago

1.3.0-rc.0

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.2.0-alpha.0

4 years ago

1.1.1-alpha.0

4 years ago

1.1.0

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.1.0-rc.0

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.1-rc.0

4 years ago

1.0.0

4 years ago

1.0.0-rc.4

4 years ago

1.0.0-rc.3

4 years ago

1.0.0-rc.1

4 years ago

1.0.0-rc.2

4 years ago

1.0.0-rc.0

4 years ago

1.0.0-beta.103

4 years ago

1.0.0-beta.102

4 years ago

1.0.0-beta.101

4 years ago

1.0.0-beta.100

4 years ago

1.0.0-beta.99

4 years ago

1.0.0-beta.98

4 years ago

1.0.0-beta.97

4 years ago

1.0.0-beta.96

4 years ago

1.0.0-beta.95

4 years ago

1.0.0-beta.94

4 years ago

1.0.0-beta.91

4 years ago

1.0.0-beta.92

4 years ago

1.0.0-beta.90

4 years ago

1.0.0-beta.93

4 years ago

1.0.0-beta.88

4 years ago

1.0.0-beta.89

4 years ago

1.0.0-beta.86

4 years ago

1.0.0-beta.87

4 years ago

1.0.0-beta.85

4 years ago

1.0.0-beta.84

4 years ago

1.0.0-beta.82

4 years ago

1.0.0-beta.83

4 years ago

1.0.0-beta.81

4 years ago

1.0.0-beta.80

4 years ago

1.0.0-beta.79

4 years ago

1.0.0-beta.77

4 years ago

1.0.0-beta.76

4 years ago

1.0.0-beta.75

4 years ago

1.0.0-beta.73

4 years ago

1.0.0-beta.74

4 years ago

1.0.0-beta.71

4 years ago

1.0.0-beta.72

4 years ago

1.0.0-beta.70

4 years ago

1.0.0-beta.69

4 years ago

1.0.0-beta.68

4 years ago

1.0.0-beta.67

4 years ago

1.0.0-beta.66

4 years ago

1.0.0-beta.65

4 years ago

1.0.0-beta.64

4 years ago

1.0.0-beta.63

4 years ago

1.0.0-beta.62

4 years ago

1.0.0-beta.61

4 years ago

1.0.0-beta.60

4 years ago

1.0.0-beta.59

4 years ago