1
1
import { ETransactionVersion } from './types/api' ;
2
+ import { ValuesType } from './types/helpers/valuesType' ;
2
3
3
4
export { IS_BROWSER } from './utils/encode' ;
4
5
@@ -24,43 +25,56 @@ export const MAX_STORAGE_ITEM_SIZE = 256n;
24
25
export const ADDR_BOUND = 2n ** 251n - MAX_STORAGE_ITEM_SIZE ;
25
26
26
27
const range = ( min : bigint , max : bigint ) => ( { min, max } ) as const ;
28
+
27
29
export const RANGE_FELT = range ( ZERO , PRIME - 1n ) ;
28
30
export const RANGE_I128 = range ( - ( 2n ** 127n ) , 2n ** 127n - 1n ) ;
29
31
export const RANGE_U128 = range ( ZERO , 2n ** 128n - 1n ) ;
30
32
31
- export enum BaseUrl {
32
- SN_MAIN = 'https://alpha-mainnet.starknet.io' ,
33
- SN_SEPOLIA = 'https://alpha-sepolia.starknet.io' ,
34
- }
35
-
36
- export enum NetworkName {
37
- SN_MAIN = 'SN_MAIN' ,
38
- SN_SEPOLIA = 'SN_SEPOLIA' ,
39
- }
40
-
41
- export enum StarknetChainId {
42
- SN_MAIN = '0x534e5f4d41494e' , // encodeShortString('SN_MAIN'),
43
- SN_SEPOLIA = '0x534e5f5345504f4c4941' , // encodeShortString('SN_SEPOLIA')
44
- }
45
-
46
- export enum TransactionHashPrefix {
47
- DECLARE = '0x6465636c617265' , // encodeShortString('declare'),
48
- DEPLOY = '0x6465706c6f79' , // encodeShortString('deploy'),
49
- DEPLOY_ACCOUNT = '0x6465706c6f795f6163636f756e74' , // encodeShortString('deploy_account'),
50
- INVOKE = '0x696e766f6b65' , // encodeShortString('invoke'),
51
- L1_HANDLER = '0x6c315f68616e646c6572' , // encodeShortString('l1_handler'),
52
- }
53
-
54
- export const enum feeMarginPercentage {
55
- L1_BOUND_MAX_AMOUNT = 50 ,
56
- L1_BOUND_MAX_PRICE_PER_UNIT = 50 ,
57
- MAX_FEE = 50 ,
58
- }
33
+ export const BaseUrl = {
34
+ SN_MAIN : 'https://alpha-mainnet.starknet.io' ,
35
+ SN_SEPOLIA : 'https://alpha-sepolia.starknet.io' ,
36
+ } as const ;
37
+
38
+ export type BaseUrl = ValuesType < typeof BaseUrl > ;
39
+
40
+ export const NetworkName = {
41
+ SN_MAIN : 'SN_MAIN' ,
42
+ SN_SEPOLIA : 'SN_SEPOLIA' ,
43
+ } as const ;
44
+
45
+ export type NetworkName = ValuesType < typeof NetworkName > ;
46
+
47
+ export const StarknetChainId = {
48
+ SN_MAIN : '0x534e5f4d41494e' , // encodeShortString('SN_MAIN'),
49
+ SN_SEPOLIA : '0x534e5f5345504f4c4941' , // encodeShortString('SN_SEPOLIA')
50
+ } as const ;
51
+
52
+ export type StarknetChainId = ValuesType < typeof StarknetChainId > ;
53
+
54
+ export const TransactionHashPrefix = {
55
+ DECLARE : '0x6465636c617265' , // encodeShortString('declare'),
56
+ DEPLOY : '0x6465706c6f79' , // encodeShortString('deploy'),
57
+ DEPLOY_ACCOUNT : '0x6465706c6f795f6163636f756e74' , // encodeShortString('deploy_account'),
58
+ INVOKE : '0x696e766f6b65' , // encodeShortString('invoke'),
59
+ L1_HANDLER : '0x6c315f68616e646c6572' , // encodeShortString('l1_handler'),
60
+ } as const ;
61
+
62
+ export type TransactionHashPrefix = ValuesType < typeof TransactionHashPrefix > ;
63
+
64
+ export const FeeMarginPercentage = {
65
+ L1_BOUND_MAX_AMOUNT : 50 ,
66
+ L1_BOUND_MAX_PRICE_PER_UNIT : 50 ,
67
+ MAX_FEE : 50 ,
68
+ } as const ;
69
+
70
+ export type FeeMarginPercentage = ValuesType < typeof FeeMarginPercentage > ;
59
71
60
72
export const UDC = {
61
73
ADDRESS : '0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf' ,
62
74
ENTRYPOINT : 'deployContract' ,
63
- } ;
75
+ } as const ;
76
+
77
+ export type UDC = ValuesType < typeof UDC > ;
64
78
65
79
export const RPC_DEFAULT_VERSION = 'v0_7' ;
66
80
@@ -73,4 +87,4 @@ export const RPC_NODES = {
73
87
`https://starknet-sepolia.public.blastapi.io/rpc/${ RPC_DEFAULT_VERSION } ` ,
74
88
`https://free-rpc.nethermind.io/sepolia-juno/${ RPC_DEFAULT_VERSION } ` ,
75
89
] ,
76
- } ;
90
+ } as const ;
0 commit comments