@rocketh/core 0.17.7 → 0.17.9
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/README.md +6 -0
- package/dist/account.d.ts +43 -0
- package/dist/account.d.ts.map +1 -0
- package/dist/account.js +61 -0
- package/dist/account.js.map +1 -0
- package/dist/account.test.d.ts +2 -0
- package/dist/account.test.d.ts.map +1 -0
- package/dist/account.test.js +324 -0
- package/dist/account.test.js.map +1 -0
- package/dist/artifacts.test.d.ts +2 -0
- package/dist/artifacts.test.d.ts.map +1 -0
- package/dist/artifacts.test.js +682 -0
- package/dist/artifacts.test.js.map +1 -0
- package/dist/environment.integration.test.d.ts +13 -0
- package/dist/environment.integration.test.d.ts.map +1 -0
- package/dist/environment.integration.test.js +296 -0
- package/dist/environment.integration.test.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/json.test.d.ts +2 -0
- package/dist/json.test.d.ts.map +1 -0
- package/dist/json.test.js +383 -0
- package/dist/json.test.js.map +1 -0
- package/dist/providers/TransactionHashTracker.d.ts.map +1 -1
- package/dist/providers/TransactionHashTracker.js +3 -0
- package/dist/providers/TransactionHashTracker.js.map +1 -1
- package/dist/providers/TransactionHashTracker.test.d.ts +2 -0
- package/dist/providers/TransactionHashTracker.test.d.ts.map +1 -0
- package/dist/providers/TransactionHashTracker.test.js +284 -0
- package/dist/providers/TransactionHashTracker.test.js.map +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +16 -7
- package/src/account.ts +74 -0
- package/src/artifacts.ts +176 -0
- package/src/environment.ts +98 -0
- package/src/index.ts +24 -0
- package/src/json.ts +63 -0
- package/src/providers/BaseProvider.ts +13 -0
- package/src/providers/TransactionHashTracker.ts +26 -0
- package/src/providers/index.ts +1 -0
- package/src/types.ts +637 -0
package/README.md
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
1
|
# @rocketh/core
|
|
2
|
+
|
|
3
|
+
Utilities for other rocketh packages, including shared types, JSON utilities, artifact handling, environment management, providers, and account resolution.
|
|
4
|
+
|
|
5
|
+
For full documentation, visit [rocketh.dev](https://rocketh.dev).
|
|
6
|
+
|
|
7
|
+
For hardhat-deploy documentation, see [rocketh.dev/hardhat-deploy/](https://rocketh.dev/hardhat-deploy/).
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { EIP1193Account } from 'eip-1193';
|
|
2
|
+
import type { Environment } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves an account identifier to an address.
|
|
5
|
+
*
|
|
6
|
+
* If the account starts with '0x', it is returned as-is.
|
|
7
|
+
* Otherwise, it is looked up in the environment's namedAccounts.
|
|
8
|
+
*
|
|
9
|
+
* @param account - The account identifier (either a hex address or a named account)
|
|
10
|
+
* @param env - The environment containing namedAccounts
|
|
11
|
+
* @returns The resolved address
|
|
12
|
+
* @throws {Error} If the account is not found in namedAccounts or if namedAccounts is not configured
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* // Using a hex address
|
|
17
|
+
* const address1 = resolveAccount('0x1234...', env);
|
|
18
|
+
*
|
|
19
|
+
* // Using a named account
|
|
20
|
+
* const address2 = resolveAccount('deployer', env);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveAccount(account: string | EIP1193Account, env: Pick<Environment, 'namedAccounts'>): `0x${string}`;
|
|
24
|
+
/**
|
|
25
|
+
* Resolves an account identifier to an address, returning undefined if not found.
|
|
26
|
+
*
|
|
27
|
+
* This is a safer version of `resolveAccount` that doesn't throw when the account
|
|
28
|
+
* is not found. Instead, it returns undefined.
|
|
29
|
+
*
|
|
30
|
+
* @param account - The account identifier (either a hex address or a named account)
|
|
31
|
+
* @param env - The environment containing namedAccounts
|
|
32
|
+
* @returns The resolved address, or undefined if not found
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const address = resolveAccountOrUndefined('deployer', env);
|
|
37
|
+
* if (address) {
|
|
38
|
+
* // account was resolved
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveAccountOrUndefined(account: string | EIP1193Account, env: Pick<Environment, 'namedAccounts'>): `0x${string}` | undefined;
|
|
43
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,GAAG,cAAc,EAChC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,GACrC,KAAK,MAAM,EAAE,CAcf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,MAAM,GAAG,cAAc,EAChC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,GACrC,KAAK,MAAM,EAAE,GAAG,SAAS,CAU3B"}
|
package/dist/account.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves an account identifier to an address.
|
|
3
|
+
*
|
|
4
|
+
* If the account starts with '0x', it is returned as-is.
|
|
5
|
+
* Otherwise, it is looked up in the environment's namedAccounts.
|
|
6
|
+
*
|
|
7
|
+
* @param account - The account identifier (either a hex address or a named account)
|
|
8
|
+
* @param env - The environment containing namedAccounts
|
|
9
|
+
* @returns The resolved address
|
|
10
|
+
* @throws {Error} If the account is not found in namedAccounts or if namedAccounts is not configured
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* // Using a hex address
|
|
15
|
+
* const address1 = resolveAccount('0x1234...', env);
|
|
16
|
+
*
|
|
17
|
+
* // Using a named account
|
|
18
|
+
* const address2 = resolveAccount('deployer', env);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function resolveAccount(account, env) {
|
|
22
|
+
if (account.startsWith('0x')) {
|
|
23
|
+
return account;
|
|
24
|
+
}
|
|
25
|
+
if (env.namedAccounts) {
|
|
26
|
+
const address = env.namedAccounts[account];
|
|
27
|
+
if (!address) {
|
|
28
|
+
throw new Error(`no address for ${account}`);
|
|
29
|
+
}
|
|
30
|
+
return address;
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`no accounts setup, cannot get address for ${account}`);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves an account identifier to an address, returning undefined if not found.
|
|
36
|
+
*
|
|
37
|
+
* This is a safer version of `resolveAccount` that doesn't throw when the account
|
|
38
|
+
* is not found. Instead, it returns undefined.
|
|
39
|
+
*
|
|
40
|
+
* @param account - The account identifier (either a hex address or a named account)
|
|
41
|
+
* @param env - The environment containing namedAccounts
|
|
42
|
+
* @returns The resolved address, or undefined if not found
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const address = resolveAccountOrUndefined('deployer', env);
|
|
47
|
+
* if (address) {
|
|
48
|
+
* // account was resolved
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function resolveAccountOrUndefined(account, env) {
|
|
53
|
+
if (account.startsWith('0x')) {
|
|
54
|
+
return account;
|
|
55
|
+
}
|
|
56
|
+
if (env.namedAccounts) {
|
|
57
|
+
return env.namedAccounts[account];
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAC7B,OAAgC,EAChC,GAAuC;IAEvC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAwB,CAAC;IACjC,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CACxC,OAAgC,EAChC,GAAuC;IAEvC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAwB,CAAC;IACjC,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.test.d.ts","sourceRoot":"","sources":["../src/account.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { resolveAccount, resolveAccountOrUndefined } from './account.js';
|
|
3
|
+
describe('Account Resolution', () => {
|
|
4
|
+
describe('resolveAccount', () => {
|
|
5
|
+
describe('hex address resolution', () => {
|
|
6
|
+
it('should return hex address as-is when it starts with 0x', () => {
|
|
7
|
+
const env = {
|
|
8
|
+
namedAccounts: {},
|
|
9
|
+
};
|
|
10
|
+
const account = '0x1234567890123456789012345678901234567890';
|
|
11
|
+
const result = resolveAccount(account, env);
|
|
12
|
+
expect(result).toBe('0x1234567890123456789012345678901234567890');
|
|
13
|
+
});
|
|
14
|
+
it('should handle lowercase hex addresses', () => {
|
|
15
|
+
const env = {
|
|
16
|
+
namedAccounts: {},
|
|
17
|
+
};
|
|
18
|
+
const account = '0x1234567890abcdef1234567890abcdef12345678';
|
|
19
|
+
const result = resolveAccount(account, env);
|
|
20
|
+
expect(result).toBe('0x1234567890abcdef1234567890abcdef12345678');
|
|
21
|
+
});
|
|
22
|
+
it('should handle uppercase hex addresses', () => {
|
|
23
|
+
const env = {
|
|
24
|
+
namedAccounts: {},
|
|
25
|
+
};
|
|
26
|
+
const account = '0x1234567890ABCDEF1234567890ABCDEF12345678';
|
|
27
|
+
const result = resolveAccount(account, env);
|
|
28
|
+
expect(result).toBe('0x1234567890ABCDEF1234567890ABCDEF12345678');
|
|
29
|
+
});
|
|
30
|
+
it('should handle mixed case hex addresses', () => {
|
|
31
|
+
const env = {
|
|
32
|
+
namedAccounts: {},
|
|
33
|
+
};
|
|
34
|
+
const account = '0x1234567890AbCdEf1234567890aBcDeF12345678';
|
|
35
|
+
const result = resolveAccount(account, env);
|
|
36
|
+
expect(result).toBe('0x1234567890AbCdEf1234567890aBcDeF12345678');
|
|
37
|
+
});
|
|
38
|
+
it('should handle 20-byte hex addresses (40 chars + 0x)', () => {
|
|
39
|
+
const env = {
|
|
40
|
+
namedAccounts: {},
|
|
41
|
+
};
|
|
42
|
+
const account = '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266';
|
|
43
|
+
const result = resolveAccount(account, env);
|
|
44
|
+
expect(result).toBe('0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266');
|
|
45
|
+
});
|
|
46
|
+
it('should not lookup namedAccounts when account is hex address', () => {
|
|
47
|
+
const env = {
|
|
48
|
+
namedAccounts: {
|
|
49
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
const account = '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd';
|
|
53
|
+
const result = resolveAccount(account, env);
|
|
54
|
+
expect(result).toBe('0xabcdefabcdefabcdefabcdefabcdefabcdefabcd');
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe('named account resolution', () => {
|
|
58
|
+
it('should resolve named account from namedAccounts', () => {
|
|
59
|
+
const env = {
|
|
60
|
+
namedAccounts: {
|
|
61
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
62
|
+
user: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
const account = 'deployer';
|
|
66
|
+
const result = resolveAccount(account, env);
|
|
67
|
+
expect(result).toBe('0x1234567890123456789012345678901234567890');
|
|
68
|
+
});
|
|
69
|
+
it('should resolve multiple named accounts', () => {
|
|
70
|
+
const env = {
|
|
71
|
+
namedAccounts: {
|
|
72
|
+
deployer: '0x1111111111111111111111111111111111111111',
|
|
73
|
+
user1: '0x2222222222222222222222222222222222222222',
|
|
74
|
+
user2: '0x3333333333333333333333333333333333333333',
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
expect(resolveAccount('deployer', env)).toBe('0x1111111111111111111111111111111111111111');
|
|
78
|
+
expect(resolveAccount('user1', env)).toBe('0x2222222222222222222222222222222222222222');
|
|
79
|
+
expect(resolveAccount('user2', env)).toBe('0x3333333333333333333333333333333333333333');
|
|
80
|
+
});
|
|
81
|
+
it('should handle named account with typical hardhat-style addresses', () => {
|
|
82
|
+
const env = {
|
|
83
|
+
namedAccounts: {
|
|
84
|
+
deployer: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
|
|
85
|
+
alice: '0x70997970C51812dc3A010C7d01b50e0d17dc79C8',
|
|
86
|
+
bob: '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
expect(resolveAccount('deployer', env)).toBe('0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266');
|
|
90
|
+
expect(resolveAccount('alice', env)).toBe('0x70997970C51812dc3A010C7d01b50e0d17dc79C8');
|
|
91
|
+
expect(resolveAccount('bob', env)).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC');
|
|
92
|
+
});
|
|
93
|
+
it('should throw error when named account does not exist', () => {
|
|
94
|
+
const env = {
|
|
95
|
+
namedAccounts: {
|
|
96
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
const account = 'unknown';
|
|
100
|
+
expect(() => resolveAccount(account, env)).toThrow('no address for unknown');
|
|
101
|
+
});
|
|
102
|
+
it('should throw error when namedAccounts is empty', () => {
|
|
103
|
+
const env = {
|
|
104
|
+
namedAccounts: {},
|
|
105
|
+
};
|
|
106
|
+
const account = 'deployer';
|
|
107
|
+
expect(() => resolveAccount(account, env)).toThrow('no address for deployer');
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
describe('error handling', () => {
|
|
111
|
+
it('should throw error when namedAccounts is undefined', () => {
|
|
112
|
+
const env = {
|
|
113
|
+
namedAccounts: undefined,
|
|
114
|
+
};
|
|
115
|
+
const account = 'deployer';
|
|
116
|
+
expect(() => resolveAccount(account, env)).toThrow('no accounts setup, cannot get address for deployer');
|
|
117
|
+
});
|
|
118
|
+
it('should throw descriptive error for missing named account', () => {
|
|
119
|
+
const env = {
|
|
120
|
+
namedAccounts: {
|
|
121
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
const account = 'nonexistent';
|
|
125
|
+
expect(() => resolveAccount(account, env)).toThrow('no address for nonexistent');
|
|
126
|
+
});
|
|
127
|
+
it('should throw error when account name is a string but not a hex address', () => {
|
|
128
|
+
const env = {
|
|
129
|
+
namedAccounts: {},
|
|
130
|
+
};
|
|
131
|
+
const account = 'notanaddress';
|
|
132
|
+
expect(() => resolveAccount(account, env)).toThrow('no address for notanaddress');
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
describe('edge cases', () => {
|
|
136
|
+
it('should handle zero address', () => {
|
|
137
|
+
const env = {
|
|
138
|
+
namedAccounts: {},
|
|
139
|
+
};
|
|
140
|
+
const account = '0x0000000000000000000000000000000000000000';
|
|
141
|
+
const result = resolveAccount(account, env);
|
|
142
|
+
expect(result).toBe('0x0000000000000000000000000000000000000000');
|
|
143
|
+
});
|
|
144
|
+
it('should handle address starting with 0x but not named account', () => {
|
|
145
|
+
const env = {
|
|
146
|
+
namedAccounts: {
|
|
147
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
const account = '0x9876543210987654321098765432109876543210';
|
|
151
|
+
const result = resolveAccount(account, env);
|
|
152
|
+
expect(result).toBe('0x9876543210987654321098765432109876543210');
|
|
153
|
+
});
|
|
154
|
+
it('should not modify the environment object', () => {
|
|
155
|
+
const env = {
|
|
156
|
+
namedAccounts: {
|
|
157
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
const account = 'deployer';
|
|
161
|
+
resolveAccount(account, env);
|
|
162
|
+
expect(env.namedAccounts).toEqual({
|
|
163
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
describe('resolveAccountOrUndefined', () => {
|
|
169
|
+
describe('hex address resolution', () => {
|
|
170
|
+
it('should return hex address as-is when it starts with 0x', () => {
|
|
171
|
+
const env = {
|
|
172
|
+
namedAccounts: {},
|
|
173
|
+
};
|
|
174
|
+
const account = '0x1234567890123456789012345678901234567890';
|
|
175
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
176
|
+
expect(result).toBe('0x1234567890123456789012345678901234567890');
|
|
177
|
+
});
|
|
178
|
+
it('should handle lowercase hex addresses', () => {
|
|
179
|
+
const env = {
|
|
180
|
+
namedAccounts: {},
|
|
181
|
+
};
|
|
182
|
+
const account = '0x1234567890abcdef1234567890abcdef12345678';
|
|
183
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
184
|
+
expect(result).toBe('0x1234567890abcdef1234567890abcdef12345678');
|
|
185
|
+
});
|
|
186
|
+
it('should not lookup namedAccounts when account is hex address', () => {
|
|
187
|
+
const env = {
|
|
188
|
+
namedAccounts: {
|
|
189
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
const account = '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd';
|
|
193
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
194
|
+
expect(result).toBe('0xabcdefabcdefabcdefabcdefabcdefabcdefabcd');
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
describe('named account resolution', () => {
|
|
198
|
+
it('should resolve named account from namedAccounts', () => {
|
|
199
|
+
const env = {
|
|
200
|
+
namedAccounts: {
|
|
201
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
202
|
+
user: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
const account = 'deployer';
|
|
206
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
207
|
+
expect(result).toBe('0x1234567890123456789012345678901234567890');
|
|
208
|
+
});
|
|
209
|
+
it('should resolve multiple named accounts', () => {
|
|
210
|
+
const env = {
|
|
211
|
+
namedAccounts: {
|
|
212
|
+
deployer: '0x1111111111111111111111111111111111111111',
|
|
213
|
+
user1: '0x2222222222222222222222222222222222222222',
|
|
214
|
+
user2: '0x3333333333333333333333333333333333333333',
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
expect(resolveAccountOrUndefined('deployer', env)).toBe('0x1111111111111111111111111111111111111111');
|
|
218
|
+
expect(resolveAccountOrUndefined('user1', env)).toBe('0x2222222222222222222222222222222222222222');
|
|
219
|
+
expect(resolveAccountOrUndefined('user2', env)).toBe('0x3333333333333333333333333333333333333333');
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
describe('undefined return for missing accounts', () => {
|
|
223
|
+
it('should return undefined when named account does not exist', () => {
|
|
224
|
+
const env = {
|
|
225
|
+
namedAccounts: {
|
|
226
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
const account = 'unknown';
|
|
230
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
231
|
+
expect(result).toBe(undefined);
|
|
232
|
+
});
|
|
233
|
+
it('should return undefined when namedAccounts is undefined', () => {
|
|
234
|
+
const env = {
|
|
235
|
+
namedAccounts: undefined,
|
|
236
|
+
};
|
|
237
|
+
const account = 'deployer';
|
|
238
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
239
|
+
expect(result).toBe(undefined);
|
|
240
|
+
});
|
|
241
|
+
it('should return undefined when namedAccounts is empty', () => {
|
|
242
|
+
const env = {
|
|
243
|
+
namedAccounts: {},
|
|
244
|
+
};
|
|
245
|
+
const account = 'deployer';
|
|
246
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
247
|
+
expect(result).toBe(undefined);
|
|
248
|
+
});
|
|
249
|
+
it('should return undefined for non-hex string when namedAccounts is undefined', () => {
|
|
250
|
+
const env = {
|
|
251
|
+
namedAccounts: undefined,
|
|
252
|
+
};
|
|
253
|
+
const account = 'notanaddress';
|
|
254
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
255
|
+
expect(result).toBe(undefined);
|
|
256
|
+
});
|
|
257
|
+
it('should return undefined for non-hex string when namedAccounts is empty', () => {
|
|
258
|
+
const env = {
|
|
259
|
+
namedAccounts: {},
|
|
260
|
+
};
|
|
261
|
+
const account = 'notanaddress';
|
|
262
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
263
|
+
expect(result).toBe(undefined);
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
describe('edge cases', () => {
|
|
267
|
+
it('should handle zero address', () => {
|
|
268
|
+
const env = {
|
|
269
|
+
namedAccounts: {},
|
|
270
|
+
};
|
|
271
|
+
const account = '0x0000000000000000000000000000000000000000';
|
|
272
|
+
const result = resolveAccountOrUndefined(account, env);
|
|
273
|
+
expect(result).toBe('0x0000000000000000000000000000000000000000');
|
|
274
|
+
});
|
|
275
|
+
it('should not modify the environment object', () => {
|
|
276
|
+
const env = {
|
|
277
|
+
namedAccounts: {
|
|
278
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
const account = 'deployer';
|
|
282
|
+
resolveAccountOrUndefined(account, env);
|
|
283
|
+
expect(env.namedAccounts).toEqual({
|
|
284
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
it('should return undefined for missing account but not throw', () => {
|
|
288
|
+
const env = {
|
|
289
|
+
namedAccounts: {},
|
|
290
|
+
};
|
|
291
|
+
const account = 'nonexistent';
|
|
292
|
+
expect(() => resolveAccountOrUndefined(account, env)).not.toThrow();
|
|
293
|
+
expect(resolveAccountOrUndefined(account, env)).toBe(undefined);
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
describe('comparison between resolveAccount and resolveAccountOrUndefined', () => {
|
|
298
|
+
it('should return same result for existing hex address', () => {
|
|
299
|
+
const env = {
|
|
300
|
+
namedAccounts: {},
|
|
301
|
+
};
|
|
302
|
+
const account = '0x1234567890123456789012345678901234567890';
|
|
303
|
+
expect(resolveAccount(account, env)).toBe(resolveAccountOrUndefined(account, env));
|
|
304
|
+
});
|
|
305
|
+
it('should return same result for existing named account', () => {
|
|
306
|
+
const env = {
|
|
307
|
+
namedAccounts: {
|
|
308
|
+
deployer: '0x1234567890123456789012345678901234567890',
|
|
309
|
+
},
|
|
310
|
+
};
|
|
311
|
+
const account = 'deployer';
|
|
312
|
+
expect(resolveAccount(account, env)).toBe(resolveAccountOrUndefined(account, env));
|
|
313
|
+
});
|
|
314
|
+
it('should throw for missing account in resolveAccount but return undefined in resolveAccountOrUndefined', () => {
|
|
315
|
+
const env = {
|
|
316
|
+
namedAccounts: {},
|
|
317
|
+
};
|
|
318
|
+
const account = 'unknown';
|
|
319
|
+
expect(() => resolveAccount(account, env)).toThrow();
|
|
320
|
+
expect(resolveAccountOrUndefined(account, env)).toBe(undefined);
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
});
|
|
324
|
+
//# sourceMappingURL=account.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.test.js","sourceRoot":"","sources":["../src/account.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts.test.d.ts","sourceRoot":"","sources":["../src/artifacts.test.ts"],"names":[],"mappings":""}
|