@wagmi/core 0.5.4 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +1 -1
  2. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +1 -1
  3. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +1 -1
  4. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +1 -1
  5. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +1 -1
  6. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +1 -1
  7. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +1 -1
  8. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +1 -1
  9. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +1 -1
  10. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +1 -1
  11. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +1 -1
  12. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +1 -1
  13. package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +1 -1
  14. package/dist/declarations/src/index.d.ts +1 -1
  15. package/dist/declarations/src/types/index.d.ts +2 -0
  16. package/dist/declarations/src/utils/index.d.ts +1 -0
  17. package/dist/declarations/src/utils/minimizeContractInterface.d.ts +5 -0
  18. package/dist/{getProvider-1130900a.cjs.dev.js → getProvider-316a5d3f.cjs.dev.js} +2 -0
  19. package/dist/{getProvider-dc3cbcca.cjs.prod.js → getProvider-51ad330f.cjs.prod.js} +2 -0
  20. package/dist/{getProvider-8f5b3a0d.esm.js → getProvider-a6708613.esm.js} +2 -0
  21. package/dist/wagmi-core.cjs.dev.js +18 -3
  22. package/dist/wagmi-core.cjs.prod.js +18 -3
  23. package/dist/wagmi-core.esm.js +20 -6
  24. package/package.json +2 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-1130900a.cjs.dev.js');
5
+ var getProvider = require('../../../dist/getProvider-316a5d3f.cjs.dev.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
8
  require('zustand/middleware');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-dc3cbcca.cjs.prod.js');
5
+ var getProvider = require('../../../dist/getProvider-51ad330f.cjs.prod.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
8
  require('zustand/middleware');
@@ -1,4 +1,4 @@
1
- import { j as Connector, _ as _classPrivateMethodInitSpec, r as _defineProperty, s as _classPrivateFieldInitSpec, n as normalizeChainId, U as UserRejectedRequestError, t as _classPrivateFieldGet, u as _classPrivateFieldSet, k as ChainNotConfiguredError, v as _classPrivateMethodGet, A as AddChainError, o as SwitchChainError } from '../../../dist/getProvider-8f5b3a0d.esm.js';
1
+ import { j as Connector, _ as _classPrivateMethodInitSpec, r as _defineProperty, s as _classPrivateFieldInitSpec, n as normalizeChainId, U as UserRejectedRequestError, t as _classPrivateFieldGet, u as _classPrivateFieldSet, k as ChainNotConfiguredError, v as _classPrivateMethodGet, A as AddChainError, o as SwitchChainError } from '../../../dist/getProvider-a6708613.esm.js';
2
2
  import { providers } from 'ethers';
3
3
  import { getAddress, hexValue } from 'ethers/lib/utils';
4
4
  import 'zustand/middleware';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-1130900a.cjs.dev.js');
5
+ var getProvider = require('../../../dist/getProvider-316a5d3f.cjs.dev.js');
6
6
  require('zustand/middleware');
7
7
  require('zustand/vanilla');
8
8
  require('ethers');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-dc3cbcca.cjs.prod.js');
5
+ var getProvider = require('../../../dist/getProvider-51ad330f.cjs.prod.js');
6
6
  require('zustand/middleware');
7
7
  require('zustand/vanilla');
8
8
  require('ethers');
@@ -1,4 +1,4 @@
1
- import { I as InjectedConnector, _ as _classPrivateMethodInitSpec, r as _defineProperty, v as _classPrivateMethodGet, s as _classPrivateFieldInitSpec, u as _classPrivateFieldSet, a as ConnectorNotFoundError, t as _classPrivateFieldGet, g as getClient, U as UserRejectedRequestError, R as ResourceUnavailableError } from '../../../dist/getProvider-8f5b3a0d.esm.js';
1
+ import { I as InjectedConnector, _ as _classPrivateMethodInitSpec, r as _defineProperty, v as _classPrivateMethodGet, s as _classPrivateFieldInitSpec, u as _classPrivateFieldSet, a as ConnectorNotFoundError, t as _classPrivateFieldGet, g as getClient, U as UserRejectedRequestError, R as ResourceUnavailableError } from '../../../dist/getProvider-a6708613.esm.js';
2
2
  import 'zustand/middleware';
3
3
  import 'zustand/vanilla';
4
4
  import 'ethers';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-1130900a.cjs.dev.js');
5
+ var getProvider = require('../../../dist/getProvider-316a5d3f.cjs.dev.js');
6
6
  var utils = require('ethers/lib/utils');
7
7
  var ethers = require('ethers');
8
8
  var EventEmitter = require('eventemitter3');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-dc3cbcca.cjs.prod.js');
5
+ var getProvider = require('../../../dist/getProvider-51ad330f.cjs.prod.js');
6
6
  var utils = require('ethers/lib/utils');
7
7
  var ethers = require('ethers');
8
8
  var EventEmitter = require('eventemitter3');
@@ -1,4 +1,4 @@
1
- import { r as _defineProperty, s as _classPrivateFieldInitSpec, u as _classPrivateFieldSet, t as _classPrivateFieldGet, U as UserRejectedRequestError, j as Connector, _ as _classPrivateMethodInitSpec, n as normalizeChainId, v as _classPrivateMethodGet } from '../../../dist/getProvider-8f5b3a0d.esm.js';
1
+ import { r as _defineProperty, s as _classPrivateFieldInitSpec, u as _classPrivateFieldSet, t as _classPrivateFieldGet, U as UserRejectedRequestError, j as Connector, _ as _classPrivateMethodInitSpec, n as normalizeChainId, v as _classPrivateMethodGet } from '../../../dist/getProvider-a6708613.esm.js';
2
2
  import { getAddress } from 'ethers/lib/utils';
3
3
  import { providers } from 'ethers';
4
4
  import EventEmitter from 'eventemitter3';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-1130900a.cjs.dev.js');
5
+ var getProvider = require('../../../dist/getProvider-316a5d3f.cjs.dev.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
8
  require('zustand/middleware');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('../../../dist/getProvider-dc3cbcca.cjs.prod.js');
5
+ var getProvider = require('../../../dist/getProvider-51ad330f.cjs.prod.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
8
  require('zustand/middleware');
@@ -1,4 +1,4 @@
1
- import { j as Connector, _ as _classPrivateMethodInitSpec, r as _defineProperty, s as _classPrivateFieldInitSpec, n as normalizeChainId, g as getClient, v as _classPrivateMethodGet, U as UserRejectedRequestError, t as _classPrivateFieldGet, u as _classPrivateFieldSet, o as SwitchChainError } from '../../../dist/getProvider-8f5b3a0d.esm.js';
1
+ import { j as Connector, _ as _classPrivateMethodInitSpec, r as _defineProperty, s as _classPrivateFieldInitSpec, n as normalizeChainId, g as getClient, v as _classPrivateMethodGet, U as UserRejectedRequestError, t as _classPrivateFieldGet, u as _classPrivateFieldSet, o as SwitchChainError } from '../../../dist/getProvider-a6708613.esm.js';
2
2
  import { providers } from 'ethers';
3
3
  import { getAddress, hexValue } from 'ethers/lib/utils';
4
4
  import 'zustand/middleware';
@@ -34,4 +34,4 @@ export declare type PrepareWriteContractResult<TSigner extends Signer = Signer>
34
34
  * })
35
35
  * const result = await writeContract(config)
36
36
  */
37
- export declare function prepareWriteContract<TContract extends Contract = Contract, TSigner extends Signer = Signer>({ addressOrName, args, chainId, contractInterface, functionName, overrides, signer: signer_, }: PrepareWriteContractConfig): Promise<PrepareWriteContractResult<TSigner>>;
37
+ export declare function prepareWriteContract<TContract extends Contract = Contract, TSigner extends Signer = Signer>({ addressOrName, args, chainId, contractInterface: contractInterface_, functionName, overrides, signer: signer_, }: PrepareWriteContractConfig): Promise<PrepareWriteContractResult<TSigner>>;
@@ -9,5 +9,5 @@ export { AddChainError, ChainDoesNotSupportMulticallError, ChainMismatchError, C
9
9
  export { createStorage, noopStorage } from './storage';
10
10
  export type { ClientStorage as Storage } from './storage';
11
11
  export type { Chain, ChainProviderFn, Ethereum, FallbackProviderConfig, ProviderWithFallbackConfig, Provider, Signer, Unit, WebSocketProvider, } from './types';
12
- export { configureChains, deepEqual, normalizeChainId, parseContractResult, } from './utils';
12
+ export { configureChains, deepEqual, minimizeContractInterface, normalizeChainId, parseContractResult, } from './utils';
13
13
  export type { ConfigureChainsConfig } from './utils';
@@ -93,10 +93,12 @@ declare type WatchAssetParams = {
93
93
  };
94
94
  };
95
95
  declare type InjectedProviderFlags = {
96
+ isBitKeep?: true;
96
97
  isBraveWallet?: true;
97
98
  isCoinbaseWallet?: true;
98
99
  isExodus?: true;
99
100
  isFrame?: true;
101
+ isMathWallet?: true;
100
102
  isMetaMask?: true;
101
103
  isOneInchAndroidWallet?: true;
102
104
  isOneInchIOSWallet?: true;
@@ -2,6 +2,7 @@ export { configureChains } from './configureChains';
2
2
  export type { ConfigureChainsConfig } from './configureChains';
3
3
  export { deepEqual } from './deepEqual';
4
4
  export { getInjectedName } from './getInjectedName';
5
+ export { minimizeContractInterface } from './minimizeContractInterface';
5
6
  export { normalizeChainId } from './normalizeChainId';
6
7
  export { parseContractResult } from './parseContractResult';
7
8
  export { warn } from './warn';
@@ -0,0 +1,5 @@
1
+ import { ContractInterface } from 'ethers/lib/ethers';
2
+ export declare function minimizeContractInterface({ contractInterface, functionName, }: {
3
+ contractInterface: ContractInterface;
4
+ functionName: string;
5
+ }): string[];
@@ -315,10 +315,12 @@ function getInjectedName(ethereum) {
315
315
  if (!ethereum) return 'Injected';
316
316
 
317
317
  const getName = provider => {
318
+ if (provider.isBitKeep) return 'BitKeep';
318
319
  if (provider.isBraveWallet) return 'Brave Wallet';
319
320
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
320
321
  if (provider.isExodus) return 'Exodus';
321
322
  if (provider.isFrame) return 'Frame';
323
+ if (provider.isMathWallet) return 'MathWallet';
322
324
  if (provider.isOpera) return 'Opera';
323
325
  if (provider.isTally) return 'Tally';
324
326
  if (provider.isTokenPocket) return 'TokenPocket';
@@ -315,10 +315,12 @@ function getInjectedName(ethereum) {
315
315
  if (!ethereum) return 'Injected';
316
316
 
317
317
  const getName = provider => {
318
+ if (provider.isBitKeep) return 'BitKeep';
318
319
  if (provider.isBraveWallet) return 'Brave Wallet';
319
320
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
320
321
  if (provider.isExodus) return 'Exodus';
321
322
  if (provider.isFrame) return 'Frame';
323
+ if (provider.isMathWallet) return 'MathWallet';
322
324
  if (provider.isOpera) return 'Opera';
323
325
  if (provider.isTally) return 'Tally';
324
326
  if (provider.isTokenPocket) return 'TokenPocket';
@@ -308,10 +308,12 @@ function getInjectedName(ethereum) {
308
308
  if (!ethereum) return 'Injected';
309
309
 
310
310
  const getName = provider => {
311
+ if (provider.isBitKeep) return 'BitKeep';
311
312
  if (provider.isBraveWallet) return 'Brave Wallet';
312
313
  if (provider.isCoinbaseWallet) return 'Coinbase Wallet';
313
314
  if (provider.isExodus) return 'Exodus';
314
315
  if (provider.isFrame) return 'Frame';
316
+ if (provider.isMathWallet) return 'MathWallet';
315
317
  if (provider.isOpera) return 'Opera';
316
318
  if (provider.isTally) return 'Tally';
317
319
  if (provider.isTokenPocket) return 'TokenPocket';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('./getProvider-1130900a.cjs.dev.js');
5
+ var getProvider = require('./getProvider-316a5d3f.cjs.dev.js');
6
6
  var ethers = require('ethers');
7
7
  var ethers$1 = require('ethers/lib/ethers');
8
8
  var utils = require('ethers/lib/utils');
@@ -176,6 +176,16 @@ function deepEqual(a, b) {
176
176
  return a !== a && b !== b;
177
177
  }
178
178
 
179
+ function minimizeContractInterface(_ref) {
180
+ let {
181
+ contractInterface,
182
+ functionName
183
+ } = _ref;
184
+ const abi = ethers$1.Contract.getInterface(contractInterface).format(utils.FormatTypes.full);
185
+ const minimizedInterface = Array.isArray(abi) ? abi : [abi];
186
+ return minimizedInterface.filter(i => i.includes(functionName));
187
+ }
188
+
179
189
  function isPlainArray(value) {
180
190
  return Array.isArray(value) && Object.keys(value).length === value.length;
181
191
  }
@@ -409,7 +419,7 @@ async function prepareWriteContract(_ref) {
409
419
  addressOrName,
410
420
  args,
411
421
  chainId,
412
- contractInterface,
422
+ contractInterface: contractInterface_,
413
423
  functionName,
414
424
  overrides,
415
425
  signer: signer_
@@ -418,7 +428,7 @@ async function prepareWriteContract(_ref) {
418
428
  if (!signer) throw new getProvider.ConnectorNotFoundError();
419
429
  const contract = getContract({
420
430
  addressOrName,
421
- contractInterface,
431
+ contractInterface: contractInterface_,
422
432
  signerOrProvider: signer
423
433
  });
424
434
  const populateTransactionFn = contract.populateTransaction[functionName];
@@ -430,6 +440,10 @@ async function prepareWriteContract(_ref) {
430
440
  });
431
441
  }
432
442
 
443
+ const contractInterface = minimizeContractInterface({
444
+ contractInterface: contract.interface,
445
+ functionName
446
+ });
433
447
  const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
434
448
  const unsignedTransaction = await populateTransactionFn(...params);
435
449
  const gasLimit = unsignedTransaction.gasLimit || (await signer.estimateGas(unsignedTransaction));
@@ -1499,6 +1513,7 @@ exports.getAccount = getAccount;
1499
1513
  exports.getContract = getContract;
1500
1514
  exports.getNetwork = getNetwork;
1501
1515
  exports.getWebSocketProvider = getWebSocketProvider;
1516
+ exports.minimizeContractInterface = minimizeContractInterface;
1502
1517
  exports.parseContractResult = parseContractResult;
1503
1518
  exports.prepareSendTransaction = prepareSendTransaction;
1504
1519
  exports.prepareWriteContract = prepareWriteContract;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getProvider = require('./getProvider-dc3cbcca.cjs.prod.js');
5
+ var getProvider = require('./getProvider-51ad330f.cjs.prod.js');
6
6
  var ethers = require('ethers');
7
7
  var ethers$1 = require('ethers/lib/ethers');
8
8
  var utils = require('ethers/lib/utils');
@@ -176,6 +176,16 @@ function deepEqual(a, b) {
176
176
  return a !== a && b !== b;
177
177
  }
178
178
 
179
+ function minimizeContractInterface(_ref) {
180
+ let {
181
+ contractInterface,
182
+ functionName
183
+ } = _ref;
184
+ const abi = ethers$1.Contract.getInterface(contractInterface).format(utils.FormatTypes.full);
185
+ const minimizedInterface = Array.isArray(abi) ? abi : [abi];
186
+ return minimizedInterface.filter(i => i.includes(functionName));
187
+ }
188
+
179
189
  function isPlainArray(value) {
180
190
  return Array.isArray(value) && Object.keys(value).length === value.length;
181
191
  }
@@ -409,7 +419,7 @@ async function prepareWriteContract(_ref) {
409
419
  addressOrName,
410
420
  args,
411
421
  chainId,
412
- contractInterface,
422
+ contractInterface: contractInterface_,
413
423
  functionName,
414
424
  overrides,
415
425
  signer: signer_
@@ -418,7 +428,7 @@ async function prepareWriteContract(_ref) {
418
428
  if (!signer) throw new getProvider.ConnectorNotFoundError();
419
429
  const contract = getContract({
420
430
  addressOrName,
421
- contractInterface,
431
+ contractInterface: contractInterface_,
422
432
  signerOrProvider: signer
423
433
  });
424
434
  const populateTransactionFn = contract.populateTransaction[functionName];
@@ -430,6 +440,10 @@ async function prepareWriteContract(_ref) {
430
440
  });
431
441
  }
432
442
 
443
+ const contractInterface = minimizeContractInterface({
444
+ contractInterface: contract.interface,
445
+ functionName
446
+ });
433
447
  const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
434
448
  const unsignedTransaction = await populateTransactionFn(...params);
435
449
  const gasLimit = unsignedTransaction.gasLimit || (await signer.estimateGas(unsignedTransaction));
@@ -1499,6 +1513,7 @@ exports.getAccount = getAccount;
1499
1513
  exports.getContract = getContract;
1500
1514
  exports.getNetwork = getNetwork;
1501
1515
  exports.getWebSocketProvider = getWebSocketProvider;
1516
+ exports.minimizeContractInterface = minimizeContractInterface;
1502
1517
  exports.parseContractResult = parseContractResult;
1503
1518
  exports.prepareSendTransaction = prepareSendTransaction;
1504
1519
  exports.prepareWriteContract = prepareWriteContract;
@@ -1,8 +1,8 @@
1
- import { g as getClient, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, b as ChainMismatchError, U as UserRejectedRequestError, c as ContractMethodDoesNotExistError, d as getProvider, P as ProviderChainsNotFound, e as ChainDoesNotSupportMulticallError, f as ContractMethodNoResultError, n as normalizeChainId, S as SwitchChainNotSupportedError } from './getProvider-8f5b3a0d.esm.js';
2
- export { A as AddChainError, e as ChainDoesNotSupportMulticallError, b as ChainMismatchError, k as ChainNotConfiguredError, i as Client, j as Connector, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, c as ContractMethodDoesNotExistError, f as ContractMethodNoResultError, I as InjectedConnector, P as ProviderChainsNotFound, l as ProviderRpcError, R as ResourceUnavailableError, m as RpcError, o as SwitchChainError, S as SwitchChainNotSupportedError, U as UserRejectedRequestError, h as createClient, p as createStorage, d as getProvider, q as noopStorage, n as normalizeChainId } from './getProvider-8f5b3a0d.esm.js';
1
+ import { g as getClient, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, b as ChainMismatchError, U as UserRejectedRequestError, c as ContractMethodDoesNotExistError, d as getProvider, P as ProviderChainsNotFound, e as ChainDoesNotSupportMulticallError, f as ContractMethodNoResultError, n as normalizeChainId, S as SwitchChainNotSupportedError } from './getProvider-a6708613.esm.js';
2
+ export { A as AddChainError, e as ChainDoesNotSupportMulticallError, b as ChainMismatchError, k as ChainNotConfiguredError, i as Client, j as Connector, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, c as ContractMethodDoesNotExistError, f as ContractMethodNoResultError, I as InjectedConnector, P as ProviderChainsNotFound, l as ProviderRpcError, R as ResourceUnavailableError, m as RpcError, o as SwitchChainError, S as SwitchChainNotSupportedError, U as UserRejectedRequestError, h as createClient, p as createStorage, d as getProvider, q as noopStorage, n as normalizeChainId } from './getProvider-a6708613.esm.js';
3
3
  import { providers, Contract as Contract$1 } from 'ethers';
4
4
  import { Contract, logger } from 'ethers/lib/ethers';
5
- import { formatUnits, getAddress, isAddress, Logger } from 'ethers/lib/utils';
5
+ import { FormatTypes, formatUnits, getAddress, isAddress, Logger } from 'ethers/lib/utils';
6
6
  import shallow from 'zustand/shallow';
7
7
  export { a as alchemyRpcUrls, i as infuraRpcUrls, p as publicRpcUrls } from './rpcs-6e1b1718.esm.js';
8
8
  export { a as allChains, c as chain, b as chainId, d as defaultChains, e as defaultL2Chains, f as etherscanBlockExplorers } from './chains-5ceae8b1.esm.js';
@@ -169,6 +169,16 @@ function deepEqual(a, b) {
169
169
  return a !== a && b !== b;
170
170
  }
171
171
 
172
+ function minimizeContractInterface(_ref) {
173
+ let {
174
+ contractInterface,
175
+ functionName
176
+ } = _ref;
177
+ const abi = Contract.getInterface(contractInterface).format(FormatTypes.full);
178
+ const minimizedInterface = Array.isArray(abi) ? abi : [abi];
179
+ return minimizedInterface.filter(i => i.includes(functionName));
180
+ }
181
+
172
182
  function isPlainArray(value) {
173
183
  return Array.isArray(value) && Object.keys(value).length === value.length;
174
184
  }
@@ -402,7 +412,7 @@ async function prepareWriteContract(_ref) {
402
412
  addressOrName,
403
413
  args,
404
414
  chainId,
405
- contractInterface,
415
+ contractInterface: contractInterface_,
406
416
  functionName,
407
417
  overrides,
408
418
  signer: signer_
@@ -411,7 +421,7 @@ async function prepareWriteContract(_ref) {
411
421
  if (!signer) throw new ConnectorNotFoundError();
412
422
  const contract = getContract({
413
423
  addressOrName,
414
- contractInterface,
424
+ contractInterface: contractInterface_,
415
425
  signerOrProvider: signer
416
426
  });
417
427
  const populateTransactionFn = contract.populateTransaction[functionName];
@@ -423,6 +433,10 @@ async function prepareWriteContract(_ref) {
423
433
  });
424
434
  }
425
435
 
436
+ const contractInterface = minimizeContractInterface({
437
+ contractInterface: contract.interface,
438
+ functionName
439
+ });
426
440
  const params = [...(Array.isArray(args) ? args : args ? [args] : []), ...(overrides ? [overrides] : [])];
427
441
  const unsignedTransaction = await populateTransactionFn(...params);
428
442
  const gasLimit = unsignedTransaction.gasLimit || (await signer.estimateGas(unsignedTransaction));
@@ -1438,4 +1452,4 @@ async function fetchFeeData() {
1438
1452
  };
1439
1453
  }
1440
1454
 
1441
- export { configureChains, connect, deepEqual, deprecatedSendTransaction, deprecatedWriteContract, disconnect, erc20ABI, erc721ABI, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, fetchTransaction, getAccount, getContract, getNetwork, getWebSocketProvider, parseContractResult, prepareSendTransaction, prepareWriteContract, readContract, readContracts, sendTransaction, signMessage, signTypedData, switchNetwork, units, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchReadContracts, watchSigner, watchWebSocketProvider, writeContract };
1455
+ export { configureChains, connect, deepEqual, deprecatedSendTransaction, deprecatedWriteContract, disconnect, erc20ABI, erc721ABI, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, fetchTransaction, getAccount, getContract, getNetwork, getWebSocketProvider, minimizeContractInterface, parseContractResult, prepareSendTransaction, prepareWriteContract, readContract, readContracts, sendTransaction, signMessage, signTypedData, switchNetwork, units, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchReadContracts, watchSigner, watchWebSocketProvider, writeContract };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@wagmi/core",
3
3
  "description": "Vanilla JS library for Ethereum",
4
4
  "license": "WAGMIT",
5
- "version": "0.5.4",
5
+ "version": "0.5.5",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/wagmi-dev/wagmi.git",
@@ -107,7 +107,7 @@
107
107
  "devDependencies": {
108
108
  "@coinbase/wallet-sdk": "^3.4.1",
109
109
  "@walletconnect/ethereum-provider": "^1.7.8",
110
- "ethers": "^5.6.5"
110
+ "ethers": "^5.7.0"
111
111
  },
112
112
  "keywords": [
113
113
  "eth",