@rocketh/deploy 1.0.0-next.2 → 1.0.0-next.4
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 +1 -1
- package/dist/index.d.ts +6 -308
- package/dist/index.d.ts.map +1 -0
- package/dist/{esm/index.js → index.js} +2 -133
- package/dist/index.js.map +1 -0
- package/package.json +8 -8
- package/dist/esm/index.d.ts +0 -38
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/index.cjs +0 -351
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs +0 -349
- package/dist/index.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# rocketh
|
|
1
|
+
# @rocketh/deploy
|
package/dist/index.d.ts
CHANGED
|
@@ -1,316 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
interface Register {
|
|
5
|
-
}
|
|
6
|
-
type ResolvedRegister = {
|
|
7
|
-
/**
|
|
8
|
-
* TypeScript type to use for `address` values
|
|
9
|
-
* @default `0x${string}`
|
|
10
|
-
*/
|
|
11
|
-
addressType: Register extends {
|
|
12
|
-
addressType: infer type;
|
|
13
|
-
} ? type : Register extends {
|
|
14
|
-
AddressType: infer type;
|
|
15
|
-
} ? type : DefaultRegister['addressType'];
|
|
16
|
-
/**
|
|
17
|
-
* TypeScript type to use for `int<M>` and `uint<M>` values, where `M > 48`
|
|
18
|
-
* @default bigint
|
|
19
|
-
*/
|
|
20
|
-
bigIntType: Register extends {
|
|
21
|
-
bigIntType: infer type;
|
|
22
|
-
} ? type : Register extends {
|
|
23
|
-
BigIntType: infer type;
|
|
24
|
-
} ? type : DefaultRegister['bigIntType'];
|
|
25
|
-
/**
|
|
26
|
-
* TypeScript type to use for `bytes` values
|
|
27
|
-
* @default { inputs: `0x${string}`; outputs: `0x${string}`; }
|
|
28
|
-
*/
|
|
29
|
-
bytesType: Register extends {
|
|
30
|
-
bytesType: infer type extends {
|
|
31
|
-
inputs: unknown;
|
|
32
|
-
outputs: unknown;
|
|
33
|
-
};
|
|
34
|
-
} ? type : Register extends {
|
|
35
|
-
BytesType: infer type extends {
|
|
36
|
-
inputs: unknown;
|
|
37
|
-
outputs: unknown;
|
|
38
|
-
};
|
|
39
|
-
} ? type : DefaultRegister['bytesType'];
|
|
40
|
-
/**
|
|
41
|
-
* TypeScript type to use for `int<M>` and `uint<M>` values, where `M <= 48`
|
|
42
|
-
* @default number
|
|
43
|
-
*/
|
|
44
|
-
intType: Register extends {
|
|
45
|
-
intType: infer type;
|
|
46
|
-
} ? type : Register extends {
|
|
47
|
-
IntType: infer type;
|
|
48
|
-
} ? type : DefaultRegister['intType'];
|
|
49
|
-
/**
|
|
50
|
-
* Maximum depth for nested array types (e.g. string[][])
|
|
51
|
-
*
|
|
52
|
-
* Note: You probably only want to set this to a specific number if parsed types are returning as `unknown`
|
|
53
|
-
* and you want to figure out why. If you set this, you should probably also reduce `FixedArrayMaxLength`.
|
|
54
|
-
*
|
|
55
|
-
* @default false
|
|
56
|
-
*/
|
|
57
|
-
arrayMaxDepth: Register extends {
|
|
58
|
-
arrayMaxDepth: infer type extends number | false;
|
|
59
|
-
} ? type : Register extends {
|
|
60
|
-
ArrayMaxDepth: infer type extends number | false;
|
|
61
|
-
} ? type : DefaultRegister['arrayMaxDepth'];
|
|
62
|
-
/**
|
|
63
|
-
* Lower bound for fixed array length
|
|
64
|
-
* @default 1
|
|
65
|
-
*/
|
|
66
|
-
fixedArrayMinLength: Register extends {
|
|
67
|
-
fixedArrayMinLength: infer type extends number;
|
|
68
|
-
} ? type : Register extends {
|
|
69
|
-
FixedArrayMinLength: infer type extends number;
|
|
70
|
-
} ? type : DefaultRegister['fixedArrayMinLength'];
|
|
71
|
-
/**
|
|
72
|
-
* Upper bound for fixed array length
|
|
73
|
-
* @default 99
|
|
74
|
-
*/
|
|
75
|
-
fixedArrayMaxLength: Register extends {
|
|
76
|
-
fixedArrayMaxLength: infer type extends number;
|
|
77
|
-
} ? type : Register extends {
|
|
78
|
-
FixedArrayMaxLength: infer type extends number;
|
|
79
|
-
} ? type : DefaultRegister['fixedArrayMaxLength'];
|
|
80
|
-
/**
|
|
81
|
-
* When set, validates {@link AbiParameter}'s `type` against {@link AbiType}
|
|
82
|
-
*
|
|
83
|
-
* Note: You probably only want to set this to `true` if parsed types are returning as `unknown`
|
|
84
|
-
* and you want to figure out why.
|
|
85
|
-
*
|
|
86
|
-
* @default false
|
|
87
|
-
*/
|
|
88
|
-
strictAbiType: Register extends {
|
|
89
|
-
strictAbiType: infer type extends boolean;
|
|
90
|
-
} ? type : Register extends {
|
|
91
|
-
StrictAbiType: infer type extends boolean;
|
|
92
|
-
} ? type : DefaultRegister['strictAbiType'];
|
|
93
|
-
/** @deprecated Use `addressType` instead */
|
|
94
|
-
AddressType: ResolvedRegister['addressType'];
|
|
95
|
-
/** @deprecated Use `addressType` instead */
|
|
96
|
-
BigIntType: ResolvedRegister['bigIntType'];
|
|
97
|
-
/** @deprecated Use `bytesType` instead */
|
|
98
|
-
BytesType: ResolvedRegister['bytesType'];
|
|
99
|
-
/** @deprecated Use `intType` instead */
|
|
100
|
-
IntType: ResolvedRegister['intType'];
|
|
101
|
-
/** @deprecated Use `arrayMaxDepth` instead */
|
|
102
|
-
ArrayMaxDepth: ResolvedRegister['arrayMaxDepth'];
|
|
103
|
-
/** @deprecated Use `fixedArrayMinLength` instead */
|
|
104
|
-
FixedArrayMinLength: ResolvedRegister['fixedArrayMinLength'];
|
|
105
|
-
/** @deprecated Use `fixedArrayMaxLength` instead */
|
|
106
|
-
FixedArrayMaxLength: ResolvedRegister['fixedArrayMaxLength'];
|
|
107
|
-
/** @deprecated Use `strictAbiType` instead */
|
|
108
|
-
StrictAbiType: ResolvedRegister['strictAbiType'];
|
|
109
|
-
};
|
|
110
|
-
type DefaultRegister = {
|
|
111
|
-
/** Maximum depth for nested array types (e.g. string[][]) */
|
|
112
|
-
arrayMaxDepth: false;
|
|
113
|
-
/** Lower bound for fixed array length */
|
|
114
|
-
fixedArrayMinLength: 1;
|
|
115
|
-
/** Upper bound for fixed array length */
|
|
116
|
-
fixedArrayMaxLength: 99;
|
|
117
|
-
/** TypeScript type to use for `address` values */
|
|
118
|
-
addressType: `0x${string}`;
|
|
119
|
-
/** TypeScript type to use for `bytes` values */
|
|
120
|
-
bytesType: {
|
|
121
|
-
/** TypeScript type to use for `bytes` input values */
|
|
122
|
-
inputs: `0x${string}`;
|
|
123
|
-
/** TypeScript type to use for `bytes` output values */
|
|
124
|
-
outputs: `0x${string}`;
|
|
125
|
-
};
|
|
126
|
-
/** TypeScript type to use for `int<M>` and `uint<M>` values, where `M > 48` */
|
|
127
|
-
bigIntType: bigint;
|
|
128
|
-
/** TypeScript type to use for `int<M>` and `uint<M>` values, where `M <= 48` */
|
|
129
|
-
intType: number;
|
|
130
|
-
/** When set, validates {@link AbiParameter}'s `type` against {@link AbiType} */
|
|
131
|
-
strictAbiType: false;
|
|
132
|
-
/** @deprecated Use `arrayMaxDepth` instead */
|
|
133
|
-
ArrayMaxDepth: DefaultRegister['arrayMaxDepth'];
|
|
134
|
-
/** @deprecated Use `fixedArrayMinLength` instead */
|
|
135
|
-
FixedArrayMinLength: DefaultRegister['fixedArrayMinLength'];
|
|
136
|
-
/** @deprecated Use `fixedArrayMaxLength` instead */
|
|
137
|
-
FixedArrayMaxLength: DefaultRegister['fixedArrayMaxLength'];
|
|
138
|
-
/** @deprecated Use `addressType` instead */
|
|
139
|
-
AddressType: DefaultRegister['addressType'];
|
|
140
|
-
/** @deprecated Use `bytesType` instead */
|
|
141
|
-
BytesType: {
|
|
142
|
-
inputs: DefaultRegister['bytesType']['inputs'];
|
|
143
|
-
outputs: DefaultRegister['bytesType']['outputs'];
|
|
144
|
-
};
|
|
145
|
-
/** @deprecated Use `bigIntType` instead */
|
|
146
|
-
BigIntType: DefaultRegister['bigIntType'];
|
|
147
|
-
/** @deprecated Use `intType` instead */
|
|
148
|
-
IntType: DefaultRegister['intType'];
|
|
149
|
-
/** @deprecated Use `strictAbiType` instead */
|
|
150
|
-
StrictAbiType: DefaultRegister['strictAbiType'];
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Combines members of an intersection into a readable type.
|
|
155
|
-
*
|
|
156
|
-
* @link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg
|
|
157
|
-
* @example
|
|
158
|
-
* type Result = Pretty<{ a: string } | { b: string } | { c: number, d: bigint }>
|
|
159
|
-
* // ^? type Result = { a: string; b: string; c: number; d: bigint }
|
|
160
|
-
*/
|
|
161
|
-
type Pretty<type> = {
|
|
162
|
-
[key in keyof type]: type[key];
|
|
163
|
-
} & unknown;
|
|
164
|
-
/**
|
|
165
|
-
* Creates range between two positive numbers using [tail recursion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-5.html#tail-recursion-elimination-on-conditional-types).
|
|
166
|
-
*
|
|
167
|
-
* @param start - Number to start range
|
|
168
|
-
* @param stop - Number to end range
|
|
169
|
-
* @returns Array with inclusive range from {@link start} to {@link stop}
|
|
170
|
-
*
|
|
171
|
-
* @example
|
|
172
|
-
* type Result = Range<1, 3>
|
|
173
|
-
* // ^? type Result = [1, 2, 3]
|
|
174
|
-
*/
|
|
175
|
-
type Range<start extends number, stop extends number, result extends number[] = [], padding extends 0[] = [], current extends number = [...padding, ...result]['length'] & number> = current extends stop ? current extends start ? [current] : result extends [] ? [] : [...result, current] : current extends start ? Range<start, stop, [current], padding> : result extends [] ? Range<start, stop, [], [...padding, 0]> : Range<start, stop, [...result, current], padding>;
|
|
176
|
-
|
|
177
|
-
type MBytes = '' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32;
|
|
178
|
-
type MBits = '' | 8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 | 80 | 88 | 96 | 104 | 112 | 120 | 128 | 136 | 144 | 152 | 160 | 168 | 176 | 184 | 192 | 200 | 208 | 216 | 224 | 232 | 240 | 248 | 256;
|
|
179
|
-
type SolidityAddress = 'address';
|
|
180
|
-
type SolidityBool = 'bool';
|
|
181
|
-
type SolidityBytes = `bytes${MBytes}`;
|
|
182
|
-
type SolidityFunction = 'function';
|
|
183
|
-
type SolidityString = 'string';
|
|
184
|
-
type SolidityTuple = 'tuple';
|
|
185
|
-
type SolidityInt = `${'u' | ''}int${MBits}`;
|
|
186
|
-
type SolidityFixedArrayRange = Range<ResolvedRegister['fixedArrayMinLength'], ResolvedRegister['fixedArrayMaxLength']>[number];
|
|
187
|
-
/**
|
|
188
|
-
* Recursively build arrays up to maximum depth
|
|
189
|
-
* or use a more broad type when maximum depth is switched "off"
|
|
190
|
-
*/
|
|
191
|
-
type _BuildArrayTypes<T extends string, Depth extends readonly number[] = []> = ResolvedRegister['arrayMaxDepth'] extends false ? `${T}[${string}]` : Depth['length'] extends ResolvedRegister['arrayMaxDepth'] ? T : T extends `${any}[${SolidityFixedArrayRange | ''}]` ? _BuildArrayTypes<T | `${T}[${SolidityFixedArrayRange | ''}]`, [
|
|
192
|
-
...Depth,
|
|
193
|
-
1
|
|
194
|
-
]> : _BuildArrayTypes<`${T}[${SolidityFixedArrayRange | ''}]`, [...Depth, 1]>;
|
|
195
|
-
type SolidityArrayWithoutTuple = _BuildArrayTypes<SolidityAddress | SolidityBool | SolidityBytes | SolidityFunction | SolidityInt | SolidityString>;
|
|
196
|
-
type SolidityArrayWithTuple = _BuildArrayTypes<SolidityTuple>;
|
|
197
|
-
type SolidityArray = SolidityArrayWithoutTuple | SolidityArrayWithTuple;
|
|
198
|
-
type AbiType = SolidityArray | SolidityAddress | SolidityBool | SolidityBytes | SolidityFunction | SolidityInt | SolidityString | SolidityTuple;
|
|
199
|
-
type ResolvedAbiType = ResolvedRegister['strictAbiType'] extends true ? AbiType : string;
|
|
200
|
-
type AbiInternalType = ResolvedAbiType | `address ${string}` | `contract ${string}` | `enum ${string}` | `struct ${string}`;
|
|
201
|
-
type AbiParameter = Pretty<{
|
|
202
|
-
type: ResolvedAbiType;
|
|
203
|
-
name?: string | undefined;
|
|
204
|
-
/** Representation used by Solidity compiler */
|
|
205
|
-
internalType?: AbiInternalType | undefined;
|
|
206
|
-
} & ({
|
|
207
|
-
type: Exclude<ResolvedAbiType, SolidityTuple | SolidityArrayWithTuple>;
|
|
208
|
-
} | {
|
|
209
|
-
type: SolidityTuple | SolidityArrayWithTuple;
|
|
210
|
-
components: readonly AbiParameter[];
|
|
211
|
-
})>;
|
|
212
|
-
type AbiEventParameter = AbiParameter & {
|
|
213
|
-
indexed?: boolean | undefined;
|
|
214
|
-
};
|
|
215
|
-
/**
|
|
216
|
-
* State mutability for {@link AbiFunction}
|
|
217
|
-
*
|
|
218
|
-
* @see https://docs.soliditylang.org/en/latest/contracts.html#state-mutability
|
|
219
|
-
*/
|
|
220
|
-
type AbiStateMutability = 'pure' | 'view' | 'nonpayable' | 'payable';
|
|
221
|
-
/** ABI ["function"](https://docs.soliditylang.org/en/latest/abi-spec.html#json) type */
|
|
222
|
-
type AbiFunction = {
|
|
223
|
-
type: 'function';
|
|
224
|
-
/**
|
|
225
|
-
* @deprecated use `pure` or `view` from {@link AbiStateMutability} instead
|
|
226
|
-
* @see https://github.com/ethereum/solidity/issues/992
|
|
227
|
-
*/
|
|
228
|
-
constant?: boolean | undefined;
|
|
229
|
-
/**
|
|
230
|
-
* @deprecated Vyper used to provide gas estimates
|
|
231
|
-
* @see https://github.com/vyperlang/vyper/issues/2151
|
|
232
|
-
*/
|
|
233
|
-
gas?: number | undefined;
|
|
234
|
-
inputs: readonly AbiParameter[];
|
|
235
|
-
name: string;
|
|
236
|
-
outputs: readonly AbiParameter[];
|
|
237
|
-
/**
|
|
238
|
-
* @deprecated use `payable` or `nonpayable` from {@link AbiStateMutability} instead
|
|
239
|
-
* @see https://github.com/ethereum/solidity/issues/992
|
|
240
|
-
*/
|
|
241
|
-
payable?: boolean | undefined;
|
|
242
|
-
stateMutability: AbiStateMutability;
|
|
243
|
-
};
|
|
244
|
-
/** ABI ["constructor"](https://docs.soliditylang.org/en/latest/abi-spec.html#json) type */
|
|
245
|
-
type AbiConstructor = {
|
|
246
|
-
type: 'constructor';
|
|
247
|
-
inputs: readonly AbiParameter[];
|
|
248
|
-
/**
|
|
249
|
-
* @deprecated use `payable` or `nonpayable` from {@link AbiStateMutability} instead
|
|
250
|
-
* @see https://github.com/ethereum/solidity/issues/992
|
|
251
|
-
*/
|
|
252
|
-
payable?: boolean | undefined;
|
|
253
|
-
stateMutability: Extract<AbiStateMutability, 'payable' | 'nonpayable'>;
|
|
254
|
-
};
|
|
255
|
-
/** ABI ["fallback"](https://docs.soliditylang.org/en/latest/abi-spec.html#json) type */
|
|
256
|
-
type AbiFallback = {
|
|
257
|
-
type: 'fallback';
|
|
258
|
-
inputs?: readonly [] | undefined;
|
|
259
|
-
/**
|
|
260
|
-
* @deprecated use `payable` or `nonpayable` from {@link AbiStateMutability} instead
|
|
261
|
-
* @see https://github.com/ethereum/solidity/issues/992
|
|
262
|
-
*/
|
|
263
|
-
payable?: boolean | undefined;
|
|
264
|
-
stateMutability: Extract<AbiStateMutability, 'payable' | 'nonpayable'>;
|
|
265
|
-
};
|
|
266
|
-
/** ABI ["receive"](https://docs.soliditylang.org/en/latest/contracts.html#receive-ether-function) type */
|
|
267
|
-
type AbiReceive = {
|
|
268
|
-
type: 'receive';
|
|
269
|
-
stateMutability: Extract<AbiStateMutability, 'payable'>;
|
|
270
|
-
};
|
|
271
|
-
/** ABI ["event"](https://docs.soliditylang.org/en/latest/abi-spec.html#events) type */
|
|
272
|
-
type AbiEvent = {
|
|
273
|
-
type: 'event';
|
|
274
|
-
anonymous?: boolean | undefined;
|
|
275
|
-
inputs: readonly AbiEventParameter[];
|
|
276
|
-
name: string;
|
|
277
|
-
};
|
|
278
|
-
/** ABI ["error"](https://docs.soliditylang.org/en/latest/abi-spec.html#errors) type */
|
|
279
|
-
type AbiError = {
|
|
280
|
-
type: 'error';
|
|
281
|
-
inputs: readonly AbiParameter[];
|
|
282
|
-
name: string;
|
|
283
|
-
};
|
|
284
|
-
/**
|
|
285
|
-
* Contract [ABI Specification](https://docs.soliditylang.org/en/latest/abi-spec.html#json)
|
|
286
|
-
*/
|
|
287
|
-
type Abi = readonly (AbiConstructor | AbiError | AbiEvent | AbiFallback | AbiFunction | AbiReceive)[];
|
|
288
|
-
|
|
289
|
-
type EIP1193DATA = `0x${string}`;
|
|
290
|
-
|
|
1
|
+
import { Abi } from 'abitype';
|
|
2
|
+
import type { DeploymentConstruction, Deployment } from 'rocketh';
|
|
3
|
+
import { Address, Chain } from 'viem';
|
|
291
4
|
declare module 'rocketh' {
|
|
292
5
|
interface Environment {
|
|
293
6
|
deploy: DeployFunction;
|
|
294
|
-
execute: ExecuteFunction;
|
|
295
|
-
read: ReadFunction;
|
|
296
|
-
executeByName: ExecuteFunctionByName;
|
|
297
|
-
readByName: ReadFunctionByName;
|
|
298
7
|
}
|
|
299
8
|
}
|
|
300
|
-
type DeployFunction = <TAbi extends Abi, TChain extends Chain = Chain>(name: string, args: DeploymentConstruction<TAbi>, options?: DeployOptions) => Promise<Deployment<TAbi> & {
|
|
9
|
+
export type DeployFunction = <TAbi extends Abi, TChain extends Chain = Chain>(name: string, args: DeploymentConstruction<TAbi>, options?: DeployOptions) => Promise<Deployment<TAbi> & {
|
|
301
10
|
updated: boolean;
|
|
302
11
|
}>;
|
|
303
|
-
type
|
|
304
|
-
type ExecuteFunctionByName = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'nonpayable' | 'payable'>, TArgs extends ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName> = ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName>>(name: string, args: ExecutionArgs<TAbi, TFunctionName, TArgs>) => Promise<EIP1193DATA>;
|
|
305
|
-
type ReadFunction = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>>(deployment: Deployment<TAbi>, args: ReadingArgs<TAbi, TFunctionName, TArgs>) => Promise<DecodeFunctionResultReturnType<TAbi, TFunctionName>>;
|
|
306
|
-
type ReadFunctionByName = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>>(name: string, args: ReadingArgs<TAbi, TFunctionName, TArgs>) => Promise<DecodeFunctionResultReturnType<TAbi, TFunctionName>>;
|
|
307
|
-
type ExecutionArgs<TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'nonpayable' | 'payable'>, TArgs extends ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName> = ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName>> = Omit<WriteContractParameters<TAbi, TFunctionName, TArgs>, 'address' | 'abi' | 'account' | 'nonce' | 'chain'> & {
|
|
308
|
-
account: string;
|
|
309
|
-
};
|
|
310
|
-
type ReadingArgs<TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>> = Omit<ReadContractParameters<TAbi, TFunctionName, TArgs>, 'address' | 'abi' | 'account' | 'nonce'> & {
|
|
311
|
-
account?: string;
|
|
312
|
-
};
|
|
313
|
-
type DeployOptions = {
|
|
12
|
+
export type DeployOptions = {
|
|
314
13
|
linkedData?: any;
|
|
315
14
|
deterministic?: boolean | `0x${string}`;
|
|
316
15
|
libraries?: {
|
|
@@ -321,5 +20,4 @@ type DeployOptions = {
|
|
|
321
20
|
} | {
|
|
322
21
|
alwaysOverride?: boolean;
|
|
323
22
|
});
|
|
324
|
-
|
|
325
|
-
export type { DeployFunction, DeployOptions, ExecuteFunction, ExecuteFunctionByName, ExecutionArgs, ReadFunction, ReadFunctionByName, ReadingArgs };
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAE5B,OAAO,KAAK,EAEX,sBAAsB,EACtB,UAAU,EAKV,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,OAAO,EAAE,KAAK,EAA0B,MAAM,MAAM,CAAC;AAM7D,OAAO,QAAQ,SAAS,CAAC;IACxB,UAAU,WAAW;QACpB,MAAM,EAAE,cAAc,CAAC;KACvB;CACD;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,SAAS,GAAG,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EAC3E,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAClC,OAAO,CAAC,EAAE,aAAa,KACnB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CACtC,GAAG,CACD;IACA,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC/B,GACD;IACA,cAAc,CAAC,EAAE,OAAO,CAAC;CACxB,CACH,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { extendEnvironment } from 'rocketh';
|
|
2
|
-
import {
|
|
2
|
+
import { encodePacked, keccak256 } from 'viem';
|
|
3
3
|
import { encodeDeployData } from 'viem';
|
|
4
4
|
import { logs } from 'named-logs';
|
|
5
|
-
const logger = logs('rocketh
|
|
5
|
+
const logger = logs('@rocketh/deploy');
|
|
6
6
|
async function broadcastTransaction(env, signer, params) {
|
|
7
7
|
if (signer.type === 'wallet' || signer.type === 'remote') {
|
|
8
8
|
return signer.signer.request({
|
|
@@ -70,133 +70,6 @@ function linkLibraries(artifact, libraries) {
|
|
|
70
70
|
return bytecode;
|
|
71
71
|
}
|
|
72
72
|
extendEnvironment((env) => {
|
|
73
|
-
async function execute(deployment, args) {
|
|
74
|
-
const { account, ...viemArgs } = args;
|
|
75
|
-
let address;
|
|
76
|
-
if (account.startsWith('0x')) {
|
|
77
|
-
address = account;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
if (env.namedAccounts) {
|
|
81
|
-
address = env.namedAccounts[account];
|
|
82
|
-
if (!address) {
|
|
83
|
-
throw new Error(`no address for ${account}`);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
throw new Error(`no accounts setup, cannot get address for ${account}`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
const artifactToUse = deployment;
|
|
91
|
-
const abi = artifactToUse.abi;
|
|
92
|
-
const calldata = encodeFunctionData({
|
|
93
|
-
abi,
|
|
94
|
-
functionName: viemArgs.functionName,
|
|
95
|
-
args: viemArgs.args,
|
|
96
|
-
});
|
|
97
|
-
const signer = env.addressSigners[address];
|
|
98
|
-
const txParam = {
|
|
99
|
-
to: deployment.address,
|
|
100
|
-
type: '0x2',
|
|
101
|
-
from: address,
|
|
102
|
-
chainId: `0x${env.network.chain.id.toString(16)}`,
|
|
103
|
-
data: calldata,
|
|
104
|
-
gas: viemArgs.gas && `0x${viemArgs.gas.toString(16)}`,
|
|
105
|
-
// gasPrice: viemArgs.gasPrice && `0x${viemArgs.gasPrice.toString(16)}` as `0x${string}`,
|
|
106
|
-
maxFeePerGas: viemArgs.maxFeePerGas && `0x${viemArgs.maxFeePerGas.toString(16)}`,
|
|
107
|
-
maxPriorityFeePerGas: viemArgs.maxPriorityFeePerGas && `0x${viemArgs.maxPriorityFeePerGas.toString(16)}`,
|
|
108
|
-
// nonce: viemArgs.nonce && (`0x${viemArgs.nonce.toString(16)}` as `0x${string}`),
|
|
109
|
-
};
|
|
110
|
-
if (viemArgs.value) {
|
|
111
|
-
txParam.value = `0x${viemArgs.value?.toString(16)}`;
|
|
112
|
-
}
|
|
113
|
-
let txHash;
|
|
114
|
-
if (signer.type === 'wallet' || signer.type === 'remote') {
|
|
115
|
-
txHash = await signer.signer.request({
|
|
116
|
-
method: 'eth_sendTransaction',
|
|
117
|
-
params: [txParam], // TODO fix eip-1193 ?,,
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
const rawTx = await signer.signer.request({
|
|
122
|
-
method: 'eth_signTransaction',
|
|
123
|
-
params: [txParam],
|
|
124
|
-
});
|
|
125
|
-
txHash = await env.network.provider.request({
|
|
126
|
-
method: 'eth_sendRawTransaction',
|
|
127
|
-
params: [rawTx],
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
const pendingExecution = {
|
|
131
|
-
type: 'execution',
|
|
132
|
-
transaction: { hash: txHash, origin: address },
|
|
133
|
-
// description, // TODO
|
|
134
|
-
// TODO we should have the nonce, except for wallet like metamask where it is not usre you get the nonce you start with
|
|
135
|
-
};
|
|
136
|
-
await env.savePendingExecution(pendingExecution);
|
|
137
|
-
return txHash;
|
|
138
|
-
}
|
|
139
|
-
async function executeByName(name, args) {
|
|
140
|
-
const deployment = env.getOrNull(name);
|
|
141
|
-
if (!deployment) {
|
|
142
|
-
throw new Error(`no deployment named ${name}`);
|
|
143
|
-
}
|
|
144
|
-
return execute(deployment, args);
|
|
145
|
-
}
|
|
146
|
-
async function read(deployment, args) {
|
|
147
|
-
const { account, ...viemArgs } = args;
|
|
148
|
-
let address;
|
|
149
|
-
if (account) {
|
|
150
|
-
if (account.startsWith('0x')) {
|
|
151
|
-
address = account;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
if (env.namedAccounts) {
|
|
155
|
-
address = env.namedAccounts[account];
|
|
156
|
-
if (!address) {
|
|
157
|
-
throw new Error(`no address for ${account}`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
throw new Error(`no accounts setup, cannot get address for ${account}`);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
const artifactToUse = deployment;
|
|
166
|
-
const abi = artifactToUse.abi;
|
|
167
|
-
const calldata = encodeFunctionData({
|
|
168
|
-
abi,
|
|
169
|
-
functionName: viemArgs.functionName,
|
|
170
|
-
args: viemArgs.args,
|
|
171
|
-
});
|
|
172
|
-
const result = (await env.network.provider.request({
|
|
173
|
-
method: 'eth_call',
|
|
174
|
-
params: [
|
|
175
|
-
{
|
|
176
|
-
to: deployment.address,
|
|
177
|
-
type: '0x2',
|
|
178
|
-
from: address,
|
|
179
|
-
chainId: `0x${env.network.chain.id.toString(16)}`,
|
|
180
|
-
data: calldata,
|
|
181
|
-
// value: `0x${viemArgs.value?.toString(16)}` as `0x${string}`,
|
|
182
|
-
},
|
|
183
|
-
], // TODO fix eip-1193 ?,,
|
|
184
|
-
}));
|
|
185
|
-
const parsed = decodeFunctionResult({
|
|
186
|
-
abi,
|
|
187
|
-
functionName: viemArgs.functionName,
|
|
188
|
-
data: result,
|
|
189
|
-
args: viemArgs.args,
|
|
190
|
-
});
|
|
191
|
-
return parsed;
|
|
192
|
-
}
|
|
193
|
-
async function readByName(name, args) {
|
|
194
|
-
const deployment = env.getOrNull(name);
|
|
195
|
-
if (!deployment) {
|
|
196
|
-
throw new Error(`no deployment named ${name}`);
|
|
197
|
-
}
|
|
198
|
-
return read(deployment, args);
|
|
199
|
-
}
|
|
200
73
|
async function deploy(name, args, options) {
|
|
201
74
|
const skipIfAlreadyDeployed = options && 'skipIfAlreadyDeployed' in options && options.skipIfAlreadyDeployed;
|
|
202
75
|
const allwaysOverride = options && 'allwaysOverride' in options && options.allwaysOverride;
|
|
@@ -365,10 +238,6 @@ extendEnvironment((env) => {
|
|
|
365
238
|
return { ...deployment, updated: true };
|
|
366
239
|
}
|
|
367
240
|
env.deploy = deploy;
|
|
368
|
-
env.execute = execute;
|
|
369
|
-
env.executeByName = executeByName;
|
|
370
|
-
env.read = read;
|
|
371
|
-
env.readByName = readByName;
|
|
372
241
|
return env;
|
|
373
242
|
});
|
|
374
243
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAiB,YAAY,EAAE,SAAS,EAAC,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,MAAM,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;AA2BvC,KAAK,UAAU,oBAAoB,CAClC,GAAgB,EAChB,MAAc,EACd,MAAgC;IAEhC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,MAAa,EAAE,uBAAuB;SAC9C,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YACzC,MAAM,EAAE,qBAAqB;YAC7B,MAAM;SACN,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE,CAAC,KAAK,CAAC;SACf,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,WAAmB,EAAE,cAAsB;IACpF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,kBAAkB,CAAC;IACvB,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACP,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,kBAAkB,OAAO,EAAE,GAAG,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,MAAM,kBAAkB,iBAAiB,QAAQ,UAAU,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,SAA2C;IACtF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CACrB,QAOC,EACD,SAA4C;IAE5C,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEjC,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClF,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChE,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;oBAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACxB,SAAS;oBACV,CAAC;oBAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC5B,QAAQ;4BACP,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gCAC1C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gCACjB,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3D,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAED,8EAA8E;IAE9E,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,iBAAiB,CAAC,CAAC,GAAgB,EAAE,EAAE;IACtC,KAAK,UAAU,MAAM,CACpB,IAAY,EACZ,IAAkC,EAClC,OAAuB;QAEvB,MAAM,qBAAqB,GAAG,OAAO,IAAI,uBAAuB,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;QAC7G,MAAM,eAAe,GAAG,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;QAE3F,IAAI,eAAe,IAAI,qBAAqB,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,kBAAkB,IAAI,qBAAqB,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,OAAO,kBAAkB,CAAC,OAAO,0CAA0C,CAAC,CAAC;YAC/G,OAAO,EAAC,GAAI,kBAAuC,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAC,GAAG,IAAI,CAAC;QAC9C,IAAI,OAAsB,CAAC;QAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAwB,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvB,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;QACF,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAmB,CAAC;QAE5G,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAE9B,MAAM,SAAS,GAAG;YACjB,GAAG,QAAQ;YACX,OAAO;YACP,GAAG;YACH,QAAQ;SACR,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAgB,CAAC,CAAC,CAAC,WAAW;QAChE,MAAM,QAAQ,GAAG,KAAK,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAmB,CAAC;QAExE,IAAI,kBAAkB,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YACrD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YACrD,6CAA6C;YAC7C,gFAAgF;YAChF,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,2BAA2B,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC/E,MAAM,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,2BAA2B,KAAK,sBAAsB,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBAC7F,OAAO,EAAC,GAAI,kBAAuC,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACP,mEAAmE;gBACnE,4CAA4C;gBAC5C,uCAAuC;gBACvC,sDAAsD;gBACtD,iEAAiE;gBACjE,iCAAiC;gBACjC,yBAAyB;gBACzB,sDAAsD;YACvD,CAAC;QACF,CAAC;QAED,MAAM,iBAAiB,GAA4B;YAClD,GAAG,aAAa;YAChB,QAAQ;YACR,UAAU,EAAE,OAAO,EAAE,UAAU;SAC/B,CAAC;QAEF,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAmB,CAAC;QAC1E,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAK,KAAK,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAoB,CAAC;QAC3G,MAAM,oBAAoB,GACzB,QAAQ,CAAC,oBAAoB,IAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAoB,CAAC;QAEvG,MAAM,MAAM,GAA6B;YACxC;gBACC,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;gBACb,OAAO;gBACP,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAK,KAAK,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAoB;gBACxE,YAAY;gBACZ,oBAAoB;gBACpB,yFAAyF;gBACzF,+DAA+D;gBAC/D,kFAAkF;aAClF;SACD,CAAC;QAEF,IAAI,eAAe,GAA8B,SAAS,CAAC;QAC3D,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC5B,+BAA+B;YAC/B,MAAM,2BAA2B,GAAG,4CAA4C,CAAC;YACjF,MAAM,mCAAmC,GAAG,4CAA4C,CAAC;YACzF,MAAM,qBAAqB,GAAG,kVAAkV,CAAC;YAEjX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/C,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,CAAC,2BAA2B,EAAE,QAAQ,CAAC;aAC/C,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3D,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,CAAC,mCAAmC,EAAE,QAAQ,CAAC;iBACvD,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACzC,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,kBAAkB,GAAG,OAAO,CAAC;oBAC1C,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAmB,CAAC;oBAChE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE;wBACtD;4BACC,IAAI,EAAE,KAAK;4BACX,OAAO;4BACP,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE,mCAAmC;4BACvC,KAAK,EAAE,aAAa;4BACpB,GAAG,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;4BACtC,YAAY;4BACZ,oBAAoB;yBACpB;qBACD,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,oBAAoB,CAAC;wBAC9B,IAAI,EAAE,WAAW,EAAE,wBAAwB;wBAC3C,WAAW,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC;qBAC5C,CAAC,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACjD,MAAM,EAAE,wBAAwB;oBAChC,MAAM,EAAE,CAAC,qBAAqB,CAAC;iBAC/B,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,oBAAoB,CAAC;oBAC9B,IAAI,EAAE,WAAW,EAAE,wBAAwB;oBAC3C,WAAW,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC;iBAC5C,CAAC,CAAC;YACJ,CAAC;YAED,sBAAsB;YACtB,MAAM,IAAI,GAAG,CACZ,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;gBACxC,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACzD,CAAC,CAAC,oEAAoE,CACtD,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;YAExC,eAAe,GAAG,CAAC,IAAI;gBACtB,SAAS,CAAC,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAC5G,CAAC,EAAE,CACH,CAAkB,CAAC;YAErB,MAAM,mBAAmB,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC9D,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;aACnC,CAAC,CAAC;YAEH,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBAClC,GAAG,CAAC,WAAW,CAAC,sDAAsD,eAAe,EAAE,CAAC,CAAC;gBACzF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBACvC,OAAO,EAAE,eAAe;oBACxB,GAAG,iBAAiB;iBACpB,CAAC,CAAC;gBACH,OAAO,EAAC,GAAI,UAA+B,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;YAC7D,CAAC;YAED,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAkB,CAAC;YACrE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/D,MAAM,iBAAiB,GAA4B;YAClD,IAAI,EAAE,YAAY;YAClB,eAAe;YACf,iBAAiB;YACjB,WAAW,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC;YAC5C,IAAI;YACJ,uHAAuH;SACvH,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QACtE,OAAO,EAAC,GAAI,UAA+B,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rocketh/deploy",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.4",
|
|
4
4
|
"description": "provide deploy function for rocketh",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"type": "module",
|
|
9
|
-
"main": "dist/
|
|
10
|
-
"module": "dist/
|
|
11
|
-
"types": "dist/
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"module": "dist/index.js",
|
|
11
|
+
"types": "dist/index.d.ts",
|
|
12
12
|
".": {
|
|
13
13
|
"import": {
|
|
14
|
-
"types": "./dist/
|
|
15
|
-
"default": "./dist/
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"eip-1193": "^0.6.2",
|
|
25
25
|
"rimraf": "^6.0.1",
|
|
26
26
|
"typescript": "^5.8.2",
|
|
27
|
-
"rocketh": "1.0.0-next.
|
|
27
|
+
"rocketh": "1.0.0-next.4"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"rocketh": "1.0.0-next.
|
|
30
|
+
"rocketh": "1.0.0-next.4"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"named-logs": "^0.3.2",
|
package/dist/esm/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Abi } from 'abitype';
|
|
2
|
-
import { EIP1193DATA } from 'eip-1193';
|
|
3
|
-
import type { DeploymentConstruction, Deployment } from 'rocketh';
|
|
4
|
-
import { Address, Chain, ContractFunctionArgs, ContractFunctionName, DecodeFunctionResultReturnType, ReadContractParameters, WriteContractParameters } from 'viem';
|
|
5
|
-
declare module 'rocketh' {
|
|
6
|
-
interface Environment {
|
|
7
|
-
deploy: DeployFunction;
|
|
8
|
-
execute: ExecuteFunction;
|
|
9
|
-
read: ReadFunction;
|
|
10
|
-
executeByName: ExecuteFunctionByName;
|
|
11
|
-
readByName: ReadFunctionByName;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export type DeployFunction = <TAbi extends Abi, TChain extends Chain = Chain>(name: string, args: DeploymentConstruction<TAbi>, options?: DeployOptions) => Promise<Deployment<TAbi> & {
|
|
15
|
-
updated: boolean;
|
|
16
|
-
}>;
|
|
17
|
-
export type ExecuteFunction = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'nonpayable' | 'payable'>, TArgs extends ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName> = ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName>>(deployment: Deployment<TAbi>, args: ExecutionArgs<TAbi, TFunctionName, TArgs>) => Promise<EIP1193DATA>;
|
|
18
|
-
export type ExecuteFunctionByName = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'nonpayable' | 'payable'>, TArgs extends ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName> = ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName>>(name: string, args: ExecutionArgs<TAbi, TFunctionName, TArgs>) => Promise<EIP1193DATA>;
|
|
19
|
-
export type ReadFunction = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>>(deployment: Deployment<TAbi>, args: ReadingArgs<TAbi, TFunctionName, TArgs>) => Promise<DecodeFunctionResultReturnType<TAbi, TFunctionName>>;
|
|
20
|
-
export type ReadFunctionByName = <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>>(name: string, args: ReadingArgs<TAbi, TFunctionName, TArgs>) => Promise<DecodeFunctionResultReturnType<TAbi, TFunctionName>>;
|
|
21
|
-
export type ExecutionArgs<TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'nonpayable' | 'payable'>, TArgs extends ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName> = ContractFunctionArgs<TAbi, 'nonpayable' | 'payable', TFunctionName>> = Omit<WriteContractParameters<TAbi, TFunctionName, TArgs>, 'address' | 'abi' | 'account' | 'nonce' | 'chain'> & {
|
|
22
|
-
account: string;
|
|
23
|
-
};
|
|
24
|
-
export type ReadingArgs<TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>> = Omit<ReadContractParameters<TAbi, TFunctionName, TArgs>, 'address' | 'abi' | 'account' | 'nonce'> & {
|
|
25
|
-
account?: string;
|
|
26
|
-
};
|
|
27
|
-
export type DeployOptions = {
|
|
28
|
-
linkedData?: any;
|
|
29
|
-
deterministic?: boolean | `0x${string}`;
|
|
30
|
-
libraries?: {
|
|
31
|
-
[name: string]: Address;
|
|
32
|
-
};
|
|
33
|
-
} & ({
|
|
34
|
-
skipIfAlreadyDeployed?: boolean;
|
|
35
|
-
} | {
|
|
36
|
-
alwaysOverride?: boolean;
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAC,WAAW,EAAyB,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAEX,sBAAsB,EACtB,UAAU,EAMV,MAAM,SAAS,CAAC;AAEjB,OAAO,EACN,OAAO,EACP,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAE9B,sBAAsB,EACtB,uBAAuB,EAKvB,MAAM,MAAM,CAAC;AAMd,OAAO,QAAQ,SAAS,CAAC;IACxB,UAAU,WAAW;QACpB,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,EAAE,eAAe,CAAC;QACzB,IAAI,EAAE,YAAY,CAAC;QACnB,aAAa,EAAE,qBAAqB,CAAC;QACrC,UAAU,EAAE,kBAAkB,CAAC;KAC/B;CACD;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,SAAS,GAAG,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EAC3E,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAClC,OAAO,CAAC,EAAE,aAAa,KACnB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,CAC7B,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,GAAG,oBAAoB,CACvG,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,EAED,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAC5B,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,KAC3C,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG,CACnC,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,GAAG,oBAAoB,CACvG,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,EAED,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,KAC3C,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,MAAM,MAAM,YAAY,GAAG,CAC1B,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,EACjE,KAAK,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,CAAC,GAAG,oBAAoB,CAC9F,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,aAAa,CACb,EAED,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,KACzC,OAAO,CAAC,8BAA8B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAChC,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,EACjE,KAAK,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,CAAC,GAAG,oBAAoB,CAC9F,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,aAAa,CACb,EAED,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,KACzC,OAAO,CAAC,8BAA8B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,CACxB,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,EAC1E,KAAK,SAAS,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,GAAG,oBAAoB,CACvG,IAAI,EACJ,YAAY,GAAG,SAAS,EACxB,aAAa,CACb,IACE,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG;IAClH,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,CACtB,IAAI,SAAS,GAAG,EAChB,aAAa,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,EACjE,KAAK,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,CAAC,GAAG,oBAAoB,CAC9F,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,aAAa,CACb,IACE,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CACtC,GAAG,CACD;IACA,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC/B,GACD;IACA,cAAc,CAAC,EAAE,OAAO,CAAC;CACxB,CACH,CAAC"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|