@nomicfoundation/hardhat-viem 1.0.0 → 1.0.2
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.
- package/internal/chains.d.ts.map +1 -1
- package/internal/chains.js +8 -2
- package/internal/chains.js.map +1 -1
- package/internal/contracts.d.ts.map +1 -1
- package/internal/contracts.js +5 -5
- package/internal/contracts.js.map +1 -1
- package/package.json +20 -16
- package/src/internal/chains.ts +8 -2
- package/src/internal/contracts.ts +9 -5
- package/src/types.ts +2 -0
- package/types.d.ts +2 -0
- package/types.d.ts.map +1 -1
package/internal/chains.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/internal/chains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAU/C,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/internal/chains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAU/C,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CAuCzE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,WAEnD;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,cAAc,CAAC,CAQzB"}
|
package/internal/chains.js
CHANGED
@@ -23,10 +23,16 @@ async function getChain(provider) {
|
|
23
23
|
const matchingChains = Object.values(chains).filter(({ id }) => id === chainId);
|
24
24
|
if (matchingChains.length === 0) {
|
25
25
|
if (await isHardhatNetwork(provider)) {
|
26
|
-
return
|
26
|
+
return {
|
27
|
+
...chains.hardhat,
|
28
|
+
id: chainId,
|
29
|
+
};
|
27
30
|
}
|
28
31
|
else if (await isFoundryNetwork(provider)) {
|
29
|
-
return
|
32
|
+
return {
|
33
|
+
...chains.foundry,
|
34
|
+
id: chainId,
|
35
|
+
};
|
30
36
|
}
|
31
37
|
else {
|
32
38
|
throw new errors_1.NetworkNotFoundError(chainId);
|
package/internal/chains.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/internal/chains.ts"],"names":[],"mappings":";;;;;;AAIA,oEAAqC;AAErC,qCAIkB;AAEX,KAAK,UAAU,QAAQ,CAAC,QAA0B;IACvD,MAAM,MAAM,GAA0B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACjC,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACpC,OAAO,MAAM,CAAC,OAAO,CAAC;SACvB;aAAM,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;SACvB;aAAM;YACL,MAAM,IAAI,uCAA8B,EAAE,CAAC;SAC5C;KACF;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CACjD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAC3B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACpC,OAAO,MAAM,CAAC,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/internal/chains.ts"],"names":[],"mappings":";;;;;;AAIA,oEAAqC;AAErC,qCAIkB;AAEX,KAAK,UAAU,QAAQ,CAAC,QAA0B;IACvD,MAAM,MAAM,GAA0B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACjC,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACpC,OAAO,MAAM,CAAC,OAAO,CAAC;SACvB;aAAM,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;SACvB;aAAM;YACL,MAAM,IAAI,uCAA8B,EAAE,CAAC;SAC5C;KACF;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CACjD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAC3B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACpC,OAAO;gBACL,GAAG,MAAM,CAAC,OAAO;gBACjB,EAAE,EAAE,OAAO;aACZ,CAAC;SACH;aAAM,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YAC3C,OAAO;gBACL,GAAG,MAAM,CAAC,OAAO;gBACjB,EAAE,EAAE,OAAO;aACZ,CAAC;SACH;aAAM;YACL,MAAM,IAAI,6BAAoB,CAAC,OAAO,CAAC,CAAC;SACzC;KACF;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,MAAM,IAAI,sCAA6B,CAAC,OAAO,CAAC,CAAC;KAClD;IAED,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAvCD,4BAuCC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,OAAO,KAAK,KAAK,CAAC;AAC3B,CAAC;AAFD,oDAEC;AAEM,KAAK,UAAU,OAAO,CAC3B,QAA0B;IAE1B,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QACpC,OAAO,SAAS,CAAC;KAClB;SAAM,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QAC3C,OAAO,OAAO,CAAC;KAChB;SAAM;QACL,MAAM,IAAI,uCAA8B,EAAE,CAAC;KAC5C;AACH,CAAC;AAVD,0BAUC;AAED,MAAM,UAAU,GAAG,IAAA,wBAAO,EAAC,KAAK,EAAE,QAA0B,EAAE,EAAE,CAC9D,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAC3C,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAA,wBAAO,EAAC,KAAK,EAAE,QAA0B,EAAE,EAAE,CACpE,yBAAyB,CAAC,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,CACpE,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAA,wBAAO,EAAC,KAAK,EAAE,QAA0B,EAAE,EAAE,CACpE,yBAAyB,CAAC,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,CACnE,CAAC;AAEF,IAAK,aAGJ;AAHD,WAAK,aAAa;IAChB,sDAAqC,CAAA;IACrC,mDAAkC,CAAA;AACpC,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED,KAAK,UAAU,yBAAyB,CACtC,QAA0B,EAC1B,UAAkB;IAElB,IAAI;QACF,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/internal/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,+BAA+B,EAC/B,YAAY,EACb,MAAM,UAAU,CAAC;AAUlB,wBAAsB,cAAc,CAClC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,GAAG,EAAO,EAC3B,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,qBAAqB,CAAC,
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/internal/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,+BAA+B,EAC/B,YAAY,EACb,MAAM,UAAU,CAAC;AAUlB,wBAAsB,cAAc,CAClC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,GAAG,EAAO,EAC3B,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,GAAG,EAChB,gBAAgB,EAAE,GAAG,EACrB,eAAe,EAAE,GAAG,EAAE,EACtB,wBAAwB,GAAE,oBAAyB,EACnD,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAkDhC;AAED,wBAAsB,yBAAyB,CAC7C,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,GAAG,EAAO,EAC3B,MAAM,GAAE,+BAAoC,GAC3C,OAAO,CAAC;IACT,QAAQ,EAAE,qBAAqB,CAAC;IAChC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,CAAC,CAqBD;AAuDD,wBAAsB,aAAa,CACjC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
|
package/internal/contracts.js
CHANGED
@@ -27,9 +27,9 @@ exports.getContractAt = exports.sendDeploymentTransaction = exports.innerDeployC
|
|
27
27
|
const clients_1 = require("./clients");
|
28
28
|
const errors_1 = require("./errors");
|
29
29
|
async function deployContract({ artifacts, network }, contractName, constructorArgs = [], config = {}) {
|
30
|
-
const { walletClient: configWalletClient, confirmations, ...deployContractParameters } = config;
|
30
|
+
const { walletClient: configWalletClient, publicClient: configPublicClient, confirmations, ...deployContractParameters } = config;
|
31
31
|
const [publicClient, walletClient, contractArtifact] = await Promise.all([
|
32
|
-
(0, clients_1.getPublicClient)(network.provider),
|
32
|
+
configPublicClient ?? (0, clients_1.getPublicClient)(network.provider),
|
33
33
|
configWalletClient ??
|
34
34
|
getDefaultWalletClient(network.provider, network.name),
|
35
35
|
artifacts.readArtifact(contractName),
|
@@ -81,9 +81,9 @@ async function innerDeployContract(publicClient, walletClient, contractAbi, cont
|
|
81
81
|
}
|
82
82
|
exports.innerDeployContract = innerDeployContract;
|
83
83
|
async function sendDeploymentTransaction({ artifacts, network }, contractName, constructorArgs = [], config = {}) {
|
84
|
-
const { walletClient: configWalletClient, ...deployContractParameters } = config;
|
84
|
+
const { walletClient: configWalletClient, publicClient: configPublicClient, ...deployContractParameters } = config;
|
85
85
|
const [publicClient, walletClient, contractArtifact] = await Promise.all([
|
86
|
-
(0, clients_1.getPublicClient)(network.provider),
|
86
|
+
configPublicClient ?? (0, clients_1.getPublicClient)(network.provider),
|
87
87
|
configWalletClient ??
|
88
88
|
getDefaultWalletClient(network.provider, network.name),
|
89
89
|
artifacts.readArtifact(contractName),
|
@@ -127,7 +127,7 @@ async function innerSendDeploymentTransaction(publicClient, walletClient, contra
|
|
127
127
|
}
|
128
128
|
async function getContractAt({ artifacts, network }, contractName, address, config = {}) {
|
129
129
|
const [publicClient, walletClient, contractArtifact] = await Promise.all([
|
130
|
-
(0, clients_1.getPublicClient)(network.provider),
|
130
|
+
config.publicClient ?? (0, clients_1.getPublicClient)(network.provider),
|
131
131
|
config.walletClient ??
|
132
132
|
getDefaultWalletClient(network.provider, network.name),
|
133
133
|
artifacts.readArtifact(contractName),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/internal/contracts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,uCAA8D;AAC9D,qCAKkB;AAEX,KAAK,UAAU,cAAc,CAClC,EAAE,SAAS,EAAE,OAAO,EAA6B,EACjD,YAAoB,EACpB,kBAAyB,EAAE,EAC3B,SAA+B,EAAE;IAEjC,MAAM,EACJ,YAAY,EAAE,kBAAkB,EAChC,aAAa,EACb,GAAG,wBAAwB,EAC5B,GAAG,MAAM,CAAC;IACX,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvE,IAAA,yBAAe,EAAC,OAAO,CAAC,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/internal/contracts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nomicfoundation/hardhat-viem",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.2",
|
4
4
|
"description": "Hardhat plugin for viem",
|
5
5
|
"homepage": "https://github.com/nomicfoundation/hardhat/tree/main/packages/hardhat-viem",
|
6
6
|
"repository": "github:nomicfoundation/hardhat",
|
@@ -15,19 +15,6 @@
|
|
15
15
|
"hardhat-plugin",
|
16
16
|
"viem"
|
17
17
|
],
|
18
|
-
"scripts": {
|
19
|
-
"lint": "yarn prettier --check && yarn eslint",
|
20
|
-
"lint:fix": "yarn prettier --write && yarn eslint --fix",
|
21
|
-
"eslint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
|
22
|
-
"prettier": "prettier \"**/*.{js,md,json}\"",
|
23
|
-
"pretest": "cd ../.. && yarn build",
|
24
|
-
"test": "mocha --recursive \"test/**/*.ts\" -c --exit",
|
25
|
-
"snapshots:update": "ts-node test/update-snapshots.ts",
|
26
|
-
"coverage": "nyc yarn test -- --reporter min",
|
27
|
-
"build": "tsc --build .",
|
28
|
-
"prepublishOnly": "yarn build",
|
29
|
-
"clean": "rimraf internal *.{d.ts,js}{,.map} build-test tsconfig.tsbuildinfo"
|
30
|
-
},
|
31
18
|
"files": [
|
32
19
|
"src/",
|
33
20
|
"internal/",
|
@@ -41,6 +28,7 @@
|
|
41
28
|
"devDependencies": {
|
42
29
|
"@types/chai": "^4.2.0",
|
43
30
|
"@types/chai-as-promised": "^7.1.3",
|
31
|
+
"@types/lodash": "^4.14.123",
|
44
32
|
"@types/lodash.memoize": "^4.1.7",
|
45
33
|
"@types/mocha": ">=9.1.0",
|
46
34
|
"@types/node": "^16.0.0",
|
@@ -57,11 +45,15 @@
|
|
57
45
|
"hardhat": "^2.17.0",
|
58
46
|
"jest-diff": "^29.7.0",
|
59
47
|
"mocha": "^10.0.0",
|
48
|
+
"nyc": "^15.1.0",
|
60
49
|
"prettier": "2.4.1",
|
50
|
+
"rimraf": "^3.0.2",
|
61
51
|
"sinon": "^9.0.0",
|
62
52
|
"ts-node": "^10.8.0",
|
63
53
|
"typescript": "~5.0.0",
|
64
|
-
"viem": "^1.15.1"
|
54
|
+
"viem": "^1.15.1",
|
55
|
+
"@nomicfoundation/eslint-plugin-hardhat-internal-rules": "^1.0.2",
|
56
|
+
"@nomicfoundation/eslint-plugin-slow-imports": "^1.0.0"
|
65
57
|
},
|
66
58
|
"peerDependencies": {
|
67
59
|
"hardhat": "^2.17.0",
|
@@ -71,5 +63,17 @@
|
|
71
63
|
"dependencies": {
|
72
64
|
"abitype": "^0.9.8",
|
73
65
|
"lodash.memoize": "^4.1.2"
|
66
|
+
},
|
67
|
+
"scripts": {
|
68
|
+
"lint": "pnpm prettier --check && pnpm eslint",
|
69
|
+
"lint:fix": "pnpm prettier --write && pnpm eslint --fix",
|
70
|
+
"eslint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
|
71
|
+
"prettier": "prettier \"**/*.{js,md,json}\"",
|
72
|
+
"pretest": "cd ../.. && pnpm build",
|
73
|
+
"test": "mocha --recursive \"test/**/*.ts\" -c --exit",
|
74
|
+
"snapshots:update": "ts-node test/update-snapshots.ts",
|
75
|
+
"coverage": "nyc pnpm test -- --reporter min",
|
76
|
+
"build": "tsc --build .",
|
77
|
+
"clean": "rimraf internal *.{d.ts,js}{,.map} build-test tsconfig.tsbuildinfo"
|
74
78
|
}
|
75
|
-
}
|
79
|
+
}
|
package/src/internal/chains.ts
CHANGED
@@ -30,9 +30,15 @@ export async function getChain(provider: EthereumProvider): Promise<Chain> {
|
|
30
30
|
|
31
31
|
if (matchingChains.length === 0) {
|
32
32
|
if (await isHardhatNetwork(provider)) {
|
33
|
-
return
|
33
|
+
return {
|
34
|
+
...chains.hardhat,
|
35
|
+
id: chainId,
|
36
|
+
};
|
34
37
|
} else if (await isFoundryNetwork(provider)) {
|
35
|
-
return
|
38
|
+
return {
|
39
|
+
...chains.foundry,
|
40
|
+
id: chainId,
|
41
|
+
};
|
36
42
|
} else {
|
37
43
|
throw new NetworkNotFoundError(chainId);
|
38
44
|
}
|
@@ -29,11 +29,12 @@ export async function deployContract(
|
|
29
29
|
): Promise<GetContractReturnType> {
|
30
30
|
const {
|
31
31
|
walletClient: configWalletClient,
|
32
|
+
publicClient: configPublicClient,
|
32
33
|
confirmations,
|
33
34
|
...deployContractParameters
|
34
35
|
} = config;
|
35
36
|
const [publicClient, walletClient, contractArtifact] = await Promise.all([
|
36
|
-
getPublicClient(network.provider),
|
37
|
+
configPublicClient ?? getPublicClient(network.provider),
|
37
38
|
configWalletClient ??
|
38
39
|
getDefaultWalletClient(network.provider, network.name),
|
39
40
|
artifacts.readArtifact(contractName),
|
@@ -119,10 +120,13 @@ export async function sendDeploymentTransaction(
|
|
119
120
|
contract: GetContractReturnType;
|
120
121
|
deploymentTransaction: GetTransactionReturnType;
|
121
122
|
}> {
|
122
|
-
const {
|
123
|
-
|
123
|
+
const {
|
124
|
+
walletClient: configWalletClient,
|
125
|
+
publicClient: configPublicClient,
|
126
|
+
...deployContractParameters
|
127
|
+
} = config;
|
124
128
|
const [publicClient, walletClient, contractArtifact] = await Promise.all([
|
125
|
-
getPublicClient(network.provider),
|
129
|
+
configPublicClient ?? getPublicClient(network.provider),
|
126
130
|
configWalletClient ??
|
127
131
|
getDefaultWalletClient(network.provider, network.name),
|
128
132
|
artifacts.readArtifact(contractName),
|
@@ -198,7 +202,7 @@ export async function getContractAt(
|
|
198
202
|
config: GetContractAtConfig = {}
|
199
203
|
): Promise<GetContractReturnType> {
|
200
204
|
const [publicClient, walletClient, contractArtifact] = await Promise.all([
|
201
|
-
getPublicClient(network.provider),
|
205
|
+
config.publicClient ?? getPublicClient(network.provider),
|
202
206
|
config.walletClient ??
|
203
207
|
getDefaultWalletClient(network.provider, network.name),
|
204
208
|
artifacts.readArtifact(contractName),
|
package/src/types.ts
CHANGED
@@ -19,6 +19,7 @@ export type TestClientMode = Parameters<
|
|
19
19
|
|
20
20
|
export interface SendTransactionConfig {
|
21
21
|
walletClient?: WalletClient;
|
22
|
+
publicClient?: PublicClient;
|
22
23
|
gas?: bigint;
|
23
24
|
gasPrice?: bigint;
|
24
25
|
maxFeePerGas?: bigint;
|
@@ -34,6 +35,7 @@ export type SendDeploymentTransactionConfig = SendTransactionConfig;
|
|
34
35
|
|
35
36
|
export interface GetContractAtConfig {
|
36
37
|
walletClient?: WalletClient;
|
38
|
+
publicClient?: PublicClient;
|
37
39
|
}
|
38
40
|
|
39
41
|
export type GetContractReturnType<
|
package/types.d.ts
CHANGED
@@ -6,6 +6,7 @@ export type TestClient = viemT.TestClient<TestClientMode, viemT.Transport, viemT
|
|
6
6
|
export type TestClientMode = Parameters<typeof viemT.createTestClient>[0]["mode"];
|
7
7
|
export interface SendTransactionConfig {
|
8
8
|
walletClient?: WalletClient;
|
9
|
+
publicClient?: PublicClient;
|
9
10
|
gas?: bigint;
|
10
11
|
gasPrice?: bigint;
|
11
12
|
maxFeePerGas?: bigint;
|
@@ -18,6 +19,7 @@ export interface DeployContractConfig extends SendTransactionConfig {
|
|
18
19
|
export type SendDeploymentTransactionConfig = SendTransactionConfig;
|
19
20
|
export interface GetContractAtConfig {
|
20
21
|
walletClient?: WalletClient;
|
22
|
+
publicClient?: PublicClient;
|
21
23
|
}
|
22
24
|
export type GetContractReturnType<TAbi extends viemT.Abi | readonly unknown[] = viemT.Abi> = viemT.GetContractReturnType<TAbi, PublicClient, WalletClient, viemT.Address>;
|
23
25
|
export type GetTransactionReturnType = viemT.GetTransactionReturnType<viemT.Chain, "latest">;
|
package/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAC3C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,OAAO,CACd,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACvC,cAAc,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,CACZ,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC,OAAO,KAAK,CAAC,gBAAgB,CAC9B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEb,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,CAC/B,IAAI,SAAS,KAAK,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,IACrD,KAAK,CAAC,qBAAqB,CAC7B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,KAAK,CAAC,OAAO,CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CACnE,KAAK,CAAC,KAAK,EACX,QAAQ,CACT,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,MAAM,IAC7C,OAAO,SAAS,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,SAAS,MAAM,EACtD,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,EAC9B,eAAe,CAAC,EAAE,GAAG,EAAE,EACvB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACjE,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,EAC9B,eAAe,CAAC,EAAE,GAAG,EAAE,EACvB,MAAM,CAAC,EAAE,+BAA+B,GACvC,OAAO,CAAC;IACT,QAAQ,EAAE,qBAAqB,CAAC;IAChC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,SAAS,MAAM,EACrD,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,EAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAElC,YAAY,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC"}
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAC3C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,OAAO,CACd,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACvC,cAAc,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,CACZ,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC,OAAO,KAAK,CAAC,gBAAgB,CAC9B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEb,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,CAC/B,IAAI,SAAS,KAAK,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,IACrD,KAAK,CAAC,qBAAqB,CAC7B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,KAAK,CAAC,OAAO,CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CACnE,KAAK,CAAC,KAAK,EACX,QAAQ,CACT,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,MAAM,IAC7C,OAAO,SAAS,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,SAAS,MAAM,EACtD,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,EAC9B,eAAe,CAAC,EAAE,GAAG,EAAE,EACvB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACjE,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,EAC9B,eAAe,CAAC,EAAE,GAAG,EAAE,EACvB,MAAM,CAAC,EAAE,+BAA+B,GACvC,OAAO,CAAC;IACT,QAAQ,EAAE,qBAAqB,CAAC;IAChC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,SAAS,MAAM,EACrD,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,EAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAElC,YAAY,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC"}
|