Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
pedronfigueiredo committed Feb 20, 2024
1 parent d904b60 commit 12f73a6
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 45 deletions.
6 changes: 2 additions & 4 deletions app/scripts/controllers/ens/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,16 @@ export default class EnsController {
});
}

delayedInit = () => {
delayedInit = (passedProvider) => {
if (!this._ens) {
const chainId = this.getCurrentChainId();
if (Ens.getChainEnsSupport(chainId)) {
this._ens = new Ens({
chainId,
provider,
provider: passedProvider,
});
}
}

console.log("delayed init")
}

reverseResolveAddress(address) {
Expand Down
6 changes: 4 additions & 2 deletions app/scripts/controllers/swaps.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,10 @@ export default class SwapsController {
this._ethersProviderChainId = this._getCurrentChainId();
}

delayedInit() {
this.ethersProvider = new Web3Provider(provider);
delayedInit(passedProvider) {
this.provider = passedProvider;

this.ethersProvider = new Web3Provider(passedProvider);
}

async fetchSwapsNetworkConfig(chainId) {
Expand Down
15 changes: 11 additions & 4 deletions app/scripts/lib/account-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -158,15 +158,22 @@ export default class AccountTracker {
};
}

delayedInit(blockTracker) {
console.log({blockTracker})
delayedInit(passedBlockTracker) {
this.#blockTracker = passedBlockTracker;

// blockTracker.currentBlock may be null
this.#currentBlockNumberByChainId = {
[this.getCurrentChainId()]: this.#blockTracker.getCurrentBlock(),
[this.getCurrentChainId()]: passedBlockTracker.getCurrentBlock(),
};
this.#blockTracker.once('latest', (blockNumber) => {
// this.#currentBlockNumberByChainId = {
// [this.getCurrentChainId()]: passedBlockTracker?.getCurrentBlock(),
// };
passedBlockTracker.once('latest', (blockNumber) => {
this.#currentBlockNumberByChainId[this.getCurrentChainId()] = blockNumber;
});
// passedBlockTracker?.once('latest', (blockNumber) => {
// this.#currentBlockNumberByChainId[this.getCurrentChainId()] = blockNumber;
// });
}

/**
Expand Down
50 changes: 20 additions & 30 deletions app/scripts/metamask-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,6 @@ export default class MetamaskController extends EventEmitter {
this.metaMetricsController.trackEvent(...args),
});


networkControllerMessenger.subscribe(
'NetworkController:networkDidChange',
() => this.updateDeprecatedNetworkId(),
Expand Down Expand Up @@ -1433,6 +1432,7 @@ export default class MetamaskController extends EventEmitter {
this.txController = new TransactionController(
{
blockTracker: this.blockTracker,
provider: this.provider,
cancelMultiplier: 1.1,
getCurrentNetworkEIP1559Compatibility:
this.networkController.getEIP1559Compatibility.bind(
Expand Down Expand Up @@ -1468,15 +1468,24 @@ export default class MetamaskController extends EventEmitter {
},
messenger: this.controllerMessenger.getRestricted({
name: 'TransactionController',
allowedActions: [`${this.approvalController.name}:addRequest`],
allowedActions: [
`${this.approvalController.name}:addRequest`,
'NetworkController:getNetworkClientById',
'NetworkController:findNetworkClientIdByChainId',
],
allowedEvents: [`NetworkController:stateChange`],
}),
onNetworkStateChange: (listener) => {
networkControllerMessenger.subscribe(
'NetworkController:networkDidChange',
() => listener(),
);
},
provider: this.provider,
isMultichainEnabled: process.env.TRANSACTION_MULTICHAIN,
getNetworkClientRegistry:
this.networkController.getNetworkClientRegistry.bind(
this.networkController,
),
hooks: {
///: BEGIN:ONLY_INCLUDE_IF(build-mmi)
afterSign: (txMeta, signedEthTx) =>
Expand Down Expand Up @@ -2224,33 +2233,13 @@ export default class MetamaskController extends EventEmitter {
this.deprecatedNetworkId = null;
this.updateDeprecatedNetworkId();

console.log("networkProviderInitialization")
console.log({ blockTracker: this.blockTracker });
console.log({ provider: this.provider });

// Initialize each of the controllers code that relies on network
// controllers and providers
this.ensController.delayedInit();

function checkCondition(p) {
console.log({ p })

return true
const isUninitialized = Object.keys(p).length !== 1;
console.log({keys: Object.keys(p)})
return isUninitialized;
}

let pollingInterval = setInterval(() => {
if (checkCondition(this.networkController.getProviderAndBlockTracker())) {
clearInterval(pollingInterval);
this.accountTracker.delayedInit(this.networkController.getProviderAndBlockTracker().blockTracker);
}
}, 5000);

// this.txController.delayedInit();
// this.swapsController.delayedInit();
// this.smartTransactionsController.delayedInit()
// Initialize each of the controllers code that relies on network provider
// and blockTracker
this.ensController.delayedInit(this.provider);
this.accountTracker.delayedInit(this.blockTracker);
this.txController.delayedInit(this.provider, this.blockTracker);
this.swapsController.delayedInit(this.provider);
this.smartTransactionsController.delayedInit(this.provider);
}

/**
Expand Down Expand Up @@ -4660,6 +4649,7 @@ export default class MetamaskController extends EventEmitter {
* @param {tabId} [options.tabId] - The tab ID of the sender - if the sender is within a tab
*/
setupProviderEngine({ origin, subjectType, sender, tabId }) {
//bookmark
// setup json rpc engine stack
const engine = new JsonRpcEngine();

Expand Down
1 change: 1 addition & 0 deletions builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,7 @@ env:
- BLOCKAID_PUBLIC_KEY
# Determines if feature flagged Multichain UI should be used
- MULTICHAIN: ''
- TRANSACTION_MULTICHAIN: ''

###
# Meta variables
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@
"resolutions": {
"@metamask/transaction-controller@^21.1.0": "file:../core/packages/transaction-controller",
"@metamask/smart-transactions-controller@^6.2.2": "file:../smart-transactions-controller",
"@metamask/network-controller@^17.2.0": "file:../core/packages/network-controller",
"simple-update-notifier@^1.0.0": "^2.0.0",
"@babel/core": "patch:@babel/core@npm%3A7.23.2#~/.yarn/patches/@babel-core-npm-7.23.2-b93f586907.patch",
"@babel/runtime": "patch:@babel/runtime@npm%3A7.23.2#~/.yarn/patches/@babel-runtime-npm-7.23.2-d013d6cf7e.patch",
Expand Down
32 changes: 27 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4509,7 +4509,29 @@ __metadata:
languageName: node
linkType: hard

"@metamask/network-controller@npm:^17.0.0, @metamask/network-controller@npm:^17.1.0, @metamask/network-controller@npm:^17.2.0":
"@metamask/network-controller@file:../core/packages/network-controller::locator=metamask-crx%40workspace%3A.":
version: 17.2.0
resolution: "@metamask/network-controller@file:../core/packages/network-controller#../core/packages/network-controller::hash=5bd8a0&locator=metamask-crx%40workspace%3A."
dependencies:
"@metamask/base-controller": "npm:^4.1.1"
"@metamask/controller-utils": "npm:^8.0.3"
"@metamask/eth-json-rpc-infura": "npm:^9.0.0"
"@metamask/eth-json-rpc-middleware": "npm:^12.1.0"
"@metamask/eth-json-rpc-provider": "npm:^2.3.2"
"@metamask/eth-query": "npm:^4.0.0"
"@metamask/json-rpc-engine": "npm:^7.3.2"
"@metamask/rpc-errors": "npm:^6.1.0"
"@metamask/swappable-obj-proxy": "npm:^2.2.0"
"@metamask/utils": "npm:^8.3.0"
async-mutex: "npm:^0.2.6"
eth-block-tracker: "npm:^8.0.0"
immer: "npm:^9.0.6"
uuid: "npm:^8.3.2"
checksum: 4a7a93e2ea910e615b2f562846b7f55fd98e460cfb479c8f40a53d2ce20aa5b7221319d983c10b64c0a68483c8fb266c7b854a63cafa4e2d344aa0b6e2f18a49
languageName: node
linkType: hard

"@metamask/network-controller@npm:^17.0.0, @metamask/network-controller@npm:^17.1.0":
version: 17.2.0
resolution: "@metamask/network-controller@npm:17.2.0"
dependencies:
Expand Down Expand Up @@ -4851,7 +4873,7 @@ __metadata:

"@metamask/smart-transactions-controller@file:../smart-transactions-controller::locator=metamask-crx%40workspace%3A.":
version: 6.2.2
resolution: "@metamask/smart-transactions-controller@file:../smart-transactions-controller#../smart-transactions-controller::hash=f21ad3&locator=metamask-crx%40workspace%3A."
resolution: "@metamask/smart-transactions-controller@file:../smart-transactions-controller#../smart-transactions-controller::hash=88f374&locator=metamask-crx%40workspace%3A."
dependencies:
"@ethersproject/bytes": "npm:^5.7.0"
"@metamask/base-controller": "npm:^4.0.0"
Expand All @@ -4863,7 +4885,7 @@ __metadata:
events: "npm:^3.3.0"
fast-json-patch: "npm:^3.1.0"
lodash: "npm:^4.17.21"
checksum: 20fcedf2e8ba44396f6564960fe6d75f368caefa4e9509b0904eee0ba9e1dbc4c58e5f99ea0882ada1e87e0cfe9723159c2e64979254e3489eb3ee40d23acdc8
checksum: 734d0a1930f22cbf942e70ef2e59f2a8f9cf3e409c6aaa4d11304de3132a7bbc4019af4781679b411be4740b2d27db81dcfd722c88b908ae1543cae2445ad886
languageName: node
linkType: hard

Expand Down Expand Up @@ -5043,7 +5065,7 @@ __metadata:

"@metamask/transaction-controller@file:../core/packages/transaction-controller::locator=metamask-crx%40workspace%3A.":
version: 23.0.0
resolution: "@metamask/transaction-controller@file:../core/packages/transaction-controller#../core/packages/transaction-controller::hash=d7b695&locator=metamask-crx%40workspace%3A."
resolution: "@metamask/transaction-controller@file:../core/packages/transaction-controller#../core/packages/transaction-controller::hash=91bd6d&locator=metamask-crx%40workspace%3A."
dependencies:
"@ethereumjs/common": "npm:^3.2.0"
"@ethereumjs/tx": "npm:^4.2.0"
Expand All @@ -5069,7 +5091,7 @@ __metadata:
"@metamask/approval-controller": ^5.1.2
"@metamask/gas-fee-controller": ^13.0.0
"@metamask/network-controller": ^17.2.0
checksum: b931355abc55a56db225edf2e41ad6c13819fc43034008065d56b92c22a8aa1218e0fabda45241c93dfe379fb671e401419989672f59cb998f620177756e670d
checksum: c2a05cdac0f758f9480a727a3ce263e7ca547407747aa1f590675108f116bab42c00280b88ddee6e7de0b95bcbf454059dbe94d3661852e2eb8437948daaea9b
languageName: node
linkType: hard

Expand Down

0 comments on commit 12f73a6

Please sign in to comment.