Skip to content

Commit

Permalink
feat: semessenger without hits and misses
Browse files Browse the repository at this point in the history
  • Loading branch information
matiasbn committed Jun 15, 2021
1 parent f5efd49 commit 8e5bbee
Show file tree
Hide file tree
Showing 56 changed files with 1,423 additions and 3,471 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../../build-info/b72170c1da43a51079648d607119c060.json"
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../../build-info/b72170c1da43a51079648d607119c060.json"
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../build-info/b72170c1da43a51079648d607119c060.json"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/d6d030e19809afb07d0f1b774cdfb9ac.json"
"buildInfo": "../../../build-info/b72170c1da43a51079648d607119c060.json"
}
4 changes: 2 additions & 2 deletions cache/solidity-files-cache.json
Original file line number Diff line number Diff line change
Expand Up @@ -1389,8 +1389,8 @@
]
},
"/Users/matiasbn/stacktical/stacktical-developer-toolkit/contracts/messengers/staking-efficiency/SEMessenger.sol": {
"lastModificationDate": 1623458144550,
"contentHash": "c3823f2450e119f9dfb46e1e37531eb6",
"lastModificationDate": 1623791419485,
"contentHash": "ba23ae1dcbc8aa8a8fa6867fa35a5965",
"sourceName": "contracts/messengers/staking-efficiency/SEMessenger.sol",
"solcConfig": {
"version": "0.6.6",
Expand Down
5 changes: 1 addition & 4 deletions chainlinkUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,7 @@ const postChainlinkJob = async (
type: jobName,
},
{
type: 'copy',
params: {
copyPath: ['result'],
},
type: 'EthUint256',
},
{
type: 'ethtx',
Expand Down
66 changes: 14 additions & 52 deletions contracts/messengers/staking-efficiency/SEMessenger.sol
Original file line number Diff line number Diff line change
Expand Up @@ -146,15 +146,15 @@ contract SEMessenger is ChainlinkClient, IMessenger, ReentrancyGuard {
_fee
);
}
Chainlink.Request memory request =
buildChainlinkRequest(
_jobId,
address(this),
this.fulfillSLI.selector
);
(uint256 sla_monitoring_start, uint256 sla_monitoring_end) =
periodRegistry.getPeriodStartAndEnd(sla.periodType(), _periodId);
request.add('job_type', 'staking_efficiency');
Chainlink.Request memory request = buildChainlinkRequest(
_jobId,
address(this),
this.fulfillSLI.selector
);
(
uint256 sla_monitoring_start,
uint256 sla_monitoring_end
) = periodRegistry.getPeriodStartAndEnd(sla.periodType(), _periodId);
request.add(
'sla_monitoring_start',
StringUtils.uintToStr(sla_monitoring_start)
Expand Down Expand Up @@ -183,64 +183,26 @@ contract SEMessenger is ChainlinkClient, IMessenger, ReentrancyGuard {
* @dev callback function for the Chainlink SLI request which stores
* the SLI in the SLA contract
* @param _requestId the ID of the ChainLink request
* @param _chainlinkResponseUint256 response object from Chainlink Oracles
* @param _chainlinkResponse response object from Chainlink Oracles
*/
function fulfillSLI(bytes32 _requestId, uint256 _chainlinkResponseUint256)
function fulfillSLI(bytes32 _requestId, uint256 _chainlinkResponse)
external
override
nonReentrant
recordChainlinkFulfillment(_requestId)
{
bytes32 _chainlinkResponse = bytes32(_chainlinkResponseUint256);
SLIRequest memory request = requestIdToSLIRequest[_requestId];
emit SLIReceived(
request.slaAddress,
request.periodId,
_requestId,
_chainlinkResponse
bytes32(_chainlinkResponse)
);
(uint256 hits, uint256 misses) = parseSLIData(_chainlinkResponse);
uint256 total = hits.add(misses);
uint256 stakingEfficiency =
hits.mul(100 * _messengerPrecision).div(total);
_fulfillsCounter += 1;
SLA(request.slaAddress).registerSLI(
stakingEfficiency,
_chainlinkResponse,
request.periodId
);

_fulfillsCounter += 1;
}

/**
* @dev recieves a string of "hits,misses" data and returns hits and misses as uint256
* @param sliData the ID of the ChainLink request
*/
function parseSLIData(bytes32 sliData)
public
pure
returns (uint256, uint256)
{
bytes memory bytesSLIData = bytes(StringUtils.bytes32ToStr(sliData));
uint256 sliDataLength = bytesSLIData.length;
bytes memory bytesHits = new bytes(sliDataLength);
bytes memory bytesMisses = new bytes(sliDataLength);
for (uint256 index; index < sliDataLength; index++) {
if (bytesSLIData[index] == bytes1(',')) {
for (uint256 index2 = 0; index2 < index; index2++) {
bytesHits[index2] = bytesSLIData[index2];
}
for (
uint256 index3 = 0;
index3 < sliDataLength - index - 1;
index3++
) {
bytesMisses[index3] = bytesSLIData[index + 1 + index3];
}
}
}
uint256 hits = StringUtils.bytesToUint(bytesHits);
uint256 misses = StringUtils.bytesToUint(bytesMisses);
return (hits, misses);
}

function retryRequest(address _slaAddress, uint256 _periodId)
Expand Down
Loading

0 comments on commit 8e5bbee

Please sign in to comment.