rocketh 0.10.13 → 0.10.15

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/dist/index.d.ts CHANGED
@@ -681,39 +681,51 @@ type EIP1193ChainId = `0x${string}`;
681
681
  type EIP1193Account = `0x${string}`;
682
682
  type EIP1193Accounts = EIP1193Account[];
683
683
 
684
- type Register = {};
684
+ interface Register {
685
+ }
685
686
  type ResolvedRegister = {
686
687
  /**
687
688
  * TypeScript type to use for `address` values
688
689
  * @default `0x${string}`
689
690
  */
690
- AddressType: Register extends {
691
+ addressType: Register extends {
692
+ addressType: infer type;
693
+ } ? type : Register extends {
691
694
  AddressType: infer type;
692
- } ? type : DefaultRegister['AddressType'];
695
+ } ? type : DefaultRegister['addressType'];
693
696
  /**
694
697
  * TypeScript type to use for `int<M>` and `uint<M>` values, where `M > 48`
695
698
  * @default bigint
696
699
  */
697
- BigIntType: Register extends {
700
+ bigIntType: Register extends {
701
+ bigIntType: infer type;
702
+ } ? type : Register extends {
698
703
  BigIntType: infer type;
699
- } ? type : DefaultRegister['BigIntType'];
704
+ } ? type : DefaultRegister['bigIntType'];
700
705
  /**
701
706
  * TypeScript type to use for `bytes` values
702
707
  * @default { inputs: `0x${string}`; outputs: `0x${string}`; }
703
708
  */
704
- BytesType: Register extends {
709
+ bytesType: Register extends {
710
+ bytesType: infer type extends {
711
+ inputs: unknown;
712
+ outputs: unknown;
713
+ };
714
+ } ? type : Register extends {
705
715
  BytesType: infer type extends {
706
716
  inputs: unknown;
707
717
  outputs: unknown;
708
718
  };
709
- } ? type : DefaultRegister['BytesType'];
719
+ } ? type : DefaultRegister['bytesType'];
710
720
  /**
711
721
  * TypeScript type to use for `int<M>` and `uint<M>` values, where `M <= 48`
712
722
  * @default number
713
723
  */
714
- IntType: Register extends {
724
+ intType: Register extends {
725
+ intType: infer type;
726
+ } ? type : Register extends {
715
727
  IntType: infer type;
716
- } ? type : DefaultRegister['IntType'];
728
+ } ? type : DefaultRegister['intType'];
717
729
  /**
718
730
  * Maximum depth for nested array types (e.g. string[][])
719
731
  *
@@ -722,23 +734,29 @@ type ResolvedRegister = {
722
734
  *
723
735
  * @default false
724
736
  */
725
- ArrayMaxDepth: Register extends {
737
+ arrayMaxDepth: Register extends {
738
+ arrayMaxDepth: infer type extends number | false;
739
+ } ? type : Register extends {
726
740
  ArrayMaxDepth: infer type extends number | false;
727
- } ? type : DefaultRegister['ArrayMaxDepth'];
741
+ } ? type : DefaultRegister['arrayMaxDepth'];
728
742
  /**
729
743
  * Lower bound for fixed array length
730
744
  * @default 1
731
745
  */
732
- FixedArrayMinLength: Register extends {
746
+ fixedArrayMinLength: Register extends {
747
+ fixedArrayMinLength: infer type extends number;
748
+ } ? type : Register extends {
733
749
  FixedArrayMinLength: infer type extends number;
734
- } ? type : DefaultRegister['FixedArrayMinLength'];
750
+ } ? type : DefaultRegister['fixedArrayMinLength'];
735
751
  /**
736
752
  * Upper bound for fixed array length
737
753
  * @default 99
738
754
  */
739
- FixedArrayMaxLength: Register extends {
755
+ fixedArrayMaxLength: Register extends {
756
+ fixedArrayMaxLength: infer type extends number;
757
+ } ? type : Register extends {
740
758
  FixedArrayMaxLength: infer type extends number;
741
- } ? type : DefaultRegister['FixedArrayMaxLength'];
759
+ } ? type : DefaultRegister['fixedArrayMaxLength'];
742
760
  /**
743
761
  * When set, validates {@link AbiParameter}'s `type` against {@link AbiType}
744
762
  *
@@ -747,32 +765,69 @@ type ResolvedRegister = {
747
765
  *
748
766
  * @default false
749
767
  */
750
- StrictAbiType: Register extends {
768
+ strictAbiType: Register extends {
769
+ strictAbiType: infer type extends boolean;
770
+ } ? type : Register extends {
751
771
  StrictAbiType: infer type extends boolean;
752
- } ? type : DefaultRegister['StrictAbiType'];
772
+ } ? type : DefaultRegister['strictAbiType'];
773
+ /** @deprecated Use `addressType` instead */
774
+ AddressType: ResolvedRegister['addressType'];
775
+ /** @deprecated Use `addressType` instead */
776
+ BigIntType: ResolvedRegister['bigIntType'];
777
+ /** @deprecated Use `bytesType` instead */
778
+ BytesType: ResolvedRegister['bytesType'];
779
+ /** @deprecated Use `intType` instead */
780
+ IntType: ResolvedRegister['intType'];
781
+ /** @deprecated Use `arrayMaxDepth` instead */
782
+ ArrayMaxDepth: ResolvedRegister['arrayMaxDepth'];
783
+ /** @deprecated Use `fixedArrayMinLength` instead */
784
+ FixedArrayMinLength: ResolvedRegister['fixedArrayMinLength'];
785
+ /** @deprecated Use `fixedArrayMaxLength` instead */
786
+ FixedArrayMaxLength: ResolvedRegister['fixedArrayMaxLength'];
787
+ /** @deprecated Use `strictAbiType` instead */
788
+ StrictAbiType: ResolvedRegister['strictAbiType'];
753
789
  };
754
790
  type DefaultRegister = {
755
791
  /** Maximum depth for nested array types (e.g. string[][]) */
756
- ArrayMaxDepth: false;
792
+ arrayMaxDepth: false;
757
793
  /** Lower bound for fixed array length */
758
- FixedArrayMinLength: 1;
794
+ fixedArrayMinLength: 1;
759
795
  /** Upper bound for fixed array length */
760
- FixedArrayMaxLength: 99;
796
+ fixedArrayMaxLength: 99;
761
797
  /** TypeScript type to use for `address` values */
762
- AddressType: `0x${string}`;
798
+ addressType: `0x${string}`;
763
799
  /** TypeScript type to use for `bytes` values */
764
- BytesType: {
800
+ bytesType: {
765
801
  /** TypeScript type to use for `bytes` input values */
766
802
  inputs: `0x${string}`;
767
803
  /** TypeScript type to use for `bytes` output values */
768
804
  outputs: `0x${string}`;
769
805
  };
770
806
  /** TypeScript type to use for `int<M>` and `uint<M>` values, where `M > 48` */
771
- BigIntType: bigint;
807
+ bigIntType: bigint;
772
808
  /** TypeScript type to use for `int<M>` and `uint<M>` values, where `M <= 48` */
773
- IntType: number;
809
+ intType: number;
774
810
  /** When set, validates {@link AbiParameter}'s `type` against {@link AbiType} */
775
- StrictAbiType: false;
811
+ strictAbiType: false;
812
+ /** @deprecated Use `arrayMaxDepth` instead */
813
+ ArrayMaxDepth: DefaultRegister['arrayMaxDepth'];
814
+ /** @deprecated Use `fixedArrayMinLength` instead */
815
+ FixedArrayMinLength: DefaultRegister['fixedArrayMinLength'];
816
+ /** @deprecated Use `fixedArrayMaxLength` instead */
817
+ FixedArrayMaxLength: DefaultRegister['fixedArrayMaxLength'];
818
+ /** @deprecated Use `addressType` instead */
819
+ AddressType: DefaultRegister['addressType'];
820
+ /** @deprecated Use `bytesType` instead */
821
+ BytesType: {
822
+ inputs: DefaultRegister['bytesType']['inputs'];
823
+ outputs: DefaultRegister['bytesType']['outputs'];
824
+ };
825
+ /** @deprecated Use `bigIntType` instead */
826
+ BigIntType: DefaultRegister['bigIntType'];
827
+ /** @deprecated Use `intType` instead */
828
+ IntType: DefaultRegister['intType'];
829
+ /** @deprecated Use `strictAbiType` instead */
830
+ StrictAbiType: DefaultRegister['strictAbiType'];
776
831
  };
777
832
 
778
833
  /**
@@ -783,21 +838,21 @@ type DefaultRegister = {
783
838
  * type Result = Pretty<{ a: string } | { b: string } | { c: number, d: bigint }>
784
839
  * // ^? type Result = { a: string; b: string; c: number; d: bigint }
785
840
  */
786
- type Pretty<T> = {
787
- [K in keyof T]: T[K];
841
+ type Pretty<type> = {
842
+ [key in keyof type]: type[key];
788
843
  } & unknown;
789
844
  /**
790
845
  * 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).
791
846
  *
792
- * @param Start - Number to start range
793
- * @param Stop - Number to end range
794
- * @returns Array with inclusive range from {@link Start} to {@link Stop}
847
+ * @param start - Number to start range
848
+ * @param stop - Number to end range
849
+ * @returns Array with inclusive range from {@link start} to {@link stop}
795
850
  *
796
851
  * @example
797
852
  * type Result = Range<1, 3>
798
853
  * // ^? type Result = [1, 2, 3]
799
854
  */
800
- 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>;
855
+ 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>;
801
856
 
802
857
  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;
803
858
  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;
@@ -808,17 +863,20 @@ type SolidityFunction = 'function';
808
863
  type SolidityString = 'string';
809
864
  type SolidityTuple = 'tuple';
810
865
  type SolidityInt = `${'u' | ''}int${MBits}`;
811
- type SolidityFixedArrayRange = Range<ResolvedRegister['FixedArrayMinLength'], ResolvedRegister['FixedArrayMaxLength']>[number];
866
+ type SolidityFixedArrayRange = Range<ResolvedRegister['fixedArrayMinLength'], ResolvedRegister['fixedArrayMaxLength']>[number];
812
867
  /**
813
868
  * Recursively build arrays up to maximum depth
814
869
  * or use a more broad type when maximum depth is switched "off"
815
870
  */
816
- 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 | ''}]`, [...Depth, 1]> : _BuildArrayTypes<`${T}[${SolidityFixedArrayRange | ''}]`, [...Depth, 1]>;
871
+ 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 | ''}]`, [
872
+ ...Depth,
873
+ 1
874
+ ]> : _BuildArrayTypes<`${T}[${SolidityFixedArrayRange | ''}]`, [...Depth, 1]>;
817
875
  type SolidityArrayWithoutTuple = _BuildArrayTypes<SolidityAddress | SolidityBool | SolidityBytes | SolidityFunction | SolidityInt | SolidityString>;
818
876
  type SolidityArrayWithTuple = _BuildArrayTypes<SolidityTuple>;
819
877
  type SolidityArray = SolidityArrayWithoutTuple | SolidityArrayWithTuple;
820
878
  type AbiType = SolidityArray | SolidityAddress | SolidityBool | SolidityBytes | SolidityFunction | SolidityInt | SolidityString | SolidityTuple;
821
- type ResolvedAbiType = ResolvedRegister['StrictAbiType'] extends true ? AbiType : string;
879
+ type ResolvedAbiType = ResolvedRegister['strictAbiType'] extends true ? AbiType : string;
822
880
  type AbiInternalType = ResolvedAbiType | `address ${string}` | `contract ${string}` | `enum ${string}` | `struct ${string}`;
823
881
  type AbiParameter = Pretty<{
824
882
  type: ResolvedAbiType;
@@ -831,9 +889,9 @@ type AbiParameter = Pretty<{
831
889
  type: SolidityTuple | SolidityArrayWithTuple;
832
890
  components: readonly AbiParameter[];
833
891
  })>;
834
- type AbiEventParameter = Pretty<AbiParameter & {
892
+ type AbiEventParameter = AbiParameter & {
835
893
  indexed?: boolean | undefined;
836
- }>;
894
+ };
837
895
  /**
838
896
  * State mutability for {@link AbiFunction}
839
897
  *
@@ -912,13 +970,13 @@ type Abi = readonly (AbiConstructor | AbiError | AbiEvent | AbiFallback | AbiFun
912
970
  * Infers embedded primitive type of any type
913
971
  *
914
972
  * @param T - Type to infer
915
- * @returns Embedded type of {@link TType}
973
+ * @returns Embedded type of {@link type}
916
974
  *
917
975
  * @example
918
976
  * type Result = Narrow<['foo', 'bar', 1]>
919
977
  */
920
- type Narrow<TType> = (unknown extends TType ? unknown : never) | (TType extends Function ? TType : never) | (TType extends bigint | boolean | number | string ? TType : never) | (TType extends [] ? [] : never) | {
921
- [K in keyof TType]: Narrow<TType[K]>;
978
+ type Narrow<type> = (unknown extends type ? unknown : never) | (type extends Function ? type : never) | (type extends bigint | boolean | number | string ? type : never) | (type extends [] ? [] : never) | {
979
+ [K in keyof type]: Narrow<type[K]>;
922
980
  };
923
981
 
924
982
  type ProgressIndicator = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rocketh",
3
- "version": "0.10.13",
3
+ "version": "0.10.15",
4
4
  "description": "deploy smart contract on ethereum-compatible networks",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,29 +23,29 @@
23
23
  "rocketh": "dist/cli.cjs"
24
24
  },
25
25
  "devDependencies": {
26
- "@types/node": "^20.12.7",
27
- "abitype": "^1.0.2",
26
+ "@types/node": "^20.14.8",
27
+ "abitype": "^1.0.4",
28
28
  "eip-1193": "^0.5.0",
29
29
  "ipfs-gateway-emulator": "4.2.1-ipfs.2",
30
- "pkgroll": "^2.0.2",
31
- "rimraf": "^5.0.5",
32
- "typedoc": "^0.25.13",
33
- "typescript": "^5.4.5"
30
+ "pkgroll": "^2.1.1",
31
+ "rimraf": "^5.0.7",
32
+ "typedoc": "^0.26.2",
33
+ "typescript": "^5.5.2"
34
34
  },
35
35
  "dependencies": {
36
36
  "@types/figlet": "^1.5.8",
37
37
  "@types/prompts": "^2.4.9",
38
- "commander": "^12.0.0",
39
- "eip-1193-jsonrpc-provider": "^0.3.0",
40
- "esbuild": "^0.20.2",
41
- "esbuild-register": "^3.5.0",
42
- "ethers": "^6.11.1",
38
+ "commander": "^12.1.0",
39
+ "eip-1193-jsonrpc-provider": "^0.4.0",
40
+ "esbuild": "^0.25.0",
41
+ "esbuild-register": "^3.6.0",
42
+ "ethers": "^6.13.1",
43
43
  "figlet": "^1.7.0",
44
44
  "ldenv": "^0.3.10",
45
45
  "named-logs": "^0.2.4",
46
46
  "named-logs-console": "^0.3.1",
47
47
  "prompts": "^2.4.2",
48
- "viem": "^2.9.16"
48
+ "viem": "^2.16.2"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "rimraf dist && pkgroll --sourcemap",