@@ -10,42 +10,31 @@ import BigInt
1010
1111public typealias NoncePolicy = BlockNumber
1212
13- public enum GasLimitPolicy {
14- case automatic
15- case manual( BigUInt )
16- case limited( BigUInt )
17- case withMargin( Double )
18- }
19-
20- public enum GasPricePolicy {
21- case automatic
22- case manual( BigUInt )
23- case withMargin( Double )
24- }
25-
26- public enum FeePerGasPolicy {
27- case automatic
28- case manual( BigUInt )
29- }
30-
31- public enum PriorityFeePerGasPolicy {
13+ /// Policies for resolving values like:
14+ /// - gas required for transaction execution
15+ /// - gas price
16+ /// - maximum fee per gas
17+ /// - maximum priority fee per gas
18+ public enum ValueResolutionPolicy {
19+ /// What ever value will be resolved is the one to be applied
3220 case automatic
21+ /// Specific value to be applied
3322 case manual( BigUInt )
3423}
3524
3625public struct Policies {
3726 public let noncePolicy : NoncePolicy
38- public let gasLimitPolicy : GasLimitPolicy
39- public let gasPricePolicy : GasPricePolicy
40- public let maxFeePerGasPolicy : FeePerGasPolicy
41- public let maxPriorityFeePerGasPolicy : PriorityFeePerGasPolicy
27+ public let gasLimitPolicy : ValueResolutionPolicy
28+ public let gasPricePolicy : ValueResolutionPolicy
29+ public let maxFeePerGasPolicy : ValueResolutionPolicy
30+ public let maxPriorityFeePerGasPolicy : ValueResolutionPolicy
4231
4332 public init (
4433 noncePolicy: NoncePolicy = . latest,
45- gasLimitPolicy: GasLimitPolicy = . automatic,
46- gasPricePolicy: GasPricePolicy = . automatic,
47- maxFeePerGasPolicy: FeePerGasPolicy = . automatic,
48- maxPriorityFeePerGasPolicy: PriorityFeePerGasPolicy = . automatic) {
34+ gasLimitPolicy: ValueResolutionPolicy = . automatic,
35+ gasPricePolicy: ValueResolutionPolicy = . automatic,
36+ maxFeePerGasPolicy: ValueResolutionPolicy = . automatic,
37+ maxPriorityFeePerGasPolicy: ValueResolutionPolicy = . automatic) {
4938 self . noncePolicy = noncePolicy
5039 self . gasLimitPolicy = gasLimitPolicy
5140 self . gasPricePolicy = gasPricePolicy
0 commit comments