@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
|
@@ -1031,14 +1031,6 @@ class AccountTrackerController extends base_controllers_namespaceObject.BaseCont
|
|
|
1031
1031
|
this.provider = provider;
|
|
1032
1032
|
this.blockTracker = blockTracker;
|
|
1033
1033
|
this.ethersProvider = new external_ethers_namespaceObject.BrowserProvider(this.provider, "any");
|
|
1034
|
-
|
|
1035
|
-
// Initiate block tracker internal tracking.
|
|
1036
|
-
this.blockTracker.on("latest", block => {
|
|
1037
|
-
this.configure({
|
|
1038
|
-
_currentBlock: block
|
|
1039
|
-
});
|
|
1040
|
-
this.refresh();
|
|
1041
|
-
});
|
|
1042
1034
|
this.getIdentities = getIdentities;
|
|
1043
1035
|
this.getCurrentChainId = getCurrentChainId;
|
|
1044
1036
|
onPreferencesStateChange(() => {
|
|
@@ -1046,6 +1038,24 @@ class AccountTrackerController extends base_controllers_namespaceObject.BaseCont
|
|
|
1046
1038
|
const refreshNeeded = this.syncAccounts();
|
|
1047
1039
|
if (refreshNeeded) this.refresh();
|
|
1048
1040
|
});
|
|
1041
|
+
this.blockTrackerListener = this.blockTrackerListener.bind(this);
|
|
1042
|
+
}
|
|
1043
|
+
blockTrackerListener(block) {
|
|
1044
|
+
this.configure({
|
|
1045
|
+
_currentBlock: block
|
|
1046
|
+
});
|
|
1047
|
+
this.refresh();
|
|
1048
|
+
}
|
|
1049
|
+
startPolling() {
|
|
1050
|
+
this.stopPolling();
|
|
1051
|
+
// Initiate block tracker internal tracking.
|
|
1052
|
+
if (Object.keys(this.state.accounts).length > 0) {
|
|
1053
|
+
// Adding this listener on block tracker triggers it to start polling.
|
|
1054
|
+
this.blockTracker.on("latest", this.blockTrackerListener);
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
stopPolling() {
|
|
1058
|
+
this.blockTracker.removeListener("latest", this.blockTrackerListener);
|
|
1049
1059
|
}
|
|
1050
1060
|
syncAccounts() {
|
|
1051
1061
|
const {
|
|
@@ -4023,7 +4033,6 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4023
4033
|
config,
|
|
4024
4034
|
state,
|
|
4025
4035
|
provider,
|
|
4026
|
-
blockTracker,
|
|
4027
4036
|
signAuthMessage,
|
|
4028
4037
|
getProviderConfig,
|
|
4029
4038
|
setProviderConfig
|
|
@@ -4043,12 +4052,9 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4043
4052
|
defineProperty_default()(this, "getProviderConfig", void 0);
|
|
4044
4053
|
defineProperty_default()(this, "setProviderConfig", void 0);
|
|
4045
4054
|
defineProperty_default()(this, "provider", void 0);
|
|
4046
|
-
defineProperty_default()(this, "blockTracker", void 0);
|
|
4047
4055
|
this.provider = provider;
|
|
4048
4056
|
this.getProviderConfig = getProviderConfig;
|
|
4049
4057
|
this.setProviderConfig = setProviderConfig;
|
|
4050
|
-
this.blockTracker = blockTracker;
|
|
4051
|
-
external_loglevel_default().info(this.blockTracker);
|
|
4052
4058
|
}
|
|
4053
4059
|
async poll(interval) {
|
|
4054
4060
|
var _this$getAddressState;
|
|
@@ -4078,14 +4084,18 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4078
4084
|
locale = "en-US",
|
|
4079
4085
|
type,
|
|
4080
4086
|
signatures,
|
|
4081
|
-
|
|
4082
|
-
|
|
4087
|
+
web3AuthClientId,
|
|
4088
|
+
web3AuthNetwork
|
|
4083
4089
|
} = params;
|
|
4084
|
-
await super.init(
|
|
4090
|
+
await super.init({
|
|
4091
|
+
address,
|
|
4092
|
+
userInfo,
|
|
4093
|
+
idToken: jwtToken,
|
|
4085
4094
|
type,
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4095
|
+
metadata: {
|
|
4096
|
+
email: userInfo.email,
|
|
4097
|
+
signatures
|
|
4098
|
+
}
|
|
4089
4099
|
});
|
|
4090
4100
|
const {
|
|
4091
4101
|
aggregateVerifier,
|
|
@@ -4101,10 +4111,12 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4101
4111
|
verifier: aggregateVerifier || verifier,
|
|
4102
4112
|
verifierId,
|
|
4103
4113
|
locale,
|
|
4104
|
-
address
|
|
4114
|
+
address,
|
|
4115
|
+
type,
|
|
4116
|
+
web3AuthNetwork
|
|
4105
4117
|
});
|
|
4106
4118
|
}
|
|
4107
|
-
|
|
4119
|
+
await this.storeUserLogin({
|
|
4108
4120
|
verifier: aggregateVerifier || verifier,
|
|
4109
4121
|
verifierId,
|
|
4110
4122
|
options: {
|
|
@@ -4112,7 +4124,8 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4112
4124
|
rehydrate
|
|
4113
4125
|
},
|
|
4114
4126
|
address,
|
|
4115
|
-
web3AuthClientId
|
|
4127
|
+
web3AuthClientId,
|
|
4128
|
+
web3AuthNetwork
|
|
4116
4129
|
});
|
|
4117
4130
|
}
|
|
4118
4131
|
getSelectedAddress() {
|
|
@@ -4131,7 +4144,8 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4131
4144
|
default_public_address: defaultPublicAddress,
|
|
4132
4145
|
customNetworks,
|
|
4133
4146
|
customTokens,
|
|
4134
|
-
customNfts
|
|
4147
|
+
customNfts,
|
|
4148
|
+
account_type: accountType
|
|
4135
4149
|
} = user || {};
|
|
4136
4150
|
|
|
4137
4151
|
// update latest data in state.
|
|
@@ -4143,7 +4157,8 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4143
4157
|
defaultPublicAddress: defaultPublicAddress || userPublicAddress,
|
|
4144
4158
|
customTokens,
|
|
4145
4159
|
customNfts,
|
|
4146
|
-
customNetworks
|
|
4160
|
+
customNetworks,
|
|
4161
|
+
accountType: accountType
|
|
4147
4162
|
}, address);
|
|
4148
4163
|
return true;
|
|
4149
4164
|
}
|
|
@@ -4204,17 +4219,20 @@ class PreferencesController extends base_controllers_namespaceObject.BasePrefere
|
|
|
4204
4219
|
var _this$getAddressState3;
|
|
4205
4220
|
const selectedAddress = address || this.state.selectedAddress;
|
|
4206
4221
|
if ((_this$getAddressState3 = this.getAddressState(selectedAddress)) !== null && _this$getAddressState3 !== void 0 && _this$getAddressState3.jwtToken) {
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4222
|
+
const {
|
|
4223
|
+
chainId
|
|
4224
|
+
} = this.getProviderConfig();
|
|
4225
|
+
if (ETHERSCAN_SUPPORTED_CHAINS.includes(chainId)) {
|
|
4226
|
+
return this.fetchEtherscanTx({
|
|
4227
|
+
selectedAddress,
|
|
4228
|
+
chainId: this.getProviderConfig().chainId
|
|
4229
|
+
});
|
|
4230
|
+
}
|
|
4214
4231
|
}
|
|
4215
4232
|
}
|
|
4216
4233
|
async fetchEtherscanTx(parameters) {
|
|
4217
4234
|
try {
|
|
4235
|
+
// TODO: rewrite this api to use chainId
|
|
4218
4236
|
const url = new URL(`${this.config.api}/etherscan`);
|
|
4219
4237
|
Object.keys(parameters).forEach(key => url.searchParams.append(key, parameters[key]));
|
|
4220
4238
|
const response = await (0,http_helpers_namespaceObject.get)(url.href, this.headers(parameters.selectedAddress));
|