@sidhujag/sysweb3-keyring 2.1.4 → 2.1.6

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/cjs/evm-fees.js +73 -0
  3. package/cjs/evm-fees.js.map +1 -1
  4. package/cjs/software.js.map +1 -1
  5. package/cjs/transactions/ethereum.js +220 -160
  6. package/cjs/transactions/ethereum.js.map +1 -1
  7. package/cjs/transactions/evm-cancellation.js +51 -0
  8. package/cjs/transactions/evm-cancellation.js.map +1 -1
  9. package/cjs/transactions/evm-local-signer.js +1 -1
  10. package/cjs/transactions/evm-local-signer.js.map +1 -1
  11. package/cjs/transactions/evm-submission.js +78 -8
  12. package/cjs/transactions/evm-submission.js.map +1 -1
  13. package/cjs/transactions/syscoin-core.js +155 -10
  14. package/cjs/transactions/syscoin-core.js.map +1 -1
  15. package/cjs/types.js.map +1 -1
  16. package/cjs/utils/excluded-utxos.js +6 -2
  17. package/cjs/utils/excluded-utxos.js.map +1 -1
  18. package/esm/evm-fees.js +72 -0
  19. package/esm/evm-fees.js.map +1 -1
  20. package/esm/transactions/ethereum.js +222 -162
  21. package/esm/transactions/ethereum.js.map +1 -1
  22. package/esm/transactions/evm-cancellation.js +50 -0
  23. package/esm/transactions/evm-cancellation.js.map +1 -1
  24. package/esm/transactions/evm-local-signer.js +1 -1
  25. package/esm/transactions/evm-local-signer.js.map +1 -1
  26. package/esm/transactions/evm-submission.js +78 -8
  27. package/esm/transactions/evm-submission.js.map +1 -1
  28. package/esm/transactions/syscoin-core.js +156 -11
  29. package/esm/transactions/syscoin-core.js.map +1 -1
  30. package/esm/types.js.map +1 -1
  31. package/esm/utils/excluded-utxos.js +6 -2
  32. package/esm/utils/excluded-utxos.js.map +1 -1
  33. package/package.json +3 -3
  34. package/types/evm-fees.d.ts +31 -0
  35. package/types/software.d.ts +1 -1
  36. package/types/transactions/ethereum.d.ts +9 -3
  37. package/types/transactions/evm-cancellation.d.ts +3 -0
  38. package/types/transactions/evm-local-signer.d.ts +1 -1
  39. package/types/transactions/evm-submission.d.ts +14 -2
  40. package/types/transactions/syscoin-core.d.ts +3 -1
  41. package/types/types.d.ts +49 -1
  42. package/types/utils/excluded-utxos.d.ts +1 -1
package/esm/evm-fees.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /** Standard EVM fee discovery shared by extension and restricted native hosts. */
2
2
  import { getEvmProtocolLimits } from '@sidhujag/sysweb3-network/cjs/evm.js';
3
3
  const MAX_FEE = (1n << 256n) - 1n;
4
+ const MAX_REPLACEMENT_GAS = (1n << 64n) - 1n;
4
5
  /** A validated limit failed its wire bounds or an activated protocol bound. */
5
6
  export class EvmGasLimitError extends Error {
6
7
  constructor(code) {
@@ -93,6 +94,77 @@ export function planEvmCancellationFees(input) {
93
94
  maximumFee: gasLimit * maxFeePerGas,
94
95
  });
95
96
  }
97
+ function speedUpRate(rate, preserveZero = true) {
98
+ if (typeof rate !== 'bigint' || rate < 0n || rate > MAX_FEE)
99
+ throw new Error('Invalid replacement fee');
100
+ if (rate === 0n && preserveZero)
101
+ return 0n;
102
+ const buffered = (rate * 120n) / 100n;
103
+ const bumped = buffered > rate ? buffered : rate + 1n;
104
+ if (bumped > MAX_FEE)
105
+ throw new Error('Invalid replacement fee');
106
+ return bumped;
107
+ }
108
+ /** Fee-only Speed Up policy. Hosts authenticate the original, own any zero-fee
109
+ * fallback read, and supply the current sampled block limit and base fee. Type 0
110
+ * describes legacy fee fields, including those of an admitted type 1 envelope.
111
+ */
112
+ export function planEvmSpeedUpFees(input) {
113
+ const originalGasLimit = input.gasLimit;
114
+ if (typeof originalGasLimit !== 'bigint' ||
115
+ originalGasLimit <= 0n ||
116
+ originalGasLimit > MAX_REPLACEMENT_GAS)
117
+ throw new Error('Invalid replacement gas limit');
118
+ const retained = input.retainedCancellationGasLimit;
119
+ if (retained !== undefined && retained !== originalGasLimit)
120
+ throw new Error('Retained cancellation gas limit does not match original');
121
+ const gasLimit = retained ?? bufferedEvmGasLimit(originalGasLimit);
122
+ if (gasLimit > MAX_REPLACEMENT_GAS)
123
+ throw new Error('Invalid replacement gas limit');
124
+ // Bounds are mandatory even on chains without a protocol-specific ceiling.
125
+ if (input.sampledBlockGasLimit === undefined)
126
+ throw new Error('Replacement block gas limit required');
127
+ assertEvmGasLimit(gasLimit, input.chainId, input.sampledBlockGasLimit);
128
+ const baseFee = input.sampledBaseFeePerGas === null ? 0n : input.sampledBaseFeePerGas;
129
+ if (typeof baseFee !== 'bigint' || baseFee < 0n || baseFee > MAX_FEE)
130
+ throw new Error('Invalid replacement base fee');
131
+ const maximum = (rate) => {
132
+ const fee = gasLimit * rate;
133
+ if (fee > MAX_FEE)
134
+ throw new Error('Invalid replacement maximum fee');
135
+ return fee;
136
+ };
137
+ if (input.type === 0) {
138
+ const bumped = speedUpRate(input.gasPrice);
139
+ const gasPrice = bumped > baseFee ? bumped : baseFee;
140
+ return Object.freeze({
141
+ type: 0,
142
+ gasLimit,
143
+ gasPrice,
144
+ maximumFee: maximum(gasPrice),
145
+ });
146
+ }
147
+ if (input.type !== 2)
148
+ throw new Error('Invalid replacement fee type');
149
+ const bumped = speedUpRate(input.maxFeePerGas);
150
+ if (input.maxPriorityFeePerGas > input.maxFeePerGas)
151
+ throw new Error('Invalid replacement fee');
152
+ // A paid replacement must strictly increase both rates. Keep a wholly free
153
+ // quote free so the host's zero-fee policy and approved ceiling still apply.
154
+ const maxPriorityFeePerGas = speedUpRate(input.maxPriorityFeePerGas, bumped === 0n && baseFee === 0n);
155
+ // A valid cap may clip the effective tip. Preserve the reviewed replacement
156
+ // policy unless the cap would be below the sampled base fee.
157
+ const maxFeePerGas = bumped < baseFee ? baseFee + maxPriorityFeePerGas : bumped;
158
+ if (maxPriorityFeePerGas > maxFeePerGas)
159
+ throw new Error('Invalid replacement fee');
160
+ return Object.freeze({
161
+ type: 2,
162
+ gasLimit,
163
+ maxFeePerGas,
164
+ maxPriorityFeePerGas,
165
+ maximumFee: maximum(maxFeePerGas),
166
+ });
167
+ }
96
168
  function unsupportedPriorityMethod(error) {
97
169
  const unsupportedCode = (code) => code === -32601 || code === 4200;
98
170
  if (unsupportedCode(error?.code))
@@ -1 +1 @@
1
- {"version":3,"file":"evm-fees.js","sourceRoot":"","sources":["../../src/evm-fees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-fees.js","sourceRoot":"","sources":["../../src/evm-fees.ts"],"names":[],"mappings":"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"}