Alright I was going through the keepers contract to understand how it works from a contract perspective.
There are two parameters that I don't understand what they're used for in the register
function which is the uint96 amount
and the uint8 source
if anyone could help out if you know what they're for that'd be awesome.
function register(
string memory name,
bytes calldata encryptedEmail,
address upkeepContract,
uint32 gasLimit,
address adminAddress,
bytes calldata checkData,
uint96 amount,
uint8 source
) external onlyLINK {
require(adminAddress != address(0), "invalid admin address");
bytes32 hash = keccak256(abi.encode(upkeepContract, gasLimit, adminAddress, checkData));
emit RegistrationRequested(
hash,
name,
encryptedEmail,
upkeepContract,
gasLimit,
adminAddress,
checkData,
amount,
source
);
AutoApprovedConfig memory config = s_config;
if (config.enabled && _underApprovalLimit(config)) {
_incrementApprovedCount(config);
_approve(name, upkeepContract, gasLimit, adminAddress, checkData, amount, hash);
} else {
uint96 newBalance = s_pendingRequests[hash].balance.add(amount);
s_pendingRequests[hash] = PendingRequest({admin: adminAddress, balance: newBalance});
}
}
In the natspec the details of the params were...
@param amount quantity of LINK upkeep is funded with (specified in Juels)
@param source application sending this request
I have no idea what a juels is and what they mean by application sending the request as a uint8 parameter.