@super-protocol/sdk-js 3.15.0 → 3.16.0-beta.1
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/cjs/RIGenerator.d.ts +2 -3
- package/dist/cjs/RIGenerator.js +6 -7
- package/dist/cjs/TeeInputGeneratorBase.d.ts +2 -2
- package/dist/cjs/TeeInputGeneratorBase.js +1 -1
- package/dist/cjs/connectors/BaseConnector.d.ts +2 -3
- package/dist/cjs/connectors/BaseConnector.js +1 -1
- package/dist/cjs/connectors/BlockchainConnector.js +1 -3
- package/dist/cjs/connectors/BlockchainEventsListener.d.ts +2 -2
- package/dist/cjs/connectors/BlockchainEventsListener.js +2 -3
- package/dist/cjs/constants.d.ts +2 -0
- package/dist/cjs/constants.js +6 -2
- package/dist/cjs/contracts/Campaign.d.ts +1078 -0
- package/dist/cjs/contracts/Campaign.js +1401 -0
- package/dist/cjs/contracts/abi.d.ts +406 -245
- package/dist/cjs/contracts/abi.js +511 -307
- package/dist/cjs/contracts/adminCertificateHelperAbi.d.ts +316 -0
- package/dist/cjs/contracts/adminCertificateHelperAbi.js +410 -0
- package/dist/cjs/crypto/Crypto.d.ts +13 -10
- package/dist/cjs/crypto/Crypto.js +17 -14
- package/dist/cjs/crypto/nodejs/AES.d.ts +1 -1
- package/dist/cjs/crypto/nodejs/AES.js +2 -2
- package/dist/cjs/crypto/nodejs/ARIA.d.ts +1 -1
- package/dist/cjs/crypto/nodejs/ARIA.js +2 -2
- package/dist/cjs/errors/index.d.ts +0 -1
- package/dist/cjs/errors/index.js +2 -4
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +5 -4
- package/dist/cjs/models/Offer.d.ts +1 -16
- package/dist/cjs/models/Offer.js +1 -51
- package/dist/cjs/models/Order.d.ts +1 -1
- package/dist/cjs/models/Order.js +15 -11
- package/dist/cjs/providers/storage/S3StorageProvider.js +5 -5
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
- package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +2 -1
- package/dist/cjs/staticModels/AdminCertificateHelper.d.ts +24 -0
- package/dist/cjs/staticModels/AdminCertificateHelper.js +99 -0
- package/dist/cjs/staticModels/Campaign.d.ts +61 -0
- package/dist/cjs/staticModels/Campaign.js +297 -0
- package/dist/cjs/staticModels/Offers.d.ts +0 -1
- package/dist/cjs/staticModels/Offers.js +2 -4
- package/dist/cjs/staticModels/Orders.js +9 -10
- package/dist/cjs/staticModels/SuperproToken.d.ts +7 -7
- package/dist/cjs/staticModels/SuperproToken.js +3 -3
- package/dist/cjs/staticModels/TeeOffers.d.ts +1 -1
- package/dist/cjs/staticModels/TeeOffers.js +2 -4
- package/dist/cjs/tee/TeeCertificateService.js +8 -1
- package/dist/cjs/types/Campaign.d.ts +45 -0
- package/dist/cjs/types/Campaign.js +16 -0
- package/dist/cjs/types/Offer.d.ts +0 -5
- package/dist/cjs/types/Order.d.ts +20 -25
- package/dist/cjs/types/Order.js +14 -21
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +2 -1
- package/dist/cjs/utils/TxManager.js +1 -5
- package/dist/cjs/utils/admin-service.d.ts +13 -0
- package/dist/cjs/utils/admin-service.js +73 -0
- package/dist/cjs/utils/helper.d.ts +3 -0
- package/dist/cjs/utils/helper.js +20 -2
- package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +5 -5
- package/dist/cjs/utils/helpers/index.d.ts +0 -1
- package/dist/cjs/utils/helpers/index.js +1 -2
- package/dist/cjs/utils/order/versify.js +7 -1
- package/dist/cjs/utils/rent-calculator/rent-calculator.js +3 -2
- package/dist/cjs/utils/rent-calculator/types.d.ts +1 -0
- package/dist/cjs/utils/types.d.ts +5 -0
- package/dist/mjs/RIGenerator.d.ts +2 -3
- package/dist/mjs/RIGenerator.js +7 -8
- package/dist/mjs/TeeInputGeneratorBase.d.ts +2 -2
- package/dist/mjs/TeeInputGeneratorBase.js +1 -1
- package/dist/mjs/connectors/BaseConnector.d.ts +2 -3
- package/dist/mjs/connectors/BaseConnector.js +1 -1
- package/dist/mjs/connectors/BlockchainConnector.js +1 -3
- package/dist/mjs/connectors/BlockchainEventsListener.d.ts +2 -2
- package/dist/mjs/connectors/BlockchainEventsListener.js +2 -3
- package/dist/mjs/constants.d.ts +2 -0
- package/dist/mjs/constants.js +5 -1
- package/dist/mjs/contracts/Campaign.d.ts +1078 -0
- package/dist/mjs/contracts/Campaign.js +1398 -0
- package/dist/mjs/contracts/abi.d.ts +406 -245
- package/dist/mjs/contracts/abi.js +509 -305
- package/dist/mjs/contracts/adminCertificateHelperAbi.d.ts +316 -0
- package/dist/mjs/contracts/adminCertificateHelperAbi.js +407 -0
- package/dist/mjs/crypto/Crypto.d.ts +13 -10
- package/dist/mjs/crypto/Crypto.js +17 -14
- package/dist/mjs/crypto/nodejs/AES.d.ts +1 -1
- package/dist/mjs/crypto/nodejs/AES.js +2 -2
- package/dist/mjs/crypto/nodejs/ARIA.d.ts +1 -1
- package/dist/mjs/crypto/nodejs/ARIA.js +2 -2
- package/dist/mjs/errors/index.d.ts +0 -1
- package/dist/mjs/errors/index.js +1 -2
- package/dist/mjs/index.d.ts +2 -1
- package/dist/mjs/index.js +3 -2
- package/dist/mjs/models/Offer.d.ts +1 -16
- package/dist/mjs/models/Offer.js +1 -51
- package/dist/mjs/models/Order.d.ts +1 -1
- package/dist/mjs/models/Order.js +15 -11
- package/dist/mjs/providers/storage/S3StorageProvider.js +5 -5
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
- package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +2 -1
- package/dist/mjs/staticModels/AdminCertificateHelper.d.ts +24 -0
- package/dist/mjs/staticModels/AdminCertificateHelper.js +92 -0
- package/dist/mjs/staticModels/Campaign.d.ts +61 -0
- package/dist/mjs/staticModels/Campaign.js +292 -0
- package/dist/mjs/staticModels/Offers.d.ts +0 -1
- package/dist/mjs/staticModels/Offers.js +2 -4
- package/dist/mjs/staticModels/Orders.js +9 -10
- package/dist/mjs/staticModels/SuperproToken.d.ts +7 -7
- package/dist/mjs/staticModels/SuperproToken.js +3 -3
- package/dist/mjs/staticModels/TeeOffers.d.ts +1 -1
- package/dist/mjs/staticModels/TeeOffers.js +2 -4
- package/dist/mjs/tee/TeeCertificateService.js +9 -2
- package/dist/mjs/types/Campaign.d.ts +45 -0
- package/dist/mjs/types/Campaign.js +13 -0
- package/dist/mjs/types/Offer.d.ts +0 -5
- package/dist/mjs/types/Order.d.ts +20 -25
- package/dist/mjs/types/Order.js +14 -18
- package/dist/mjs/types/index.d.ts +1 -0
- package/dist/mjs/types/index.js +2 -1
- package/dist/mjs/utils/TxManager.js +1 -5
- package/dist/mjs/utils/admin-service.d.ts +13 -0
- package/dist/mjs/utils/admin-service.js +66 -0
- package/dist/mjs/utils/helper.d.ts +3 -0
- package/dist/mjs/utils/helper.js +17 -2
- package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +5 -5
- package/dist/mjs/utils/helpers/index.d.ts +0 -1
- package/dist/mjs/utils/helpers/index.js +1 -2
- package/dist/mjs/utils/order/versify.js +7 -1
- package/dist/mjs/utils/rent-calculator/rent-calculator.js +3 -2
- package/dist/mjs/utils/rent-calculator/types.d.ts +1 -0
- package/dist/mjs/utils/types.d.ts +5 -0
- package/package.json +3 -3
- package/dist/cjs/errors/insufficient-funds.error.d.ts +0 -19
- package/dist/cjs/errors/insufficient-funds.error.js +0 -57
- package/dist/cjs/utils/helpers/streamToBuffer.d.ts +0 -4
- package/dist/cjs/utils/helpers/streamToBuffer.js +0 -13
- package/dist/mjs/errors/insufficient-funds.error.d.ts +0 -19
- package/dist/mjs/errors/insufficient-funds.error.js +0 -53
- package/dist/mjs/utils/helpers/streamToBuffer.d.ts +0 -4
- package/dist/mjs/utils/helpers/streamToBuffer.js +0 -9
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { adminCertificateHelperAbi } from '../contracts/adminCertificateHelperAbi.js';
|
|
2
|
+
import store from '../store.js';
|
|
3
|
+
import { checkIfActionAccountInitialized, fromBlockchainHex, fromBlockchainHexOptional, toBlockchainHex, } from '../utils/helper.js';
|
|
4
|
+
import TxManager from '../utils/TxManager.js';
|
|
5
|
+
export class AdminCertificateHelper {
|
|
6
|
+
static contractHttps;
|
|
7
|
+
static _addressHttps;
|
|
8
|
+
static set address(newAddress) {
|
|
9
|
+
AdminCertificateHelper._addressHttps = newAddress;
|
|
10
|
+
const contractHttps = AdminCertificateHelper.createContract(newAddress);
|
|
11
|
+
AdminCertificateHelper.contractHttps = contractHttps;
|
|
12
|
+
}
|
|
13
|
+
static createContract(newAddress) {
|
|
14
|
+
if (!store.web3Https) {
|
|
15
|
+
throw new Error('web3Https is not initialized');
|
|
16
|
+
}
|
|
17
|
+
const httpsContract = new store.web3Https.eth.Contract(adminCertificateHelperAbi, newAddress, {
|
|
18
|
+
config: { contractDataInputFill: 'data' },
|
|
19
|
+
});
|
|
20
|
+
return httpsContract;
|
|
21
|
+
}
|
|
22
|
+
static get address() {
|
|
23
|
+
if (!AdminCertificateHelper._addressHttps) {
|
|
24
|
+
throw new Error('AdminCertificateHelper.address is not set');
|
|
25
|
+
}
|
|
26
|
+
return AdminCertificateHelper._addressHttps;
|
|
27
|
+
}
|
|
28
|
+
static async addAdmin(chain, signature, transactionOptions, checkTxBeforeSend = false) {
|
|
29
|
+
const contract = this.getContract();
|
|
30
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
31
|
+
const blockchainChain = chain.map((cert) => AdminCertificateHelper.certToRawBLockchainCert(cert));
|
|
32
|
+
const blockchainSignature = signature instanceof Buffer ? toBlockchainHex(signature) : signature;
|
|
33
|
+
if (checkTxBeforeSend) {
|
|
34
|
+
await TxManager.dryRun(contract.methods.addAdmin(blockchainChain, 0, blockchainSignature), transactionOptions);
|
|
35
|
+
}
|
|
36
|
+
return await TxManager.execute(contract.methods.addAdmin(blockchainChain, 0, blockchainSignature), transactionOptions, AdminCertificateHelper.address);
|
|
37
|
+
}
|
|
38
|
+
static async getSignatureNonce() {
|
|
39
|
+
const contract = this.getContract();
|
|
40
|
+
return Number(await contract.methods.getSignatureNonce().call());
|
|
41
|
+
}
|
|
42
|
+
static async isAdmin(caller) {
|
|
43
|
+
const contract = this.getContract();
|
|
44
|
+
return await contract.methods.isAdmin(caller).call();
|
|
45
|
+
}
|
|
46
|
+
static async getCertVerifier() {
|
|
47
|
+
const contract = this.getContract();
|
|
48
|
+
return await contract.methods.getCertVerifier().call();
|
|
49
|
+
}
|
|
50
|
+
static async getAdminData() {
|
|
51
|
+
const contract = this.getContract();
|
|
52
|
+
const res = (await contract.methods.getAdminData().call());
|
|
53
|
+
const adminRaw = res._admin;
|
|
54
|
+
const certsChainRaw = res._certsChain;
|
|
55
|
+
const rootCertIdRaw = res._rootCertId;
|
|
56
|
+
const certsChain = certsChainRaw.map(AdminCertificateHelper.fromRawBlockchainCert);
|
|
57
|
+
return { admin: adminRaw, certsChain, rootCertId: Number(rootCertIdRaw) };
|
|
58
|
+
}
|
|
59
|
+
static certToRawBLockchainCert(cert) {
|
|
60
|
+
return [
|
|
61
|
+
cert.nonSerializedParts.map(toBlockchainHex),
|
|
62
|
+
toBlockchainHex(cert.expirationDate),
|
|
63
|
+
toBlockchainHex(cert.ca),
|
|
64
|
+
toBlockchainHex(cert.userData),
|
|
65
|
+
toBlockchainHex(cert.publicKey),
|
|
66
|
+
toBlockchainHex(cert.serialNumber),
|
|
67
|
+
toBlockchainHex(cert.mrEnclave),
|
|
68
|
+
toBlockchainHex(cert.mrSigner),
|
|
69
|
+
toBlockchainHex(cert.signature),
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
static fromRawBlockchainCert(rawCert) {
|
|
73
|
+
return {
|
|
74
|
+
nonSerializedParts: rawCert.nonSerializedParts.map((part) => fromBlockchainHex(part)),
|
|
75
|
+
expirationDate: fromBlockchainHex(rawCert.expirationDate),
|
|
76
|
+
ca: fromBlockchainHex(rawCert.ca),
|
|
77
|
+
userData: fromBlockchainHexOptional(rawCert.userData),
|
|
78
|
+
publicKey: fromBlockchainHex(rawCert.publicKey),
|
|
79
|
+
serialNumber: fromBlockchainHex(rawCert.serialNumber),
|
|
80
|
+
mrEnclave: fromBlockchainHexOptional(rawCert.mrEnclave),
|
|
81
|
+
mrSigner: fromBlockchainHexOptional(rawCert.mrSigner),
|
|
82
|
+
signature: fromBlockchainHex(rawCert.signature),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static getContract() {
|
|
86
|
+
if (!this.contractHttps) {
|
|
87
|
+
throw new Error('AdminCertificateHelper is no initialized');
|
|
88
|
+
}
|
|
89
|
+
return this.contractHttps;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRtaW5DZXJ0aWZpY2F0ZUhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWNNb2RlbHMvQWRtaW5DZXJ0aWZpY2F0ZUhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFHaEMsT0FBTyxFQUNMLCtCQUErQixFQUMvQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQW9COUMsTUFBTSxPQUFPLHNCQUFzQjtJQUN6QixNQUFNLENBQUMsYUFBYSxDQUE4QztJQUNsRSxNQUFNLENBQUMsYUFBYSxDQUFVO0lBRS9CLE1BQU0sS0FBSyxPQUFPLENBQUMsVUFBa0I7UUFDMUMsc0JBQXNCLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQztRQUNsRCxNQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEUsc0JBQXNCLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFrQjtRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsVUFBVSxFQUFFO1lBQzVGLE1BQU0sRUFBRSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRTtTQUMxQyxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFD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
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Contract, TransactionReceipt } from 'web3';
|
|
2
|
+
import { abi } from '../contracts/Campaign.js';
|
|
3
|
+
import { TransactionOptions, BlockInfo, Status, TotalParticipantInfo, ParticipantScore, MigrationNetwork, TokenAmount, MigrationWithIndex } from '../types/index.js';
|
|
4
|
+
declare class Campaign {
|
|
5
|
+
private static _addressHttps;
|
|
6
|
+
private static _addressWss;
|
|
7
|
+
private static contractHttps?;
|
|
8
|
+
private static contractWss?;
|
|
9
|
+
private static readonly logger;
|
|
10
|
+
static get addressHttps(): string;
|
|
11
|
+
static set addressHttps(newAddress: string);
|
|
12
|
+
static createContract(newAddress: string): [Contract<typeof abi>, Contract<typeof abi>];
|
|
13
|
+
static get addressWss(): string;
|
|
14
|
+
static set addressWss(newAddress: string);
|
|
15
|
+
/**
|
|
16
|
+
* Checks if contract has been initialized, if not - initialize contract
|
|
17
|
+
*/
|
|
18
|
+
private static checkInit;
|
|
19
|
+
private static getContract;
|
|
20
|
+
static isUniqueSrcAddressByParticipant(participant: string, srcAddress: string, contract?: Contract<typeof abi>): Promise<boolean>;
|
|
21
|
+
static isUniqueDstAddress(dstAddress: string, contract?: Contract<typeof abi>): Promise<boolean>;
|
|
22
|
+
static isUniqueSrcAddress(srcAddress: string, contract?: Contract<typeof abi>): Promise<boolean>;
|
|
23
|
+
static getStat(contract?: Contract<typeof abi>): Promise<{
|
|
24
|
+
totalMigrations: number;
|
|
25
|
+
totalDeployedMigrations: number;
|
|
26
|
+
totalNotDeployedMigrations: number;
|
|
27
|
+
}>;
|
|
28
|
+
static getCompetitionSetup(contract?: Contract<typeof abi>): Promise<{
|
|
29
|
+
claimDateAfter: number;
|
|
30
|
+
notValidBeforeTs: number;
|
|
31
|
+
notValidAfterTs: number;
|
|
32
|
+
}>;
|
|
33
|
+
static getParticipantByRank(rank: number, contract?: Contract<typeof abi>): Promise<ParticipantScore>;
|
|
34
|
+
static getParticipantInfo(participant: string, contract?: Contract<typeof abi>): Promise<TotalParticipantInfo>;
|
|
35
|
+
static getTopParticipantsInfo(count: number, contract?: Contract<typeof abi>): Promise<TotalParticipantInfo[]>;
|
|
36
|
+
static getMigrationRange(from: number, to: number, status: Status, contract?: Contract<typeof abi>): Promise<MigrationWithIndex[]>;
|
|
37
|
+
static getMigrationsByIndexes(indexes: number[], contract?: Contract<typeof abi>): Promise<MigrationWithIndex[]>;
|
|
38
|
+
static contentHashExists(contentHash: string, contract?: Contract<typeof abi>): Promise<boolean>;
|
|
39
|
+
static getTotalParticipants(contract?: Contract<typeof abi>): Promise<number>;
|
|
40
|
+
static getTopParticipants(count: number, contract?: Contract<typeof abi>): Promise<ParticipantScore[]>;
|
|
41
|
+
static getParticipantsAroundRank(centerRank: number, range: number, contract?: Contract<typeof abi>): Promise<ParticipantScore[]>;
|
|
42
|
+
static getParticipantsByRange(startRank: number, endRank: number, contract?: Contract<typeof abi>): Promise<ParticipantScore[]>;
|
|
43
|
+
static getTotalMigrations(contract?: Contract<typeof abi>): Promise<number>;
|
|
44
|
+
static registry(transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<TransactionReceipt>;
|
|
45
|
+
static submitMigration(srcNetwork: MigrationNetwork, srcAddress: string, dstAddress: string, srcUrl?: string, dstUrl?: string, transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<TransactionReceipt>;
|
|
46
|
+
static updateMigrationStatusByApp(migrationIndex: number, isDeployed: boolean, transactions: number, transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<TransactionReceipt>;
|
|
47
|
+
static updateMigrationTransactionsByApp(migrationIndex: number, transactions: number, transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<TransactionReceipt>;
|
|
48
|
+
static claimReward(transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<TransactionReceipt>;
|
|
49
|
+
static grantRole(role: string, account: string, transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<TransactionReceipt>;
|
|
50
|
+
static onRegisterUser(callback: onRegisterUser): () => void;
|
|
51
|
+
static onMigrationSubmitted(callback: onMigrationSubmittedCallback): () => void;
|
|
52
|
+
static onMigrationStatusUpdated(callback: onMigrationStatusUpdated): () => void;
|
|
53
|
+
static onMigrationTransactionsUpdated(callback: onMigrationTransactionsUpdated): () => void;
|
|
54
|
+
static onRewardClaimed(callback: onRewardClaimed): () => void;
|
|
55
|
+
}
|
|
56
|
+
export type onRegisterUser = (participant: string, block?: BlockInfo) => void;
|
|
57
|
+
export type onMigrationSubmittedCallback = (participant: string, migrationIndex: number, block?: BlockInfo) => void;
|
|
58
|
+
export type onMigrationStatusUpdated = (migrationIndex: number, status: Status, block?: BlockInfo) => void;
|
|
59
|
+
export type onMigrationTransactionsUpdated = (migrationIndex: number, transactions: number, block?: BlockInfo) => void;
|
|
60
|
+
export type onRewardClaimed = (participant: number, amount: TokenAmount, block?: BlockInfo) => void;
|
|
61
|
+
export default Campaign;
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { utils } from 'web3';
|
|
2
|
+
import rootLogger from '../logger.js';
|
|
3
|
+
import { abi } from '../contracts/Campaign.js';
|
|
4
|
+
import store from '../store.js';
|
|
5
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data } from '../utils/helper.js';
|
|
6
|
+
import TxManager from '../utils/TxManager.js';
|
|
7
|
+
import { BlockchainEventsListener } from '../connectors/index.js';
|
|
8
|
+
class Campaign {
|
|
9
|
+
static _addressHttps;
|
|
10
|
+
static _addressWss;
|
|
11
|
+
static contractHttps;
|
|
12
|
+
static contractWss;
|
|
13
|
+
static logger = rootLogger.child({ className: 'Campaign' });
|
|
14
|
+
static get addressHttps() {
|
|
15
|
+
return Campaign._addressHttps;
|
|
16
|
+
}
|
|
17
|
+
static set addressHttps(newAddress) {
|
|
18
|
+
Campaign._addressHttps = newAddress;
|
|
19
|
+
const [contractHttps, contractWss] = Campaign.createContract(newAddress);
|
|
20
|
+
Campaign.contractHttps = contractHttps;
|
|
21
|
+
Campaign.contractWss = contractWss;
|
|
22
|
+
}
|
|
23
|
+
static createContract(newAddress) {
|
|
24
|
+
const httpsContract = new store.web3Https.eth.Contract(abi, newAddress, {
|
|
25
|
+
provider: store.web3Https.currentProvider,
|
|
26
|
+
config: { contractDataInputFill: 'data' },
|
|
27
|
+
});
|
|
28
|
+
const wssContract = new store.web3Wss.eth.Contract(abi, newAddress, {
|
|
29
|
+
provider: store.web3Wss.currentProvider,
|
|
30
|
+
config: { contractDataInputFill: 'data' },
|
|
31
|
+
});
|
|
32
|
+
return [httpsContract, wssContract];
|
|
33
|
+
}
|
|
34
|
+
static get addressWss() {
|
|
35
|
+
return Campaign._addressWss;
|
|
36
|
+
}
|
|
37
|
+
static set addressWss(newAddress) {
|
|
38
|
+
Campaign._addressWss = newAddress;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Checks if contract has been initialized, if not - initialize contract
|
|
42
|
+
*/
|
|
43
|
+
static checkInit(wssConnection = false) {
|
|
44
|
+
if (!Campaign.contractHttps) {
|
|
45
|
+
throw Error(`Campaign must be initialized before it can be used`);
|
|
46
|
+
}
|
|
47
|
+
return wssConnection ? Campaign.contractWss : Campaign.contractHttps;
|
|
48
|
+
}
|
|
49
|
+
static getContract(contract) {
|
|
50
|
+
return contract ? contract : Campaign.checkInit();
|
|
51
|
+
}
|
|
52
|
+
static async isUniqueSrcAddressByParticipant(participant, srcAddress, contract) {
|
|
53
|
+
return cleanWeb3Data(await this.getContract(contract)
|
|
54
|
+
.methods.isUniqueSrcAddressByParticipant(participant, srcAddress)
|
|
55
|
+
.call());
|
|
56
|
+
}
|
|
57
|
+
static async isUniqueDstAddress(dstAddress, contract) {
|
|
58
|
+
return cleanWeb3Data(await this.getContract(contract).methods.isUniqueDstAddress(dstAddress).call());
|
|
59
|
+
}
|
|
60
|
+
static async isUniqueSrcAddress(srcAddress, contract) {
|
|
61
|
+
return cleanWeb3Data(await this.getContract(contract).methods.isUniqueSrcAddress(srcAddress).call());
|
|
62
|
+
}
|
|
63
|
+
static async getStat(contract) {
|
|
64
|
+
const contractResult = await this.getContract(contract).methods.getStat().call();
|
|
65
|
+
const result = {
|
|
66
|
+
totalMigrations: Number(contractResult.totalMigrations),
|
|
67
|
+
totalDeployedMigrations: Number(contractResult._totalDeployedMigrations),
|
|
68
|
+
totalNotDeployedMigrations: Number(contractResult._totalNotDeployedMigrations),
|
|
69
|
+
};
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
static async getCompetitionSetup(contract) {
|
|
73
|
+
const contractResult = await this.getContract(contract).methods.getCompetitionSetup().call();
|
|
74
|
+
const result = {
|
|
75
|
+
claimDateAfter: Number(contractResult.claimDateAfter),
|
|
76
|
+
notValidBeforeTs: Number(contractResult.notValidBeforeTs),
|
|
77
|
+
notValidAfterTs: Number(contractResult.notValidAfterTs),
|
|
78
|
+
};
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
static async getParticipantByRank(rank, contract) {
|
|
82
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getParticipantByRank(rank).call());
|
|
83
|
+
}
|
|
84
|
+
static async getParticipantInfo(participant, contract) {
|
|
85
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getParticipantInfo(participant).call());
|
|
86
|
+
}
|
|
87
|
+
static async getTopParticipantsInfo(count, contract) {
|
|
88
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getTopParticipantsInfo(count).call());
|
|
89
|
+
}
|
|
90
|
+
static async getMigrationRange(from, to, status, contract) {
|
|
91
|
+
const contents = (await this.getContract(contract).methods.getMigrationRange(from, to, status).call()).map((migrationWithIndex) => {
|
|
92
|
+
const migration = cleanWeb3Data(migrationWithIndex.migration);
|
|
93
|
+
const cleanedContentWithIndex = {
|
|
94
|
+
migration: {
|
|
95
|
+
...migration,
|
|
96
|
+
status: Number(migration.status),
|
|
97
|
+
},
|
|
98
|
+
index: Number(migrationWithIndex.index),
|
|
99
|
+
};
|
|
100
|
+
return cleanedContentWithIndex;
|
|
101
|
+
});
|
|
102
|
+
return contents;
|
|
103
|
+
}
|
|
104
|
+
static async getMigrationsByIndexes(indexes, contract) {
|
|
105
|
+
const contents = (await this.getContract(contract).methods.getMigrationsByIndexes(indexes).call()).map((migrationWithIndex) => {
|
|
106
|
+
const migration = cleanWeb3Data(migrationWithIndex.migration);
|
|
107
|
+
const cleanedContentWithIndex = {
|
|
108
|
+
migration: {
|
|
109
|
+
...migration,
|
|
110
|
+
status: Number(migration.status),
|
|
111
|
+
},
|
|
112
|
+
index: Number(migrationWithIndex.index),
|
|
113
|
+
};
|
|
114
|
+
return cleanedContentWithIndex;
|
|
115
|
+
});
|
|
116
|
+
return contents;
|
|
117
|
+
}
|
|
118
|
+
static async contentHashExists(contentHash, contract) {
|
|
119
|
+
return await this.getContract(contract).methods.contentHashExists(contentHash).call();
|
|
120
|
+
}
|
|
121
|
+
static async getTotalParticipants(contract) {
|
|
122
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getTotalParticipants().call());
|
|
123
|
+
}
|
|
124
|
+
static async getTopParticipants(count, contract) {
|
|
125
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getTopParticipants(count).call());
|
|
126
|
+
}
|
|
127
|
+
static async getParticipantsAroundRank(centerRank, range, contract) {
|
|
128
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getParticipantsAroundRank(centerRank, range).call());
|
|
129
|
+
}
|
|
130
|
+
static async getParticipantsByRange(startRank, endRank, contract) {
|
|
131
|
+
return cleanWeb3Data(await this.getContract(contract).methods.getParticipantsByRange(startRank, endRank).call());
|
|
132
|
+
}
|
|
133
|
+
static async getTotalMigrations(contract) {
|
|
134
|
+
return Number(await this.getContract(contract).methods.getTotalMigrations().call());
|
|
135
|
+
}
|
|
136
|
+
static async registry(transactionOptions, checkTxBeforeSend = false) {
|
|
137
|
+
const contract = this.checkInit();
|
|
138
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
139
|
+
if (checkTxBeforeSend) {
|
|
140
|
+
await TxManager.dryRun(contract.methods.registry(), transactionOptions);
|
|
141
|
+
}
|
|
142
|
+
return await TxManager.execute(contract.methods.registry(), transactionOptions, Campaign.addressHttps);
|
|
143
|
+
}
|
|
144
|
+
static async submitMigration(srcNetwork, srcAddress, dstAddress, srcUrl = '', dstUrl = '', transactionOptions, checkTxBeforeSend = false) {
|
|
145
|
+
const contract = this.checkInit();
|
|
146
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
147
|
+
if (checkTxBeforeSend) {
|
|
148
|
+
await TxManager.dryRun(contract.methods.submitMigration(srcNetwork, srcAddress, dstAddress, srcUrl, dstUrl), transactionOptions);
|
|
149
|
+
}
|
|
150
|
+
return await TxManager.execute(contract.methods.submitMigration(srcNetwork, srcAddress, dstAddress, srcUrl, dstUrl), transactionOptions, Campaign.addressHttps);
|
|
151
|
+
}
|
|
152
|
+
static async updateMigrationStatusByApp(migrationIndex, isDeployed, transactions, transactionOptions, checkTxBeforeSend = false) {
|
|
153
|
+
const contract = this.checkInit();
|
|
154
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
155
|
+
if (checkTxBeforeSend) {
|
|
156
|
+
await TxManager.dryRun(contract.methods.updateMigrationStatusByApp(migrationIndex, isDeployed, transactions), transactionOptions);
|
|
157
|
+
}
|
|
158
|
+
return await TxManager.execute(contract.methods.updateMigrationStatusByApp(migrationIndex, isDeployed, transactions), transactionOptions, Campaign.addressHttps);
|
|
159
|
+
}
|
|
160
|
+
static async updateMigrationTransactionsByApp(migrationIndex, transactions, transactionOptions, checkTxBeforeSend = false) {
|
|
161
|
+
const contract = this.checkInit();
|
|
162
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
163
|
+
if (checkTxBeforeSend) {
|
|
164
|
+
await TxManager.dryRun(contract.methods.updateMigrationTransactionsByApp(migrationIndex, transactions), transactionOptions);
|
|
165
|
+
}
|
|
166
|
+
return await TxManager.execute(contract.methods.updateMigrationTransactionsByApp(migrationIndex, transactions), transactionOptions, Campaign.addressHttps);
|
|
167
|
+
}
|
|
168
|
+
static async claimReward(transactionOptions, checkTxBeforeSend = false) {
|
|
169
|
+
const contract = this.checkInit();
|
|
170
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
171
|
+
if (checkTxBeforeSend) {
|
|
172
|
+
await TxManager.dryRun(contract.methods.claimReward(), transactionOptions);
|
|
173
|
+
}
|
|
174
|
+
return await TxManager.execute(contract.methods.claimReward(), transactionOptions, Campaign.addressHttps);
|
|
175
|
+
}
|
|
176
|
+
static async grantRole(role, account, transactionOptions, checkTxBeforeSend = false) {
|
|
177
|
+
const contract = this.checkInit();
|
|
178
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
179
|
+
role = utils.keccak256(role);
|
|
180
|
+
if (checkTxBeforeSend) {
|
|
181
|
+
await TxManager.dryRun(contract.methods.grantRole(role, account), transactionOptions);
|
|
182
|
+
}
|
|
183
|
+
return await TxManager.execute(contract.methods.grantRole(role, account), transactionOptions, Campaign.addressHttps);
|
|
184
|
+
}
|
|
185
|
+
static onRegisterUser(callback) {
|
|
186
|
+
const listener = BlockchainEventsListener.getInstance();
|
|
187
|
+
const logger = this.logger.child({ method: 'onRegisterUser' });
|
|
188
|
+
const onData = (event) => {
|
|
189
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
190
|
+
callback(parsedEvent.participant, {
|
|
191
|
+
index: Number(event.blockNumber),
|
|
192
|
+
hash: event.blockHash,
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
const onError = (error) => {
|
|
196
|
+
logger.warn(error);
|
|
197
|
+
};
|
|
198
|
+
const contract = this.checkInit(true);
|
|
199
|
+
return listener.subscribeEvent({
|
|
200
|
+
onError,
|
|
201
|
+
onData,
|
|
202
|
+
event: 'ParticipantRegistered',
|
|
203
|
+
contract: contract,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
static onMigrationSubmitted(callback) {
|
|
207
|
+
const listener = BlockchainEventsListener.getInstance();
|
|
208
|
+
const logger = this.logger.child({ method: 'onMigrationSubmitted' });
|
|
209
|
+
const onData = (event) => {
|
|
210
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
211
|
+
callback(parsedEvent.participant, parsedEvent.migrationIndex, {
|
|
212
|
+
index: Number(event.blockNumber),
|
|
213
|
+
hash: event.blockHash,
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
const onError = (error) => {
|
|
217
|
+
logger.warn(error);
|
|
218
|
+
};
|
|
219
|
+
const contract = this.checkInit(true);
|
|
220
|
+
return listener.subscribeEvent({
|
|
221
|
+
onError,
|
|
222
|
+
onData,
|
|
223
|
+
event: 'MigrationSubmitted',
|
|
224
|
+
contract: contract,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
static onMigrationStatusUpdated(callback) {
|
|
228
|
+
const listener = BlockchainEventsListener.getInstance();
|
|
229
|
+
const logger = this.logger.child({ method: 'onMigrationStatusUpdated' });
|
|
230
|
+
const onData = (event) => {
|
|
231
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
232
|
+
callback(parsedEvent.migrationIndex, parsedEvent.status, {
|
|
233
|
+
index: Number(event.blockNumber),
|
|
234
|
+
hash: event.blockHash,
|
|
235
|
+
});
|
|
236
|
+
};
|
|
237
|
+
const onError = (error) => {
|
|
238
|
+
logger.warn(error);
|
|
239
|
+
};
|
|
240
|
+
const contract = this.checkInit(true);
|
|
241
|
+
return listener.subscribeEvent({
|
|
242
|
+
onError,
|
|
243
|
+
onData,
|
|
244
|
+
event: 'MigrationStatusUpdated',
|
|
245
|
+
contract: contract,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
static onMigrationTransactionsUpdated(callback) {
|
|
249
|
+
const listener = BlockchainEventsListener.getInstance();
|
|
250
|
+
const logger = this.logger.child({ method: 'onMigrationTransactionsUpdated' });
|
|
251
|
+
const onData = (event) => {
|
|
252
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
253
|
+
callback(parsedEvent.migrationIndex, parsedEvent.transactions, {
|
|
254
|
+
index: Number(event.blockNumber),
|
|
255
|
+
hash: event.blockHash,
|
|
256
|
+
});
|
|
257
|
+
};
|
|
258
|
+
const onError = (error) => {
|
|
259
|
+
logger.warn(error);
|
|
260
|
+
};
|
|
261
|
+
const contract = this.checkInit(true);
|
|
262
|
+
return listener.subscribeEvent({
|
|
263
|
+
onError,
|
|
264
|
+
onData,
|
|
265
|
+
event: 'MigrationTransactionsUpdated',
|
|
266
|
+
contract: contract,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
static onRewardClaimed(callback) {
|
|
270
|
+
const listener = BlockchainEventsListener.getInstance();
|
|
271
|
+
const logger = this.logger.child({ method: 'onRewardClaimed' });
|
|
272
|
+
const onData = (event) => {
|
|
273
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
274
|
+
callback(parsedEvent.participant, parsedEvent.amount, {
|
|
275
|
+
index: Number(event.blockNumber),
|
|
276
|
+
hash: event.blockHash,
|
|
277
|
+
});
|
|
278
|
+
};
|
|
279
|
+
const onError = (error) => {
|
|
280
|
+
logger.warn(error);
|
|
281
|
+
};
|
|
282
|
+
const contract = this.checkInit(true);
|
|
283
|
+
return listener.subscribeEvent({
|
|
284
|
+
onError,
|
|
285
|
+
onData,
|
|
286
|
+
event: 'RewardClaimed',
|
|
287
|
+
contract: contract,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
export default Campaign;
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtcGFpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL0NhbXBhaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0MsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVlwRixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU1sRSxNQUFNLFFBQVE7SUFDSixNQUFNLENBQUMsYUFBYSxDQUFTO0lBQzdCLE1BQU0sQ0FBQyxXQUFXLENBQVM7SUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBd0I7SUFDNUMsTUFBTSxDQUFDLFdBQVcsQ0FBd0I7SUFDMUMsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFdEUsTUFBTSxLQUFLLFlBQVk7UUFDNUIsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLEtBQUssWUFBWSxDQUFDLFVBQWtCO1FBQy9DLFFBQVEsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxRQUFRLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2QyxRQUFRLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRU0s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
|
|
@@ -7,7 +7,6 @@ import Superpro from './Superpro.js';
|
|
|
7
7
|
import TxManager from '../utils/TxManager.js';
|
|
8
8
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
9
9
|
import OffersCommon from './OffersCommon.js';
|
|
10
|
-
import { ethers } from 'ethers';
|
|
11
10
|
class Offers {
|
|
12
11
|
static logger = rootLogger.child({ className: 'Offers' });
|
|
13
12
|
static get address() {
|
|
@@ -67,7 +66,7 @@ class Offers {
|
|
|
67
66
|
* @returns Promise that resolves when offer is created
|
|
68
67
|
*/
|
|
69
68
|
static async create(params) {
|
|
70
|
-
const { providerAuthorityAccount, offerInfo, externalId = 'default', enabled = false,
|
|
69
|
+
const { providerAuthorityAccount, offerInfo, externalId = 'default', enabled = false, transactionOptions, } = params;
|
|
71
70
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
72
71
|
checkIfActionAccountInitialized(transactionOptions);
|
|
73
72
|
const formattedExternalId = formatBytes32String(externalId);
|
|
@@ -84,7 +83,6 @@ class Offers {
|
|
|
84
83
|
offerType: offerType,
|
|
85
84
|
providerAuth: providerAuthorityAccount,
|
|
86
85
|
enabled,
|
|
87
|
-
offerActionAccount: offerActionAccount ?? ethers.constants.AddressZero,
|
|
88
86
|
};
|
|
89
87
|
const newOfferId = await StaticModel.createEntity({
|
|
90
88
|
txExecutorCallback: async () => {
|
|
@@ -247,4 +245,4 @@ class Offers {
|
|
|
247
245
|
}
|
|
248
246
|
}
|
|
249
247
|
export default Offers;
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQWEsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RixPQUFPLEVBTUwsU0FBUyxHQU1WLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTXZGLE9BQU8sWUFBWSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEMsTUFBTSxNQUFNO0lBQ0YsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFM0UsTUFBTSxLQUFLLE9BQU87UUFDaEIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsT0FBTyxNQUFNO2FBQ1YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUM7YUFDcEQsR0FB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
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQWEsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RixPQUFPLEVBTUwsU0FBUyxHQU1WLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTXZGLE9BQU8sWUFBWSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLE1BQU0sTUFBTTtJQUNGLE1BQU0sQ0FBVSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sS0FBSyxPQUFPO1FBQ2hCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU07UUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLE9BQU8sTUFBTTthQUNWLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFD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
|