1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 09:57:02 +01:00

fix: minimise public api of tx controller (#20361)

This commit is contained in:
OGPoyraz 2023-08-03 13:42:44 +02:00 committed by GitHub
parent 8c46f85764
commit e351a6bbe2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 599 additions and 603 deletions

File diff suppressed because it is too large Load Diff

View File

@ -750,11 +750,11 @@ describe('Transaction Controller', function () {
providerResultStub.eth_estimateGas = '0x5209'; providerResultStub.eth_estimateGas = '0x5209';
signStub = sinon signStub = sinon
.stub(txController, 'signTransaction') .stub(txController, '_signTransaction')
.callsFake(() => Promise.resolve()); .callsFake(() => Promise.resolve());
const pubStub = sinon const pubStub = sinon
.stub(txController, 'publishTransaction') .stub(txController, '_publishTransaction')
.callsFake(() => { .callsFake(() => {
const txId = getLastTxMeta().id; const txId = getLastTxMeta().id;
txController.setTxHash(txId, originalValue); txController.setTxHash(txId, originalValue);
@ -1212,7 +1212,7 @@ describe('Transaction Controller', function () {
}); });
}); });
describe('#addTxGasDefaults', function () { describe('_addTxGasDefaults', function () {
it('should add the tx defaults if their are none', async function () { it('should add the tx defaults if their are none', async function () {
txController.txStateManager._addTransactionsToState([ txController.txStateManager._addTransactionsToState([
{ {
@ -1238,7 +1238,7 @@ describe('Transaction Controller', function () {
providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' }; providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' };
providerResultStub.eth_estimateGas = '5209'; providerResultStub.eth_estimateGas = '5209';
const txMetaWithDefaults = await txController.addTxGasDefaults(txMeta); const txMetaWithDefaults = await txController._addTxGasDefaults(txMeta);
assert.ok( assert.ok(
txMetaWithDefaults.txParams.gasPrice, txMetaWithDefaults.txParams.gasPrice,
'should have added the gas price', 'should have added the gas price',
@ -1254,7 +1254,7 @@ describe('Transaction Controller', function () {
const TEST_MAX_PRIORITY_FEE_PER_GAS = '0x77359400'; const TEST_MAX_PRIORITY_FEE_PER_GAS = '0x77359400';
const stub1 = sinon const stub1 = sinon
.stub(txController, 'getEIP1559Compatibility') .stub(txController, '_getEIP1559Compatibility')
.returns(true); .returns(true);
const stub2 = sinon const stub2 = sinon
@ -1287,7 +1287,7 @@ describe('Transaction Controller', function () {
providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' }; providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' };
providerResultStub.eth_estimateGas = '5209'; providerResultStub.eth_estimateGas = '5209';
const txMetaWithDefaults = await txController.addTxGasDefaults(txMeta); const txMetaWithDefaults = await txController._addTxGasDefaults(txMeta);
assert.equal( assert.equal(
txMetaWithDefaults.txParams.maxFeePerGas, txMetaWithDefaults.txParams.maxFeePerGas,
@ -1307,7 +1307,7 @@ describe('Transaction Controller', function () {
const TEST_GASPRICE = '0x12a05f200'; const TEST_GASPRICE = '0x12a05f200';
const stub1 = sinon const stub1 = sinon
.stub(txController, 'getEIP1559Compatibility') .stub(txController, '_getEIP1559Compatibility')
.returns(true); .returns(true);
const stub2 = sinon const stub2 = sinon
@ -1337,7 +1337,7 @@ describe('Transaction Controller', function () {
providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' }; providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' };
providerResultStub.eth_estimateGas = '5209'; providerResultStub.eth_estimateGas = '5209';
const txMetaWithDefaults = await txController.addTxGasDefaults(txMeta); const txMetaWithDefaults = await txController._addTxGasDefaults(txMeta);
assert.equal( assert.equal(
txMetaWithDefaults.txParams.maxFeePerGas, txMetaWithDefaults.txParams.maxFeePerGas,
@ -1357,7 +1357,7 @@ describe('Transaction Controller', function () {
const TEST_GASPRICE = '0x12a05f200'; const TEST_GASPRICE = '0x12a05f200';
const stub1 = sinon const stub1 = sinon
.stub(txController, 'getEIP1559Compatibility') .stub(txController, '_getEIP1559Compatibility')
.returns(true); .returns(true);
const stub2 = sinon const stub2 = sinon
@ -1389,7 +1389,7 @@ describe('Transaction Controller', function () {
providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' }; providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' };
providerResultStub.eth_estimateGas = '5209'; providerResultStub.eth_estimateGas = '5209';
const txMetaWithDefaults = await txController.addTxGasDefaults(txMeta); const txMetaWithDefaults = await txController._addTxGasDefaults(txMeta);
assert.equal( assert.equal(
txMetaWithDefaults.txParams.maxFeePerGas, txMetaWithDefaults.txParams.maxFeePerGas,
@ -1411,7 +1411,7 @@ describe('Transaction Controller', function () {
const TEST_MAX_PRIORITY_FEE_PER_GAS = '0x77359400'; const TEST_MAX_PRIORITY_FEE_PER_GAS = '0x77359400';
const stub1 = sinon const stub1 = sinon
.stub(txController, 'getEIP1559Compatibility') .stub(txController, '_getEIP1559Compatibility')
.returns(true); .returns(true);
const stub2 = sinon const stub2 = sinon
@ -1443,7 +1443,7 @@ describe('Transaction Controller', function () {
providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' }; providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' };
providerResultStub.eth_estimateGas = '5209'; providerResultStub.eth_estimateGas = '5209';
const txMetaWithDefaults = await txController.addTxGasDefaults(txMeta); const txMetaWithDefaults = await txController._addTxGasDefaults(txMeta);
assert.equal( assert.equal(
txMetaWithDefaults.txParams.maxFeePerGas, txMetaWithDefaults.txParams.maxFeePerGas,
@ -1547,27 +1547,27 @@ describe('Transaction Controller', function () {
}, },
noop, noop,
); );
const rawTx = await txController.signTransaction('1'); const rawTx = await txController._signTransaction('1');
const ethTx = TransactionFactory.fromSerializedData(toBuffer(rawTx)); const ethTx = TransactionFactory.fromSerializedData(toBuffer(rawTx));
assert.equal(Number(ethTx.common.chainId()), 5); assert.equal(Number(ethTx.common.chainId()), 5);
}); });
}); });
describe('#getChainId', function () { describe('_getChainId', function () {
it('returns the chain ID of the network when it is available', function () { it('returns the chain ID of the network when it is available', function () {
networkStatusStore.putState(NetworkStatus.Available); networkStatusStore.putState(NetworkStatus.Available);
assert.equal(txController.getChainId(), 5); assert.equal(txController._getChainId(), 5);
}); });
it('returns 0 when the network is not available', function () { it('returns 0 when the network is not available', function () {
networkStatusStore.putState('asdflsfadf'); networkStatusStore.putState('NOT_INTEGER');
assert.equal(txController.getChainId(), 0); assert.equal(txController._getChainId(), 0);
}); });
it('returns 0 when the chain ID cannot be parsed as a hex string', function () { it('returns 0 when the chain ID cannot be parsed as a hex string', function () {
networkStatusStore.putState(NetworkStatus.Available); networkStatusStore.putState(NetworkStatus.Available);
getCurrentChainId.returns('$fdsjfldf'); getCurrentChainId.returns('NOT_INTEGER');
assert.equal(txController.getChainId(), 0); assert.equal(txController._getChainId(), 0);
}); });
}); });
@ -1795,13 +1795,13 @@ describe('Transaction Controller', function () {
}, },
}, },
]); ]);
await txController.signTransaction('1'); await txController._signTransaction('1');
assert.equal(fromTxDataSpy.getCall(0).args[0].type, '0x0'); assert.equal(fromTxDataSpy.getCall(0).args[0].type, '0x0');
}); });
it('sets txParams.type to 0x2 (EIP-1559)', async function () { it('sets txParams.type to 0x2 (EIP-1559)', async function () {
const eip1559CompatibilityStub = sinon const eip1559CompatibilityStub = sinon
.stub(txController, 'getEIP1559Compatibility') .stub(txController, '_getEIP1559Compatibility')
.returns(true); .returns(true);
txController.txStateManager._addTransactionsToState([ txController.txStateManager._addTransactionsToState([
{ {
@ -1819,13 +1819,13 @@ describe('Transaction Controller', function () {
}, },
}, },
]); ]);
await txController.signTransaction('2'); await txController._signTransaction('2');
assert.equal(fromTxDataSpy.getCall(0).args[0].type, '0x2'); assert.equal(fromTxDataSpy.getCall(0).args[0].type, '0x2');
eip1559CompatibilityStub.restore(); eip1559CompatibilityStub.restore();
}); });
}); });
describe('#publishTransaction', function () { describe('_publishTransaction', function () {
let hash, txMeta, trackTransactionMetricsEventSpy; let hash, txMeta, trackTransactionMetricsEventSpy;
beforeEach(function () { beforeEach(function () {
@ -1856,7 +1856,7 @@ describe('Transaction Controller', function () {
const rawTx = const rawTx =
'0x477b2e6553c917af0db0388ae3da62965ff1a184558f61b749d1266b2e6d024c'; '0x477b2e6553c917af0db0388ae3da62965ff1a184558f61b749d1266b2e6d024c';
txController.txStateManager.addTransaction(txMeta); txController.txStateManager.addTransaction(txMeta);
await txController.publishTransaction(txMeta.id, rawTx); await txController._publishTransaction(txMeta.id, rawTx);
const publishedTx = txController.txStateManager.getTransaction(1); const publishedTx = txController.txStateManager.getTransaction(1);
assert.equal(publishedTx.hash, hash); assert.equal(publishedTx.hash, hash);
assert.equal(publishedTx.status, TransactionStatus.submitted); assert.equal(publishedTx.status, TransactionStatus.submitted);
@ -1869,7 +1869,7 @@ describe('Transaction Controller', function () {
const rawTx = const rawTx =
'0xf86204831e848082520894f231d46dd78806e1dd93442cf33c7671f853874880802ca05f973e540f2d3c2f06d3725a626b75247593cb36477187ae07ecfe0a4db3cf57a00259b52ee8c58baaa385fb05c3f96116e58de89bcc165cb3bfdfc708672fed8a'; '0xf86204831e848082520894f231d46dd78806e1dd93442cf33c7671f853874880802ca05f973e540f2d3c2f06d3725a626b75247593cb36477187ae07ecfe0a4db3cf57a00259b52ee8c58baaa385fb05c3f96116e58de89bcc165cb3bfdfc708672fed8a';
txController.txStateManager.addTransaction(txMeta); txController.txStateManager.addTransaction(txMeta);
await txController.publishTransaction(txMeta.id, rawTx); await txController._publishTransaction(txMeta.id, rawTx);
const publishedTx = txController.txStateManager.getTransaction(1); const publishedTx = txController.txStateManager.getTransaction(1);
assert.equal( assert.equal(
publishedTx.hash, publishedTx.hash,
@ -1882,7 +1882,7 @@ describe('Transaction Controller', function () {
const rawTx = const rawTx =
'0x477b2e6553c917af0db0388ae3da62965ff1a184558f61b749d1266b2e6d024c'; '0x477b2e6553c917af0db0388ae3da62965ff1a184558f61b749d1266b2e6d024c';
txController.txStateManager.addTransaction(txMeta); txController.txStateManager.addTransaction(txMeta);
await txController.publishTransaction(txMeta.id, rawTx); await txController._publishTransaction(txMeta.id, rawTx);
assert.equal(trackTransactionMetricsEventSpy.callCount, 1); assert.equal(trackTransactionMetricsEventSpy.callCount, 1);
assert.deepEqual( assert.deepEqual(
trackTransactionMetricsEventSpy.getCall(0).args[0], trackTransactionMetricsEventSpy.getCall(0).args[0],