Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reworked contract calls caching, adding caching for Log2PLDSF #2838

Open
wants to merge 13 commits into
base: v6/develop
Choose a base branch
from
Open
24 changes: 24 additions & 0 deletions src/constants/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,9 @@ export const CONTRACTS = {
HUB_CONTRACT: 'HubContract',
COMMIT_MANAGER_V1_U1_CONTRACT: 'CommitManagerV1U1Contract',
SERVICE_AGREEMENT_V1_CONTRACT: 'ServiceAgreementV1Contract',
PARAMETERS_STORAGE_CONTRACT: 'ParametersStorageContract',
IDENTITY_STORAGE_CONTRACT: 'IdentityStorageContract',
LOG2PLDSF: 'Log2PLDSFContract',
};

export const CONTRACT_EVENTS = {
Expand All @@ -563,6 +566,8 @@ export const CONTRACT_EVENTS = {
PROFILE: ['AskUpdated'],
COMMIT_MANAGER_V1: ['StateFinalized'],
SERVICE_AGREEMENT_V1: ['ServiceAgreementV1Extended', 'ServiceAgreementV1Terminated'],
PARAMETERS_STORAGE: ['ParameterChanged'],
LOG2PLDSF: ['ParameterChanged'],
};

export const NODE_ENVIRONMENTS = {
Expand All @@ -586,3 +591,22 @@ export const BLOCK_TIME_MILLIS = {
};

export const TRANSACTION_CONFIRMATIONS = 1;

export const SOLIDITY_TYPES_MAP = {
uint256: (value) => Number(value),
};

export const CACHED_CONTRACT_CALLS = {
ParametersStorageContract: new Set([
'r0',
'r1',
'r2',
'finalizationCommitsNumber',
'updateCommitWindowDuration',
'commitWindowDurationPerc',
'proofWindowDurationPerc',
'epochLength',
]),
Log2PLDSFContract: new Set(['getParameters']),
IdentityStorageContract: new Set(['getIdentityId']),
};
52 changes: 29 additions & 23 deletions src/modules/blockchain/blockchain-module-manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,35 @@ class BlockchainModuleManager extends BaseModuleManager {
]);
}

setContractCallCache(blockchain, contractName, parameterName, parameterValue) {
return this.callImplementationFunction(blockchain, 'setContractCallCache', [
contractName,
parameterName,
parameterValue,
]);
}

resetContractCallCache(blockchain, contract, parameterName) {
return this.callImplementationFunction(blockchain, 'resetContractCallCache', [
contract,
parameterName,
]);
}

getContractEventABI(blockchain, contractName, eventName) {
return this.callImplementationFunction(blockchain, 'getContractEventABI', [
contractName,
eventName,
]);
}

fromSolidityType(blockchain, solidityType, parameterValue) {
return this.callImplementationFunction(blockchain, 'fromSolidityType', [
solidityType,
parameterValue,
]);
}

getPrivateKey(blockchain) {
return this.callImplementationFunction(blockchain, 'getPrivateKey');
}
Expand All @@ -38,20 +67,12 @@ class BlockchainModuleManager extends BaseModuleManager {
return this.callImplementationFunction(blockchain, 'getManagementKey');
}

async isHubContract(blockchain, contractAddress) {
return this.callImplementationFunction(blockchain, 'isHubContract', [contractAddress]);
}

async isAssetStorageContract(blockchain, contractAddress) {
return this.callImplementationFunction(blockchain, 'isAssetStorageContract', [
contractAddress,
]);
}

async getNodeStake(blockchain, identityId) {
return this.callImplementationFunction(blockchain, 'getNodeStake', [identityId]);
}

async getBlockNumber(blockchain) {
return this.callImplementationFunction(blockchain, 'getBlockNumber');
}
Expand Down Expand Up @@ -112,13 +133,6 @@ class BlockchainModuleManager extends BaseModuleManager {
]);
}

async getAssertionIdsLength(blockchain, assetContractAddress, tokenId) {
return this.callImplementationFunction(blockchain, 'getAssertionIdsLength', [
assetContractAddress,
tokenId,
]);
}

async getKnowledgeAssetOwner(blockchain, assetContractAddress, tokenId) {
return this.callImplementationFunction(blockchain, 'getKnowledgeAssetOwner', [
assetContractAddress,
Expand All @@ -130,10 +144,6 @@ class BlockchainModuleManager extends BaseModuleManager {
return this.callImplementationFunction(blockchain, 'getUnfinalizedState', [tokenId]);
}

async getAssertionIssuer(blockchain, assertionId) {
return this.callImplementationFunction(blockchain, 'getAssertionIssuer', [assertionId]);
}

async getShardingTableHead(blockchain) {
return this.callImplementationFunction(blockchain, 'getShardingTableHead');
}
Expand Down Expand Up @@ -373,10 +383,6 @@ class BlockchainModuleManager extends BaseModuleManager {
return this.callImplementationFunction(blockchain, 'isHashFunction', [hashFunctionId]);
}

async isScoreFunction(blockchain, scoreFunctionId) {
return this.callImplementationFunction(blockchain, 'isScoreFunction', [scoreFunctionId]);
}

async callScoreFunction(blockchain, scoreFunctionId, hashFunctionId, peerId, keyword, stake) {
return this.callImplementationFunction(blockchain, 'callScoreFunction', [
scoreFunctionId,
Expand Down
Loading