@toruslabs/ethereum-controllers 4.11.0 → 5.0.0
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.
- package/dist/ethereumControllers.cjs.js +48 -30
- package/dist/ethereumControllers.cjs.js.map +1 -1
- package/dist/ethereumControllers.esm.js +50 -24
- package/dist/ethereumControllers.esm.js.map +1 -1
- package/dist/ethereumControllers.umd.min.js +1 -1
- package/dist/ethereumControllers.umd.min.js.LICENSE.txt +2 -0
- package/dist/ethereumControllers.umd.min.js.map +1 -1
- package/dist/types/Account/AccountTrackerController.d.ts +3 -0
- package/dist/types/Preferences/PreferencesController.d.ts +5 -19
- package/package.json +3 -3
- package/src/Account/AccountTrackerController.ts +19 -6
- package/src/Preferences/PreferencesController.ts +25 -40
|
@@ -851,14 +851,6 @@ class AccountTrackerController extends BaseController {
|
|
|
851
851
|
this.provider = provider;
|
|
852
852
|
this.blockTracker = blockTracker;
|
|
853
853
|
this.ethersProvider = new BrowserProvider(this.provider, "any");
|
|
854
|
-
|
|
855
|
-
// Initiate block tracker internal tracking.
|
|
856
|
-
this.blockTracker.on("latest", block => {
|
|
857
|
-
this.configure({
|
|
858
|
-
_currentBlock: block
|
|
859
|
-
});
|
|
860
|
-
this.refresh();
|
|
861
|
-
});
|
|
862
854
|
this.getIdentities = getIdentities;
|
|
863
855
|
this.getCurrentChainId = getCurrentChainId;
|
|
864
856
|
onPreferencesStateChange(() => {
|
|
@@ -866,6 +858,24 @@ class AccountTrackerController extends BaseController {
|
|
|
866
858
|
const refreshNeeded = this.syncAccounts();
|
|
867
859
|
if (refreshNeeded) this.refresh();
|
|
868
860
|
});
|
|
861
|
+
this.blockTrackerListener = this.blockTrackerListener.bind(this);
|
|
862
|
+
}
|
|
863
|
+
blockTrackerListener(block) {
|
|
864
|
+
this.configure({
|
|
865
|
+
_currentBlock: block
|
|
866
|
+
});
|
|
867
|
+
this.refresh();
|
|
868
|
+
}
|
|
869
|
+
startPolling() {
|
|
870
|
+
this.stopPolling();
|
|
871
|
+
// Initiate block tracker internal tracking.
|
|
872
|
+
if (Object.keys(this.state.accounts).length > 0) {
|
|
873
|
+
// Adding this listener on block tracker triggers it to start polling.
|
|
874
|
+
this.blockTracker.on("latest", this.blockTrackerListener);
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
stopPolling() {
|
|
878
|
+
this.blockTracker.removeListener("latest", this.blockTrackerListener);
|
|
869
879
|
}
|
|
870
880
|
syncAccounts() {
|
|
871
881
|
const {
|
|
@@ -3549,7 +3559,6 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3549
3559
|
config,
|
|
3550
3560
|
state,
|
|
3551
3561
|
provider,
|
|
3552
|
-
blockTracker,
|
|
3553
3562
|
signAuthMessage,
|
|
3554
3563
|
getProviderConfig,
|
|
3555
3564
|
setProviderConfig
|
|
@@ -3569,12 +3578,9 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3569
3578
|
_defineProperty(this, "getProviderConfig", void 0);
|
|
3570
3579
|
_defineProperty(this, "setProviderConfig", void 0);
|
|
3571
3580
|
_defineProperty(this, "provider", void 0);
|
|
3572
|
-
_defineProperty(this, "blockTracker", void 0);
|
|
3573
3581
|
this.provider = provider;
|
|
3574
3582
|
this.getProviderConfig = getProviderConfig;
|
|
3575
3583
|
this.setProviderConfig = setProviderConfig;
|
|
3576
|
-
this.blockTracker = blockTracker;
|
|
3577
|
-
log.info(this.blockTracker);
|
|
3578
3584
|
}
|
|
3579
3585
|
async poll(interval) {
|
|
3580
3586
|
var _this$getAddressState;
|
|
@@ -3604,14 +3610,18 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3604
3610
|
locale = "en-US",
|
|
3605
3611
|
type,
|
|
3606
3612
|
signatures,
|
|
3607
|
-
|
|
3608
|
-
|
|
3613
|
+
web3AuthClientId,
|
|
3614
|
+
web3AuthNetwork
|
|
3609
3615
|
} = params;
|
|
3610
|
-
await super.init(
|
|
3616
|
+
await super.init({
|
|
3617
|
+
address,
|
|
3618
|
+
userInfo,
|
|
3619
|
+
idToken: jwtToken,
|
|
3611
3620
|
type,
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3621
|
+
metadata: {
|
|
3622
|
+
email: userInfo.email,
|
|
3623
|
+
signatures
|
|
3624
|
+
}
|
|
3615
3625
|
});
|
|
3616
3626
|
const {
|
|
3617
3627
|
aggregateVerifier,
|
|
@@ -3627,10 +3637,12 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3627
3637
|
verifier: aggregateVerifier || verifier,
|
|
3628
3638
|
verifierId,
|
|
3629
3639
|
locale,
|
|
3630
|
-
address
|
|
3640
|
+
address,
|
|
3641
|
+
type,
|
|
3642
|
+
web3AuthNetwork
|
|
3631
3643
|
});
|
|
3632
3644
|
}
|
|
3633
|
-
|
|
3645
|
+
await this.storeUserLogin({
|
|
3634
3646
|
verifier: aggregateVerifier || verifier,
|
|
3635
3647
|
verifierId,
|
|
3636
3648
|
options: {
|
|
@@ -3638,7 +3650,8 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3638
3650
|
rehydrate
|
|
3639
3651
|
},
|
|
3640
3652
|
address,
|
|
3641
|
-
web3AuthClientId
|
|
3653
|
+
web3AuthClientId,
|
|
3654
|
+
web3AuthNetwork
|
|
3642
3655
|
});
|
|
3643
3656
|
}
|
|
3644
3657
|
getSelectedAddress() {
|
|
@@ -3657,7 +3670,8 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3657
3670
|
default_public_address: defaultPublicAddress,
|
|
3658
3671
|
customNetworks,
|
|
3659
3672
|
customTokens,
|
|
3660
|
-
customNfts
|
|
3673
|
+
customNfts,
|
|
3674
|
+
account_type: accountType
|
|
3661
3675
|
} = user || {};
|
|
3662
3676
|
|
|
3663
3677
|
// update latest data in state.
|
|
@@ -3669,7 +3683,8 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3669
3683
|
defaultPublicAddress: defaultPublicAddress || userPublicAddress,
|
|
3670
3684
|
customTokens,
|
|
3671
3685
|
customNfts,
|
|
3672
|
-
customNetworks
|
|
3686
|
+
customNetworks,
|
|
3687
|
+
accountType: accountType
|
|
3673
3688
|
}, address);
|
|
3674
3689
|
return true;
|
|
3675
3690
|
}
|
|
@@ -3729,10 +3744,21 @@ class PreferencesController extends BasePreferencesController {
|
|
|
3729
3744
|
async refetchEtherscanTx(address) {
|
|
3730
3745
|
var _this$getAddressState3;
|
|
3731
3746
|
const selectedAddress = address || this.state.selectedAddress;
|
|
3732
|
-
if ((_this$getAddressState3 = this.getAddressState(selectedAddress)) !== null && _this$getAddressState3 !== void 0 && _this$getAddressState3.jwtToken)
|
|
3747
|
+
if ((_this$getAddressState3 = this.getAddressState(selectedAddress)) !== null && _this$getAddressState3 !== void 0 && _this$getAddressState3.jwtToken) {
|
|
3748
|
+
const {
|
|
3749
|
+
chainId
|
|
3750
|
+
} = this.getProviderConfig();
|
|
3751
|
+
if (ETHERSCAN_SUPPORTED_CHAINS.includes(chainId)) {
|
|
3752
|
+
return this.fetchEtherscanTx({
|
|
3753
|
+
selectedAddress,
|
|
3754
|
+
chainId: this.getProviderConfig().chainId
|
|
3755
|
+
});
|
|
3756
|
+
}
|
|
3757
|
+
}
|
|
3733
3758
|
}
|
|
3734
3759
|
async fetchEtherscanTx(parameters) {
|
|
3735
3760
|
try {
|
|
3761
|
+
// TODO: rewrite this api to use chainId
|
|
3736
3762
|
const url = new URL(`${this.config.api}/etherscan`);
|
|
3737
3763
|
Object.keys(parameters).forEach(key => url.searchParams.append(key, parameters[key]));
|
|
3738
3764
|
const response = await get(url.href, this.headers(parameters.selectedAddress));
|