viem 0.0.1-alpha.16 → 0.0.1-alpha.18

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 (86) hide show
  1. package/dist/chains.d.ts +1 -1
  2. package/dist/chains.js +5 -5
  3. package/dist/chains.mjs +1 -1
  4. package/dist/{chunk-U7QDLGQL.mjs → chunk-3E5WSIQU.mjs} +2 -2
  5. package/dist/{chunk-U7QDLGQL.mjs.map → chunk-3E5WSIQU.mjs.map} +0 -0
  6. package/dist/{chunk-XJKOJIX3.js → chunk-3EXLRM3B.js} +12 -12
  7. package/dist/{chunk-XJKOJIX3.js.map → chunk-3EXLRM3B.js.map} +0 -0
  8. package/dist/{chunk-EWTLCB3N.js → chunk-6CXRXH25.js} +2 -2
  9. package/dist/{chunk-EWTLCB3N.js.map → chunk-6CXRXH25.js.map} +0 -0
  10. package/dist/{chunk-WTXKCAG7.js → chunk-A4HJ47I6.js} +144 -53
  11. package/dist/chunk-A4HJ47I6.js.map +1 -0
  12. package/dist/{chunk-4XREGFHD.js → chunk-BW2LPGYJ.js} +36 -13
  13. package/dist/chunk-BW2LPGYJ.js.map +1 -0
  14. package/dist/{chunk-KM6AFT2K.mjs → chunk-NSPSPOUF.mjs} +2 -2
  15. package/dist/{chunk-KM6AFT2K.mjs.map → chunk-NSPSPOUF.mjs.map} +0 -0
  16. package/dist/{chunk-B7A2CAHU.mjs → chunk-OGQGNULX.mjs} +98 -7
  17. package/dist/chunk-OGQGNULX.mjs.map +1 -0
  18. package/dist/{chunk-TSJ3OOJW.mjs → chunk-TO7QJO5X.mjs} +2 -2
  19. package/dist/{chunk-TSJ3OOJW.mjs.map → chunk-TO7QJO5X.mjs.map} +0 -0
  20. package/dist/{chunk-LQXQPPTU.js → chunk-XQZRYOPA.js} +14 -14
  21. package/dist/{chunk-LQXQPPTU.js.map → chunk-XQZRYOPA.js.map} +0 -0
  22. package/dist/{chunk-KCMYVU3Z.mjs → chunk-Y3PSHZGB.mjs} +26 -3
  23. package/dist/chunk-Y3PSHZGB.mjs.map +1 -0
  24. package/dist/clients/index.d.ts +7 -7
  25. package/dist/clients/index.js +3 -3
  26. package/dist/clients/index.mjs +2 -2
  27. package/dist/{createClient-cd948138.d.ts → createClient-aadeff37.d.ts} +1 -1
  28. package/dist/{createPublicClient-989a0556.d.ts → createPublicClient-88f35518.d.ts} +2 -2
  29. package/dist/{createTestClient-81507f58.d.ts → createTestClient-fbf66ec2.d.ts} +2 -2
  30. package/dist/{createWalletClient-43f801b9.d.ts → createWalletClient-b13dabd6.d.ts} +2 -2
  31. package/dist/{eip1193-4330b722.d.ts → eip1193-3a40c941.d.ts} +9 -6
  32. package/dist/index.d.ts +57 -17
  33. package/dist/index.js +12 -6
  34. package/dist/index.mjs +15 -9
  35. package/dist/{parseGwei-f2d23de6.d.ts → parseGwei-dbd12305.d.ts} +2 -2
  36. package/dist/public.d.ts +9 -9
  37. package/dist/public.js +4 -4
  38. package/dist/public.mjs +5 -5
  39. package/dist/{rpc-b77c5aee.d.ts → rpc-858670f1.d.ts} +12 -1
  40. package/dist/{sendTransaction-7a9d241a.d.ts → sendTransaction-bd109cd4.d.ts} +3 -3
  41. package/dist/{stopImpersonatingAccount-8113150e.d.ts → stopImpersonatingAccount-6603ebdd.d.ts} +2 -2
  42. package/dist/test.d.ts +5 -5
  43. package/dist/test.js +3 -3
  44. package/dist/test.mjs +2 -2
  45. package/dist/{transactionReceipt-5d332aab.d.ts → transactionReceipt-aed524b4.d.ts} +30 -4
  46. package/dist/{transactionRequest-327eb7c2.d.ts → transactionRequest-8e970b0e.d.ts} +1 -1
  47. package/dist/utils/index.d.ts +5 -5
  48. package/dist/utils/index.js +2 -2
  49. package/dist/utils/index.mjs +1 -1
  50. package/dist/wallet.d.ts +7 -7
  51. package/dist/wallet.js +3 -3
  52. package/dist/wallet.mjs +2 -2
  53. package/dist/{watchAsset-0088384c.d.ts → watchAsset-7ef25553.d.ts} +3 -3
  54. package/dist/{watchPendingTransactions-670a7ca3.d.ts → watchPendingTransactions-7cbbef80.d.ts} +26 -11
  55. package/dist/{webSocket-9a3b0b26.d.ts → webSocket-2a77cdb3.d.ts} +2 -2
  56. package/dist/window.d.ts +2 -2
  57. package/package.json +1 -1
  58. package/src/actions/index.test.ts +4 -1
  59. package/src/actions/index.ts +12 -3
  60. package/src/actions/public/createEventFilter.ts +2 -4
  61. package/src/actions/public/deployContract.test.ts +8 -8
  62. package/src/actions/public/getLogs.test.ts +105 -0
  63. package/src/actions/public/getLogs.ts +83 -0
  64. package/src/actions/public/index.test.ts +3 -1
  65. package/src/actions/public/index.ts +13 -5
  66. package/src/actions/public/readContract.test.ts +128 -0
  67. package/src/actions/public/{callContract.ts → readContract.ts} +23 -16
  68. package/src/actions/public/simulateContract.bench.ts +31 -0
  69. package/src/actions/public/simulateContract.test.ts +238 -0
  70. package/src/actions/public/simulateContract.ts +98 -0
  71. package/src/actions/wallet/index.test.ts +1 -0
  72. package/src/actions/wallet/index.ts +3 -0
  73. package/src/actions/wallet/writeContract.test.ts +54 -0
  74. package/src/actions/wallet/writeContract.ts +56 -0
  75. package/src/index.test.ts +4 -1
  76. package/src/index.ts +12 -3
  77. package/src/public.ts +3 -3
  78. package/src/types/eip1193.ts +9 -6
  79. package/src/types/index.ts +1 -1
  80. package/src/types/misc.ts +1 -0
  81. package/dist/chunk-4XREGFHD.js.map +0 -1
  82. package/dist/chunk-B7A2CAHU.mjs.map +0 -1
  83. package/dist/chunk-KCMYVU3Z.mjs.map +0 -1
  84. package/dist/chunk-WTXKCAG7.js.map +0 -1
  85. package/src/actions/public/callContract.bench.ts +0 -24
  86. package/src/actions/public/callContract.test.ts +0 -285
@@ -1,285 +0,0 @@
1
- /**
2
- * TODO: Heaps more test cases :D
3
- * - Complex calldata types
4
- * - Complex return types (tuple/structs)
5
- * - EIP-1559
6
- * - Calls against blocks
7
- * - Custom chain types
8
- * - Custom nonce
9
- */
10
-
11
- import { describe, expect, test } from 'vitest'
12
- import {
13
- accounts,
14
- publicClient,
15
- testClient,
16
- wagmiContractConfig,
17
- walletClient,
18
- } from '../../_test'
19
- import { baycContractConfig } from '../../_test/abis'
20
- import { BaseError } from '../../errors'
21
- import { encodeFunctionData, getContractError } from '../../utils'
22
- import { mine } from '../test'
23
- import { sendTransaction } from '../wallet'
24
-
25
- import { callContract } from './callContract'
26
- import { deployContract } from './deployContract'
27
- import { getTransactionReceipt } from './getTransactionReceipt'
28
-
29
- describe('wagmi', () => {
30
- test('default', async () => {
31
- expect(
32
- await callContract(publicClient, {
33
- ...wagmiContractConfig,
34
- functionName: 'isApprovedForAll',
35
- args: [
36
- '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
37
- '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
38
- ],
39
- }),
40
- ).toEqual(false)
41
- expect(
42
- await callContract(publicClient, {
43
- ...wagmiContractConfig,
44
- from: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
45
- functionName: 'mint',
46
- args: [69420n],
47
- }),
48
- ).toEqual(undefined)
49
- expect(
50
- await callContract(publicClient, {
51
- ...wagmiContractConfig,
52
- functionName: 'name',
53
- }),
54
- ).toEqual('wagmi')
55
- expect(
56
- await callContract(publicClient, {
57
- ...wagmiContractConfig,
58
- functionName: 'ownerOf',
59
- args: [1n],
60
- }),
61
- ).toEqual('0x1a1E021A302C237453D3D45c7B82B19cEEB7E2e6')
62
- expect(
63
- await callContract(publicClient, {
64
- ...wagmiContractConfig,
65
- functionName: 'safeTransferFrom',
66
- from: '0x1a1E021A302C237453D3D45c7B82B19cEEB7E2e6',
67
- args: [
68
- '0x1a1E021A302C237453D3D45c7B82B19cEEB7E2e6',
69
- '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
70
- 1n,
71
- ],
72
- }),
73
- ).toEqual(undefined)
74
- expect(
75
- await callContract(publicClient, {
76
- ...wagmiContractConfig,
77
- functionName: 'tokenURI',
78
- args: [1n],
79
- }),
80
- ).toEqual(
81
- 'data:application/json;base64,eyJuYW1lIjogIndhZ21pICMxIiwgImltYWdlIjogImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE1ESTBJaUJvWldsbmFIUTlJakV3TWpRaUlHWnBiR3c5SW01dmJtVWlQanh3WVhSb0lHWnBiR3c5SW1oemJDZ3hPVFlzSURFd01DVXNJREV3SlNraUlHUTlJazB3SURCb01UQXlOSFl4TURJMFNEQjZJaUF2UGp4bklHWnBiR3c5SW1oemJDZzBOQ3dnTVRBd0pTd2dPVEFsS1NJK1BIQmhkR2dnWkQwaVRUa3dNeUEwTXpjdU5XTXdJRGt1TVRFekxUY3VNemc0SURFMkxqVXRNVFl1TlNBeE5pNDFjeTB4Tmk0MUxUY3VNemczTFRFMkxqVXRNVFl1TlNBM0xqTTRPQzB4Tmk0MUlERTJMalV0TVRZdU5TQXhOaTQxSURjdU16ZzNJREUyTGpVZ01UWXVOWHBOTmprNExqVXlPU0ExTmpaak5pNDVNakVnTUNBeE1pNDFNeTAxTGpVNU5pQXhNaTQxTXkweE1pNDFkaTAxTUdNd0xUWXVPVEEwSURVdU5qQTVMVEV5TGpVZ01USXVOVEk1TFRFeUxqVm9NalV1TURVNVl6WXVPVElnTUNBeE1pNDFNamtnTlM0MU9UWWdNVEl1TlRJNUlERXlMalYyTlRCak1DQTJMamt3TkNBMUxqWXdPU0F4TWk0MUlERXlMalV6SURFeUxqVnpNVEl1TlRJNUxUVXVOVGsySURFeUxqVXlPUzB4TWk0MWRpMDFNR013TFRZdU9UQTBJRFV1TmpBNUxURXlMalVnTVRJdU5UTXRNVEl1TldneU5TNHdOVGxqTmk0NU1pQXdJREV5TGpVeU9TQTFMalU1TmlBeE1pNDFNamtnTVRJdU5YWTFNR013SURZdU9UQTBJRFV1TmpBNUlERXlMalVnTVRJdU5USTVJREV5TGpWb016Y3VOVGc1WXpZdU9USWdNQ0F4TWk0MU1qa3ROUzQxT1RZZ01USXVOVEk1TFRFeUxqVjJMVGMxWXpBdE5pNDVNRFF0TlM0Mk1Ea3RNVEl1TlMweE1pNDFNamt0TVRJdU5YTXRNVEl1TlRNZ05TNDFPVFl0TVRJdU5UTWdNVEl1TlhZMU5pNHlOV0UyTGpJMk5DQTJMakkyTkNBd0lERWdNUzB4TWk0MU1qa2dNRlkwTnpndU5XTXdMVFl1T1RBMExUVXVOakE1TFRFeUxqVXRNVEl1TlRNdE1USXVOVWcyT1RndU5USTVZeTAyTGpreUlEQXRNVEl1TlRJNUlEVXVOVGsyTFRFeUxqVXlPU0F4TWk0MWRqYzFZekFnTmk0NU1EUWdOUzQyTURrZ01USXVOU0F4TWk0MU1qa2dNVEl1TlhvaUlDOCtQSEJoZEdnZ1pEMGlUVEUxTnk0Mk5UVWdOVFF4WXkwMkxqa3pNaUF3TFRFeUxqVTFNaTAxTGpVNU5pMHhNaTQxTlRJdE1USXVOWFl0TlRCak1DMDJMamt3TkMwMUxqWXhPUzB4TWk0MUxURXlMalUxTVMweE1pNDFVekV5TUNBME56RXVOVGsySURFeU1DQTBOemd1TlhZM05XTXdJRFl1T1RBMElEVXVOaklnTVRJdU5TQXhNaTQxTlRJZ01USXVOV2d4TlRBdU5qSmpOaTQ1TXpNZ01DQXhNaTQxTlRJdE5TNDFPVFlnTVRJdU5UVXlMVEV5TGpWMkxUVXdZekF0Tmk0NU1EUWdOUzQyTVRrdE1USXVOU0F4TWk0MU5USXRNVEl1TldneE5EUXVNelExWXpNdU5EWTFJREFnTmk0eU56WWdNaTQzT1RnZ05pNHlOellnTmk0eU5YTXRNaTQ0TVRFZ05pNHlOUzAyTGpJM05pQTJMakkxU0RNeU1DNDRNamhqTFRZdU9UTXpJREF0TVRJdU5UVXlJRFV1TlRrMkxURXlMalUxTWlBeE1pNDFkak0zTGpWak1DQTJMamt3TkNBMUxqWXhPU0F4TWk0MUlERXlMalUxTWlBeE1pNDFhREUxTUM0Mk1tTTJMamt6TXlBd0lERXlMalUxTWkwMUxqVTVOaUF4TWk0MU5USXRNVEl1TlhZdE56VmpNQzAyTGprd05DMDFMall4T1MweE1pNDFMVEV5TGpVMU1pMHhNaTQxU0RJNE15NHhOekpqTFRZdU9UTXlJREF0TVRJdU5UVXhJRFV1TlRrMkxURXlMalUxTVNBeE1pNDFkalV3WXpBZ05pNDVNRFF0TlM0Mk1Ua2dNVEl1TlMweE1pNDFOVElnTVRJdU5XZ3RNalV1TVRBell5MDJMamt6TXlBd0xURXlMalUxTWkwMUxqVTVOaTB4TWk0MU5USXRNVEl1TlhZdE5UQmpNQzAyTGprd05DMDFMall5TFRFeUxqVXRNVEl1TlRVeUxURXlMalZ6TFRFeUxqVTFNaUExTGpVNU5pMHhNaTQxTlRJZ01USXVOWFkxTUdNd0lEWXVPVEEwTFRVdU5qRTVJREV5TGpVdE1USXVOVFV4SURFeUxqVm9MVEkxTGpFd05IcHRNekF4TGpJME1pMDJMakkxWXpBZ015NDBOVEl0TWk0NE1URWdOaTR5TlMwMkxqSTNOaUEyTGpJMVNETXpPUzQyTlRWakxUTXVORFkxSURBdE5pNHlOell0TWk0M09UZ3ROaTR5TnpZdE5pNHlOWE15TGpneE1TMDJMakkxSURZdU1qYzJMVFl1TWpWb01URXlMamsyTm1NekxqUTJOU0F3SURZdU1qYzJJREl1TnprNElEWXVNamMySURZdU1qVjZUVFE1TnlBMU5UTXVPREU0WXpBZ05pNDVNamtnTlM0Mk1qZ2dNVEl1TlRRMklERXlMalUzTVNBeE1pNDFORFpvTVRNeVlUWXVNamdnTmk0eU9DQXdJREFnTVNBMkxqSTROaUEyTGpJM01pQTJMakk0SURZdU1qZ2dNQ0F3SURFdE5pNHlPRFlnTmk0eU56Tm9MVEV6TW1NdE5pNDVORE1nTUMweE1pNDFOekVnTlM0Mk1UWXRNVEl1TlRjeElERXlMalUwTmtFeE1pNDFOaUF4TWk0MU5pQXdJREFnTUNBMU1Ea3VOVGN4SURZd05HZ3hOVEF1T0RVNFl6WXVPVFF6SURBZ01USXVOVGN4TFRVdU5qRTJJREV5TGpVM01TMHhNaTQxTkRWMkxURXhNaTQ1TVdNd0xUWXVPVEk0TFRVdU5qSTRMVEV5TGpVME5TMHhNaTQxTnpFdE1USXVOVFExU0RVd09TNDFOekZqTFRZdU9UUXpJREF0TVRJdU5UY3hJRFV1TmpFM0xURXlMalUzTVNBeE1pNDFORFYyTnpVdU1qY3plbTB6Tnk0M01UUXROakl1TnpJM1l5MDJMamswTXlBd0xURXlMalUzTVNBMUxqWXhOeTB4TWk0MU56RWdNVEl1TlRRMWRqSTFMakE1TVdNd0lEWXVPVEk1SURVdU5qSTRJREV5TGpVME5pQXhNaTQxTnpFZ01USXVOVFEyYURFd01DNDFOekpqTmk0NU5ETWdNQ0F4TWk0MU56RXROUzQyTVRjZ01USXVOVGN4TFRFeUxqVTBObll0TWpVdU1Ea3hZekF0Tmk0NU1qZ3ROUzQyTWpndE1USXVOVFExTFRFeUxqVTNNUzB4TWk0MU5EVklOVE0wTGpjeE5Ib2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnTHo0OEwyYytQQzl6ZG1jKyJ9',
82
- )
83
- expect(
84
- await callContract(publicClient, {
85
- ...wagmiContractConfig,
86
- functionName: 'getApproved',
87
- args: [420n],
88
- }),
89
- ).toEqual('0x0000000000000000000000000000000000000000')
90
- expect(
91
- await callContract(publicClient, {
92
- ...wagmiContractConfig,
93
- functionName: 'totalSupply',
94
- }),
95
- ).toEqual(558n)
96
- expect(
97
- await callContract(publicClient, {
98
- ...wagmiContractConfig,
99
- functionName: 'balanceOf',
100
- args: ['0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC'],
101
- }),
102
- ).toEqual(3n)
103
- })
104
-
105
- test('revert', async () => {
106
- await expect(() =>
107
- callContract(publicClient, {
108
- ...wagmiContractConfig,
109
- functionName: 'balanceOf',
110
- args: ['0x0000000000000000000000000000000000000000'],
111
- }),
112
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
113
- "ERC721: balance query for the zero address
114
-
115
- Contract: 0x0000000000000000000000000000000000000000
116
- Function: balanceOf(address owner)
117
- Arguments: (0x0000000000000000000000000000000000000000)
118
-
119
- Details: execution reverted: ERC721: balance query for the zero address
120
- Version: viem@1.0.2"
121
- `)
122
- await expect(() =>
123
- callContract(publicClient, {
124
- ...wagmiContractConfig,
125
- functionName: 'approve',
126
- args: ['0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC', 420n],
127
- }),
128
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
129
- "ERC721: approval to current owner
130
-
131
- Contract: 0x0000000000000000000000000000000000000000
132
- Function: approve(address to, uint256 tokenId)
133
- Arguments: (0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC, 420)
134
-
135
- Details: execution reverted: ERC721: approval to current owner
136
- Version: viem@1.0.2"
137
- `)
138
- await expect(() =>
139
- callContract(publicClient, {
140
- ...wagmiContractConfig,
141
- functionName: 'mint',
142
- args: [1n],
143
- }),
144
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
145
- "Token ID is taken
146
-
147
- Contract: 0x0000000000000000000000000000000000000000
148
- Function: mint(uint256 tokenId)
149
- Arguments: (1)
150
-
151
- Details: execution reverted: Token ID is taken
152
- Version: viem@1.0.2"
153
- `)
154
- await expect(() =>
155
- callContract(publicClient, {
156
- ...wagmiContractConfig,
157
- functionName: 'safeTransferFrom',
158
- from: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
159
- args: [
160
- '0x1a1E021A302C237453D3D45c7B82B19cEEB7E2e6',
161
- '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
162
- 1n,
163
- ],
164
- }),
165
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
166
- "ERC721: transfer caller is not owner nor approved
167
-
168
- Sender: 0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC
169
- Contract: 0x0000000000000000000000000000000000000000
170
- Function: safeTransferFrom(address from, address to, uint256 tokenId)
171
- Arguments: (0x1a1E021A302C237453D3D45c7B82B19cEEB7E2e6, 0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC, 1)
172
-
173
- Details: execution reverted: ERC721: transfer caller is not owner nor approved
174
- Version: viem@1.0.2"
175
- `)
176
- })
177
- })
178
-
179
- describe('BAYC', () => {
180
- describe('default', () => {
181
- test('mintApe', async () => {
182
- const { contractAddress } = await deployBAYC()
183
-
184
- // Set sale state to active
185
- // TODO: replace w/ writeContract
186
- await sendTransaction(walletClient, {
187
- data: encodeFunctionData({
188
- abi: baycContractConfig.abi,
189
- functionName: 'flipSaleState',
190
- }),
191
- from: accounts[0].address,
192
- to: contractAddress!,
193
- })
194
- await mine(testClient, { blocks: 1 })
195
-
196
- // Mint an Ape!
197
- expect(
198
- await callContract(publicClient, {
199
- abi: baycContractConfig.abi,
200
- address: contractAddress!,
201
- functionName: 'mintApe',
202
- from: accounts[0].address,
203
- args: [1n],
204
- value: 1000000000000000000n,
205
- }),
206
- ).toBe(undefined)
207
- })
208
-
209
- test('get a free $100k', async () => {
210
- const { contractAddress } = await deployBAYC()
211
-
212
- // Reserve apes
213
- expect(
214
- await callContract(publicClient, {
215
- abi: baycContractConfig.abi,
216
- address: contractAddress!,
217
- functionName: 'reserveApes',
218
- from: accounts[0].address,
219
- }),
220
- ).toBe(undefined)
221
- })
222
- })
223
-
224
- describe('revert', () => {
225
- test('sale inactive', async () => {
226
- const { contractAddress } = await deployBAYC()
227
-
228
- // Expect mint to fail.
229
- await expect(() =>
230
- callContract(publicClient, {
231
- abi: baycContractConfig.abi,
232
- address: contractAddress!,
233
- functionName: 'mintApe',
234
- from: accounts[0].address,
235
- args: [1n],
236
- }),
237
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
238
- "Sale must be active to mint Ape
239
-
240
- Sender: 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
241
- Contract: 0x0000000000000000000000000000000000000000
242
- Function: mintApe(uint256 numberOfTokens)
243
- Arguments: (1)
244
-
245
- Details: execution reverted: Sale must be active to mint Ape
246
- Version: viem@1.0.2"
247
- `)
248
- })
249
- })
250
- })
251
-
252
- test('fake contract address', async () => {
253
- await expect(() =>
254
- callContract(publicClient, {
255
- ...wagmiContractConfig,
256
- address: '0x0000000000000000000000000000000000000069',
257
- functionName: 'name',
258
- }),
259
- ).rejects.toThrowErrorMatchingInlineSnapshot(`
260
- "The contract method \\"name\\" returned no data (\\"0x\\"). This could be due to any of the following:
261
- - The contract does not have the function \\"name\\",
262
- - The parameters passed to the contract function may be invalid, or
263
- - The address is not a contract.
264
-
265
- Contract: 0x0000000000000000000000000000000000000000
266
- Function: name()
267
- > \\"0x\\"
268
-
269
- Version: viem@1.0.2"
270
- `)
271
- })
272
-
273
- // Deploy BAYC Contract
274
- async function deployBAYC() {
275
- const hash = await deployContract(walletClient, {
276
- ...baycContractConfig,
277
- args: ['Bored Ape Wagmi Club', 'BAYC', 69420n, 0n],
278
- from: accounts[0].address,
279
- })
280
- await mine(testClient, { blocks: 1 })
281
- const { contractAddress } = await getTransactionReceipt(publicClient, {
282
- hash,
283
- })
284
- return { contractAddress }
285
- }