FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

74
node_modules/viem/_esm/linea/actions/estimateGas.js generated vendored Normal file
View File

@@ -0,0 +1,74 @@
import { parseAccount } from '../../accounts/utils/parseAccount.js';
import { AccountNotFoundError } from '../../errors/account.js';
import { numberToHex } from '../../utils/encoding/toHex.js';
import { getCallError } from '../../utils/errors/getCallError.js';
import { extract } from '../../utils/formatters/extract.js';
import { formatTransactionRequest } from '../../utils/formatters/transactionRequest.js';
import { assertRequest, } from '../../utils/transaction/assertRequest.js';
/**
* Estimates the gas and fees per gas necessary to complete a transaction without submitting it to the network.
*
* @param client - Client to use
* @param parameters - {@link EstimateGasParameters}
* @returns A gas estimate and fees per gas (in wei). {@link EstimateGasReturnType}
*
* @example
* import { createPublicClient, http, parseEther } from 'viem'
* import { linea } from 'viem/chains'
* import { estimateGas } from 'viem/linea'
*
* const client = createPublicClient({
* chain: linea,
* transport: http(),
* })
* const gasEstimate = await estimateGas(client, {
* account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
* to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
* value: 0n,
* })
*/
export async function estimateGas(client, args) {
const { account: account_ = client.account } = args;
if (!account_)
throw new AccountNotFoundError();
const account = parseAccount(account_);
try {
const { accessList, blockNumber, blockTag, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;
const blockNumberHex = typeof blockNumber === 'bigint' ? numberToHex(blockNumber) : undefined;
const block = blockNumberHex || blockTag;
assertRequest(args);
const chainFormat = client.chain?.formatters?.transactionRequest?.format;
const format = chainFormat || formatTransactionRequest;
const request = format({
// Pick out extra data that might exist on the chain's transaction request type.
...extract(rest, { format: chainFormat }),
account,
accessList,
data,
gas,
gasPrice,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
to,
value,
}, 'estimateGas');
const { baseFeePerGas, gasLimit, priorityFeePerGas } = await client.request({
method: 'linea_estimateGas',
params: block ? [request, block] : [request],
});
return {
baseFeePerGas: BigInt(baseFeePerGas),
gasLimit: BigInt(gasLimit),
priorityFeePerGas: BigInt(priorityFeePerGas),
};
}
catch (err) {
throw getCallError(err, {
...args,
account,
chain: client.chain,
});
}
}
//# sourceMappingURL=estimateGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateGas.js","sourceRoot":"","sources":["../../../linea/actions/estimateGas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAInE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAM9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AACvF,OAAO,EAEL,aAAa,GACd,MAAM,0CAA0C,CAAA;AAcjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAAyC,EACzC,IAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAA;IAEnD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI,CAAC;QACH,MAAM,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,EAAE,EACF,KAAK,EACL,GAAG,IAAI,EACR,GAAG,IAAI,CAAA;QAER,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAA;QAExC,aAAa,CAAC,IAA+B,CAAC,CAAA;QAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAA;QACxE,MAAM,MAAM,GAAG,WAAW,IAAI,wBAAwB,CAAA;QAEtD,MAAM,OAAO,GAAG,MAAM,CACpB;YACE,gFAAgF;YAChF,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACzC,OAAO;YACP,UAAU;YACV,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,YAAY;YACZ,oBAAoB;YACpB,KAAK;YACL,EAAE;YACF,KAAK;SACgB,EACvB,aAAa,CACd,CAAA;QAMD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAClD,MAAM,MAAM,CAAC,OAAO,CAAyB;YAC3C,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAA;QACJ,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;SAC7C,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,CAAC,GAAgB,EAAE;YACnC,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

46
node_modules/viem/_esm/linea/chainConfig.js generated vendored Normal file
View File

@@ -0,0 +1,46 @@
import { estimateGas } from './actions/estimateGas.js';
export const chainConfig = {
fees: {
estimateFeesPerGas,
async maxPriorityFeePerGas({ block, client, request }) {
const response = await estimateFeesPerGas({
block,
client,
multiply: (x) => x,
request,
type: 'eip1559',
});
// Returning `null` will trigger the base `estimateMaxPriorityFeePerGas` to perform
// fallback mechanisms to estimate priority fee.
if (!response?.maxPriorityFeePerGas)
return null;
return response.maxPriorityFeePerGas;
},
},
};
///////////////////////////////////////////////////////////////////////////
// Internal
///////////////////////////////////////////////////////////////////////////
async function estimateFeesPerGas({ client, multiply, request, type, }) {
try {
const response = await estimateGas(client, {
...request,
account: request?.account,
});
const { priorityFeePerGas: maxPriorityFeePerGas } = response;
const baseFeePerGas = multiply(BigInt(response.baseFeePerGas));
const maxFeePerGas = baseFeePerGas + maxPriorityFeePerGas;
if (type === 'legacy')
return { gasPrice: maxFeePerGas };
return {
maxFeePerGas,
maxPriorityFeePerGas,
};
}
catch {
// Returning `null` will trigger the base `estimateFeesPerGas` to perform
// fallback mechanisms to estimate fees.
return null;
}
}
//# sourceMappingURL=chainConfig.js.map

1
node_modules/viem/_esm/linea/chainConfig.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../linea/chainConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE;QACJ,kBAAkB;QAClB,KAAK,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;YACnD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;gBACxC,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClB,OAAO;gBACP,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;YACF,mFAAmF;YACnF,gDAAgD;YAChD,IAAI,CAAC,QAAQ,EAAE,oBAAoB;gBAAE,OAAO,IAAI,CAAA;YAChD,OAAO,QAAQ,CAAC,oBAAoB,CAAA;QACtC,CAAC;KACF;CAC6B,CAAA;AAEhC,2EAA2E;AAC3E,WAAW;AACX,2EAA2E;AAE3E,KAAK,UAAU,kBAAkB,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,GACqC;IACzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YACzC,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,OAAQ;SAC3B,CAAC,CAAA;QACF,MAAM,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAA;QAE5D,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG,aAAa,GAAG,oBAAoB,CAAA;QAEzD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;QACxD,OAAO;YACL,YAAY;YACZ,oBAAoB;SACrB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,wCAAwC;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}

4
node_modules/viem/_esm/linea/chains.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
// biome-ignore lint/performance/noBarrelFile: entrypoint module
export { linea } from '../chains/definitions/linea.js';
export { lineaSepolia } from '../chains/definitions/lineaSepolia.js';
//# sourceMappingURL=chains.js.map

1
node_modules/viem/_esm/linea/chains.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../linea/chains.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA"}

4
node_modules/viem/_esm/linea/index.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
// biome-ignore lint/performance/noBarrelFile: entrypoint module
export { estimateGas, } from './actions/estimateGas.js';
export { linea, lineaSepolia } from './chains.js';
//# sourceMappingURL=index.js.map

1
node_modules/viem/_esm/linea/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../linea/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAGL,WAAW,GACZ,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}

2
node_modules/viem/_esm/linea/types/rpc.js generated vendored Normal file
View File

@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=rpc.js.map

1
node_modules/viem/_esm/linea/types/rpc.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../linea/types/rpc.ts"],"names":[],"mappings":""}