@oraichain/default
Version:
TKey default library
85 lines (82 loc) • 3.72 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import TKey from '@oraichain/core';
import { ServiceProviderBase } from '@oraichain/service-provider-base';
import { OraiServiceProvider } from '@oraichain/service-provider-orai';
import { SHARE_SERIALIZATION_MODULE_NAME, ShareSerializationModule } from '@oraichain/share-serialization';
import { SHARE_TRANSFER_MODULE_NAME, ShareTransferModule } from '@oraichain/share-transfer';
import { OraiStorageLayer, MockStorageLayer } from '@oraichain/storage-layer-orai';
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
class ThresholdKey extends TKey {
constructor(args) {
const {
modules = {},
serviceProvider,
storageLayer,
customAuthArgs,
blsDkgPackage,
serverTimeOffset
} = args || {};
const defaultModules = {
[SHARE_TRANSFER_MODULE_NAME]: new ShareTransferModule(),
[SHARE_SERIALIZATION_MODULE_NAME]: new ShareSerializationModule()
};
let finalServiceProvider;
let finalStorageLayer;
if (!serviceProvider) {
finalServiceProvider = new OraiServiceProvider({
customAuthArgs,
blsDkgPackage
});
} else {
finalServiceProvider = serviceProvider;
}
if (!storageLayer) {
finalStorageLayer = new OraiStorageLayer({
hostUrl: "https://metadata.social-login.orai.io",
serverTimeOffset
});
} else {
finalStorageLayer = storageLayer;
}
super(_objectSpread(_objectSpread({}, args || {}), {}, {
modules: _objectSpread(_objectSpread({}, defaultModules), modules),
serviceProvider: finalServiceProvider,
storageLayer: finalStorageLayer
}));
}
static async fromJSON(value, args) {
const {
storageLayer: tempOldStorageLayer,
serviceProvider: tempOldServiceProvider
} = value;
const {
storageLayer,
serviceProvider,
blsDkgPackage,
modules = {},
customAuthArgs,
serverTimeOffset = 0
} = args || {};
const defaultModules = {
[SHARE_TRANSFER_MODULE_NAME]: new ShareTransferModule(),
[SHARE_SERIALIZATION_MODULE_NAME]: new ShareSerializationModule()
};
const finalServiceProvider = serviceProvider || OraiServiceProvider.fromJSON(tempOldServiceProvider) || ServiceProviderBase.fromJSON(tempOldServiceProvider) || new OraiServiceProvider({
customAuthArgs,
blsDkgPackage
});
tempOldStorageLayer.serviceProvider = finalServiceProvider;
const finalStorageLayer = storageLayer || MockStorageLayer.fromJSON(tempOldStorageLayer) || OraiStorageLayer.fromJSON(tempOldStorageLayer) || new OraiStorageLayer({
hostUrl: "https://metadata.social-login.orai.io",
serverTimeOffset
});
return super.fromJSON(value, _objectSpread(_objectSpread({}, args || {}), {}, {
modules: _objectSpread(_objectSpread({}, defaultModules), modules),
serviceProvider: finalServiceProvider,
storageLayer: finalStorageLayer
}));
}
}
export { ThresholdKey as default };
//# sourceMappingURL=default.esm.js.map