Skip to content

Commit

Permalink
Add MockProviderLike (#184)
Browse files Browse the repository at this point in the history
  • Loading branch information
sz-piotr authored Feb 5, 2020
1 parent eb7ccb1 commit 0f221ae
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
2 changes: 2 additions & 0 deletions docs/release-notes/2.3.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Changes:
* Introduce `MockProviderLike` interface that enables third party providers to use the legacy `getWallets` api.
4 changes: 2 additions & 2 deletions waffle-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ethereum-waffle",
"description": "Sweeter, faster and simpler than truffle.",
"version": "2.3.1",
"version": "2.3.2",
"author": "Marek Kirejczyk <[email protected]> (http://ethworks.io)",
"repository": "[email protected]:EthWorks/Waffle.git",
"private": false,
Expand Down Expand Up @@ -42,7 +42,7 @@
"node": ">=10.0"
},
"dependencies": {
"@ethereum-waffle/provider": "^2.3.1",
"@ethereum-waffle/provider": "^2.3.2",
"@ethereum-waffle/chai": "^2.3.0",
"@ethereum-waffle/compiler": "^2.3.0",
"ethers": "^4.0.0"
Expand Down
2 changes: 1 addition & 1 deletion waffle-provider/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@ethereum-waffle/provider",
"description": "A mock provider for your blockchain testing needs.",
"version": "2.3.1",
"version": "2.3.2",
"author": "Marek Kirejczyk <[email protected]> (http://ethworks.io)",
"repository": "[email protected]:EthWorks/Waffle.git",
"private": false,
Expand Down
12 changes: 11 additions & 1 deletion waffle-provider/src/legacyApi.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Ganache from 'ganache-core';
import {providers, Wallet} from 'ethers';
import {MockProvider} from './MockProvider';
import {deprecate} from './deprecate';

Expand All @@ -22,10 +23,19 @@ export function getGanacheOptions(ganacheOptionsOrPathToConfig: string | Ganache
return require(ganacheOptionsOrPathToConfig).ganacheOptions;
}

/**
* Enables third party providers to use the legacy `getWallets` api.
* @deprecated
*/
export interface MockProviderLike extends providers.Provider {
getWallets(): Wallet[];
createEmptyWallet(): Wallet;
}

/**
* @deprecated Use `mockProvider.getWallets()`
*/
export function getWallets(provider: MockProvider) {
export function getWallets(provider: MockProviderLike) {
deprecate('getWallets', 'Use "mockProvider.getWallets()" instead.');
return provider.getWallets();
}

0 comments on commit 0f221ae

Please sign in to comment.