Skip to content

Commit

Permalink
FUN-992 - Add minimumEstimateGasPrice to Functions Coordinator config (
Browse files Browse the repository at this point in the history
…#10916)

* FUN-992 - Add minimumEstimateGasPrice to Functions Coordinator config

* (chore): Add CHANGELOG entry

* Update gas snapshot

* Bump FunctionsCoordinator version - v1.1.0

* Increase size to uint40

* (test): Amend FunctionsCoordinator.test.ts for min estimation gas price

* rename to minimumEstimateGasPriceWei

* Re-align packing comment
  • Loading branch information
justinkaseman authored Oct 16, 2023
1 parent 6dc18cb commit 458c18c
Show file tree
Hide file tree
Showing 12 changed files with 80 additions and 42 deletions.
1 change: 1 addition & 0 deletions contracts/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- Moved `VRFCoordinatorV2Mock.sol` to src/v0.8/vrf/mocks
- Moved `VRFCoordinatorMock.sol` to src/v0.8/vrf/mocks
- Release Functions v1.0.0 contracts. Start dev folder for v1.X (#10941)
- Add minimumEstimateGasPriceWei to Functions Coordinator config (#10916)

### Removed

Expand Down
57 changes: 29 additions & 28 deletions contracts/gas-snapshots/functions.gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
FunctionsBilling_EstimateCost:test_EstimateCost_RevertsIfGasPriceAboveCeiling() (gas: 32391)
FunctionsBilling_EstimateCost:test_EstimateCost_Success() (gas: 53002)
FunctionsBilling_GetConfig:test_GetConfig_Success() (gas: 23088)
FunctionsBilling_OracleWithdrawAll:test_OracleWithdrawAll_RevertIfNotOwner() (gas: 13274)
FunctionsBilling_OracleWithdrawAll:test_OracleWithdrawAll_SuccessPaysTransmittersWithBalance() (gas: 146635)
FunctionsClient_FulfillRequest:test_FulfillRequest_MaximumGas() (gas: 499079)
FunctionsClient_FulfillRequest:test_FulfillRequest_MinimumGas() (gas: 200226)
FunctionsBilling_EstimateCost:test_EstimateCost_Success() (gas: 53186)
FunctionsBilling_EstimateCost:test_EstimateCost_SuccessLowGasPrice() (gas: 53289)
FunctionsBilling_GetConfig:test_GetConfig_Success() (gas: 23671)
FunctionsBilling_OracleWithdrawAll:test_OracleWithdrawAll_RevertIfNotOwner() (gas: 13296)
FunctionsBilling_OracleWithdrawAll:test_OracleWithdrawAll_SuccessPaysTransmittersWithBalance() (gas: 146657)
FunctionsClient_FulfillRequest:test_FulfillRequest_MaximumGas() (gas: 499173)
FunctionsClient_FulfillRequest:test_FulfillRequest_MinimumGas() (gas: 200320)
FunctionsClient__SendRequest:test__SendRequest_RevertIfInvalidCallbackGasLimit() (gas: 54991)
FunctionsCoordinator_Constructor:test_Constructor_Success() (gas: 11956)
FunctionsCoordinator_Constructor:test_Constructor_Success() (gas: 11933)
FunctionsOracle_sendRequest:testEmptyRequestDataReverts() (gas: 13452)
FunctionsOracle_setDONPublicKey:testEmptyPublicKeyReverts() (gas: 10974)
FunctionsOracle_setDONPublicKey:testOnlyOwnerReverts() (gas: 11255)
Expand All @@ -21,17 +22,17 @@ FunctionsRequest_DEFAULT_BUFFER_SIZE:test_DEFAULT_BUFFER_SIZE() (gas: 246)
FunctionsRequest_EncodeCBOR:test_EncodeCBOR_Success() (gas: 223)
FunctionsRequest_REQUEST_DATA_VERSION:test_REQUEST_DATA_VERSION() (gas: 225)
FunctionsRouter_Constructor:test_Constructor_Success() (gas: 12073)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedCostExceedsCommitment() (gas: 172948)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedInsufficientGas() (gas: 163234)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedCostExceedsCommitment() (gas: 173058)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedInsufficientGas() (gas: 163385)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedInvalidCommitment() (gas: 38092)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedInvalidRequestId() (gas: 35224)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedSubscriptionBalanceInvariant() (gas: 181443)
FunctionsRouter_Fulfill:test_Fulfill_RequestNotProcessedSubscriptionBalanceInvariant() (gas: 181553)
FunctionsRouter_Fulfill:test_Fulfill_RevertIfNotCommittedCoordinator() (gas: 28063)
FunctionsRouter_Fulfill:test_Fulfill_RevertIfPaused() (gas: 156949)
FunctionsRouter_Fulfill:test_Fulfill_SuccessClientNoLongerExists() (gas: 297578)
FunctionsRouter_Fulfill:test_Fulfill_SuccessFulfilled() (gas: 311169)
FunctionsRouter_Fulfill:test_Fulfill_SuccessUserCallbackReverts() (gas: 2485366)
FunctionsRouter_Fulfill:test_Fulfill_SuccessUserCallbackRunsOutOfGas() (gas: 515855)
FunctionsRouter_Fulfill:test_Fulfill_RevertIfPaused() (gas: 157059)
FunctionsRouter_Fulfill:test_Fulfill_SuccessClientNoLongerExists() (gas: 297770)
FunctionsRouter_Fulfill:test_Fulfill_SuccessFulfilled() (gas: 311362)
FunctionsRouter_Fulfill:test_Fulfill_SuccessUserCallbackReverts() (gas: 2485784)
FunctionsRouter_Fulfill:test_Fulfill_SuccessUserCallbackRunsOutOfGas() (gas: 516269)
FunctionsRouter_GetAdminFee:test_GetAdminFee_Success() (gas: 18005)
FunctionsRouter_GetAllowListId:test_GetAllowListId_Success() (gas: 12926)
FunctionsRouter_GetConfig:test_GetConfig_Success() (gas: 37136)
Expand All @@ -52,24 +53,24 @@ FunctionsRouter_ProposeContractsUpdate:test_ProposeContractsUpdate_RevertIfNotNe
FunctionsRouter_ProposeContractsUpdate:test_ProposeContractsUpdate_RevertIfNotOwner() (gas: 23369)
FunctionsRouter_ProposeContractsUpdate:test_ProposeContractsUpdate_Success() (gas: 118456)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfConsumerNotAllowed() (gas: 59304)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfDuplicateRequestId() (gas: 192134)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfDuplicateRequestId() (gas: 192478)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfEmptyData() (gas: 29405)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfIncorrectDonId() (gas: 57926)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfInsufficientSubscriptionBalance() (gas: 185987)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfInsufficientSubscriptionBalance() (gas: 186209)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfInvalidCallbackGasLimit() (gas: 50902)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfInvalidDonId() (gas: 25061)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfNoSubscription() (gas: 29111)
FunctionsRouter_SendRequest:test_SendRequest_RevertIfPaused() (gas: 34247)
FunctionsRouter_SendRequest:test_SendRequest_Success() (gas: 197669)
FunctionsRouter_SendRequest:test_SendRequest_Success() (gas: 198076)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfConsumerNotAllowed() (gas: 65800)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfEmptyData() (gas: 35991)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfIncorrectDonId() (gas: 29897)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfInvalidCallbackGasLimit() (gas: 57488)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfInvalidDonId() (gas: 27482)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfNoSubscription() (gas: 35696)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_RevertIfPaused() (gas: 40766)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_Success() (gas: 204227)
FunctionsRouter_SendRequestToProposed:test_SendRequest_RevertIfInsufficientSubscriptionBalance() (gas: 192506)
FunctionsRouter_SendRequestToProposed:test_SendRequestToProposed_Success() (gas: 204634)
FunctionsRouter_SendRequestToProposed:test_SendRequest_RevertIfInsufficientSubscriptionBalance() (gas: 192728)
FunctionsRouter_SetAllowListId:test_SetAllowListId_Success() (gas: 30687)
FunctionsRouter_SetAllowListId:test_UpdateConfig_RevertIfNotOwner() (gas: 13380)
FunctionsRouter_Unpause:test_Unpause_RevertIfNotOwner() (gas: 13337)
Expand All @@ -94,10 +95,10 @@ FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_RevertIfNoSubs
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_RevertIfNotAllowedSender() (gas: 57929)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_RevertIfNotSubscriptionOwner() (gas: 89316)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_RevertIfPaused() (gas: 20191)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_RevertIfPendingRequests() (gas: 193222)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_RevertIfPendingRequests() (gas: 193445)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_SuccessForfeitAllBalanceAsDeposit() (gas: 114636)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_SuccessForfeitSomeBalanceAsDeposit() (gas: 125891)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_SuccessRecieveDeposit() (gas: 311988)
FunctionsSubscriptions_CancelSubscription:test_CancelSubscription_SuccessRecieveDeposit() (gas: 312326)
FunctionsSubscriptions_Constructor:test_Constructor_Success() (gas: 7654)
FunctionsSubscriptions_CreateSubscriptionWithConsumer:test_CreateSubscriptionWithConsumer_RevertIfNotAllowedSender() (gas: 28637)
FunctionsSubscriptions_CreateSubscriptionWithConsumer:test_CreateSubscriptionWithConsumer_RevertIfPaused() (gas: 17948)
Expand Down Expand Up @@ -126,15 +127,15 @@ FunctionsSubscriptions_OwnerCancelSubscription:test_OwnerCancelSubscription_Reve
FunctionsSubscriptions_OwnerCancelSubscription:test_OwnerCancelSubscription_Success() (gas: 54867)
FunctionsSubscriptions_OwnerCancelSubscription:test_OwnerCancelSubscription_SuccessDeletesSubscription() (gas: 49624)
FunctionsSubscriptions_OwnerCancelSubscription:test_OwnerCancelSubscription_SuccessSubOwnerRefunded() (gas: 50896)
FunctionsSubscriptions_OwnerCancelSubscription:test_OwnerCancelSubscription_SuccessWhenRequestInFlight() (gas: 163867)
FunctionsSubscriptions_OwnerCancelSubscription:test_OwnerCancelSubscription_SuccessWhenRequestInFlight() (gas: 164045)
FunctionsSubscriptions_OwnerWithdraw:test_OwnerWithdraw_RevertIfAmountMoreThanBalance() (gas: 17924)
FunctionsSubscriptions_OwnerWithdraw:test_OwnerWithdraw_RevertIfBalanceInvariant() (gas: 165)
FunctionsSubscriptions_OwnerWithdraw:test_OwnerWithdraw_RevertIfNotOwner() (gas: 15555)
FunctionsSubscriptions_OwnerWithdraw:test_OwnerWithdraw_SuccessIfNoAmount() (gas: 37396)
FunctionsSubscriptions_OwnerWithdraw:test_OwnerWithdraw_SuccessPaysRecipient() (gas: 54435)
FunctionsSubscriptions_OwnerWithdraw:test_OwnerWithdraw_SuccessSetsBalanceToZero() (gas: 37790)
FunctionsSubscriptions_PendingRequestExists:test_PendingRequestExists_SuccessFalseIfNoPendingRequests() (gas: 15025)
FunctionsSubscriptions_PendingRequestExists:test_PendingRequestExists_SuccessTrueIfPendingRequests() (gas: 175356)
FunctionsSubscriptions_PendingRequestExists:test_PendingRequestExists_SuccessTrueIfPendingRequests() (gas: 175579)
FunctionsSubscriptions_ProposeSubscriptionOwnerTransfer:test_ProposeSubscriptionOwnerTransfer_RevertIfEmptyNewOwner() (gas: 27610)
FunctionsSubscriptions_ProposeSubscriptionOwnerTransfer:test_ProposeSubscriptionOwnerTransfer_RevertIfInvalidNewOwner() (gas: 57707)
FunctionsSubscriptions_ProposeSubscriptionOwnerTransfer:test_ProposeSubscriptionOwnerTransfer_RevertIfNoSubscription() (gas: 15000)
Expand All @@ -149,15 +150,15 @@ FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_RevertIfNoSubscription
FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_RevertIfNotAllowedSender() (gas: 57778)
FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_RevertIfNotSubscriptionOwner() (gas: 87186)
FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_RevertIfPaused() (gas: 18004)
FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_RevertIfPendingRequests() (gas: 190654)
FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_RevertIfPendingRequests() (gas: 190877)
FunctionsSubscriptions_RemoveConsumer:test_RemoveConsumer_Success() (gas: 41979)
FunctionsSubscriptions_SetFlags:test_SetFlags_RevertIfNoSubscription() (gas: 12847)
FunctionsSubscriptions_SetFlags:test_SetFlags_RevertIfNotOwner() (gas: 15640)
FunctionsSubscriptions_SetFlags:test_SetFlags_Success() (gas: 35549)
FunctionsSubscriptions_TimeoutRequests:test_TimeoutRequests_RevertIfPaused() (gas: 25910)
FunctionsSubscriptions_TimeoutRequests:test_TimeoutRequests_RevertIfTimeoutNotExceeded() (gas: 25239)
FunctionsSubscriptions_TimeoutRequests:test_TimeoutRequests_RevertInvalidRequest() (gas: 28220)
FunctionsSubscriptions_TimeoutRequests:test_TimeoutRequests_Success() (gas: 57730)
FunctionsSubscriptions_TimeoutRequests:test_TimeoutRequests_Success() (gas: 57752)
FunctionsSubscriptions_createSubscription:test_CreateSubscription_RevertIfNotAllowedSender() (gas: 26368)
FunctionsSubscriptions_createSubscription:test_CreateSubscription_RevertIfPaused() (gas: 15714)
FunctionsSubscriptions_createSubscription:test_CreateSubscription_Success() (gas: 152510)
Expand Down Expand Up @@ -186,5 +187,5 @@ Gas_AcceptTermsOfService:test_AcceptTermsOfService_Gas() (gas: 84675)
Gas_AddConsumer:test_AddConsumer_Gas() (gas: 79067)
Gas_CreateSubscription:test_CreateSubscription_Gas() (gas: 73353)
Gas_FundSubscription:test_FundSubscription_Gas() (gas: 38501)
Gas_SendRequest:test_SendRequest_MaximumGas() (gas: 958006)
Gas_SendRequest:test_SendRequest_MinimumGas() (gas: 156382)
Gas_SendRequest:test_SendRequest_MaximumGas() (gas: 958243)
Gas_SendRequest:test_SendRequest_MinimumGas() (gas: 156605)
10 changes: 8 additions & 2 deletions contracts/src/v0.8/functions/dev/v1_X/FunctionsBilling.sol
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ abstract contract FunctionsBilling is Routable, IFunctionsBilling {
uint32 feedStalenessSeconds; // ║ How long before we consider the feed price to be stale and fallback to fallbackNativePerUnitLink.
uint32 gasOverheadBeforeCallback; // ║ Represents the average gas execution cost before the fulfillment callback. This amount is always billed for every request.
uint32 gasOverheadAfterCallback; // ║ Represents the average gas execution cost after the fulfillment callback. This amount is always billed for every request.
uint32 requestTimeoutSeconds; // ║ How many seconds it takes before we consider a request to be timed out
uint72 donFee; // ║ Additional flat fee (in Juels of LINK) that will be split between Node Operators. Max value is 2^80 - 1 == 1.2m LINK.
uint40 minimumEstimateGasPriceWei; // ║ The lowest amount of wei that will be used as the tx.gasprice when estimating the cost to fulfill the request
uint16 maxSupportedRequestDataVersion; // ═══════╝ The highest support request data version supported by the node. All lower versions should also be supported.
uint224 fallbackNativePerUnitLink; // ═══════════╸ fallback NATIVE CURRENCY / LINK conversion rate if the data feed is stale
uint224 fallbackNativePerUnitLink; // ═══════════╗ Fallback NATIVE CURRENCY / LINK conversion rate if the data feed is stale
uint32 requestTimeoutSeconds; // ════════════════╝ How many seconds it takes before we consider a request to be timed out
}

Config private s_config;
Expand Down Expand Up @@ -160,6 +161,11 @@ abstract contract FunctionsBilling is Routable, IFunctionsBilling {
) internal view returns (uint96) {
uint256 executionGas = s_config.gasOverheadBeforeCallback + s_config.gasOverheadAfterCallback + callbackGasLimit;

// If gas price is less than the minimum fulfillment gas price, override to using the minimum
if (gasPriceWei < s_config.minimumEstimateGasPriceWei) {
gasPriceWei = s_config.minimumEstimateGasPriceWei;
}

uint256 gasPriceWithOverestimation = gasPriceWei +
((gasPriceWei * s_config.fulfillmentGasPriceOverEstimationBP) / 10_000);
/// @NOTE: Basis Points are 1/100th of 1%, divide by 10_000 to bring back to original units
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ contract FunctionsCoordinator is OCR2Base, IFunctionsCoordinator, FunctionsBilli

/// @inheritdoc ITypeAndVersion
// solhint-disable-next-line chainlink-solidity/all-caps-constant-storage-variables
string public constant override typeAndVersion = "Functions Coordinator v1.0.0";
string public constant override typeAndVersion = "Functions Coordinator v1.1.0";

event OracleRequest(
bytes32 indexed requestId,
Expand Down
29 changes: 27 additions & 2 deletions contracts/src/v0.8/functions/tests/v1_X/FunctionsBilling.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ contract FunctionsBilling_EstimateCost is FunctionsSubscriptionSetup {
s_functionsCoordinator.estimateCost(s_subscriptionId, requestData, callbackGasLimit, gasPriceWei);
}

function test_EstimateCost_Success() public {
function test_EstimateCost_SuccessLowGasPrice() public {
// Build minimal valid request data
string memory sourceCode = "return 'hello world';";
FunctionsRequest.Request memory request;
Expand All @@ -109,7 +109,32 @@ contract FunctionsBilling_EstimateCost is FunctionsSubscriptionSetup {
callbackGasLimit,
gasPriceWei
);
uint96 expectedCostEstimate = 10873200;
uint96 expectedCostEstimate = 16375000000000200;
assertEq(costEstimate, expectedCostEstimate);
}

function test_EstimateCost_Success() public {
// Build minimal valid request data
string memory sourceCode = "return 'hello world';";
FunctionsRequest.Request memory request;
FunctionsRequest._initializeRequest(
request,
FunctionsRequest.Location.Inline,
FunctionsRequest.CodeLanguage.JavaScript,
sourceCode
);
bytes memory requestData = FunctionsRequest._encodeCBOR(request);

uint32 callbackGasLimit = 5_500;
uint256 gasPriceWei = 5000000000; // 5 gwei

uint96 costEstimate = s_functionsCoordinator.estimateCost(
s_subscriptionId,
requestData,
callbackGasLimit,
gasPriceWei
);
uint96 expectedCostEstimate = 81875000000000200;
assertEq(costEstimate, expectedCostEstimate);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {FunctionsRouterSetup} from "./Setup.t.sol";
/// @notice #constructor
contract FunctionsCoordinator_Constructor is FunctionsRouterSetup {
function test_Constructor_Success() public {
assertEq(s_functionsCoordinator.typeAndVersion(), "Functions Coordinator v1.0.0");
assertEq(s_functionsCoordinator.typeAndVersion(), "Functions Coordinator v1.1.0");
assertEq(s_functionsCoordinator.owner(), OWNER_ADDRESS);
}
}
Expand Down
3 changes: 2 additions & 1 deletion contracts/src/v0.8/functions/tests/v1_X/Setup.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ contract FunctionsRouterSetup is BaseTest {
donFee: s_donFee,
maxSupportedRequestDataVersion: 1,
fulfillmentGasPriceOverEstimationBP: 5000,
fallbackNativePerUnitLink: 5000000000000000
fallbackNativePerUnitLink: 5000000000000000,
minimumEstimateGasPriceWei: 1000000000 // 1 gwei
});
}

Expand Down
4 changes: 2 additions & 2 deletions contracts/test/v0.8/functions/v1/FunctionsCoordinator.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ describe('Functions Coordinator', () => {

it('#fulfillmentGasPriceOverEstimationBP overestimates gas cost', async () => {
const estimateWithNoOverestimaton =
await contracts.coordinator.estimateCost(1, 0x0, 100_000, 20)
await contracts.coordinator.estimateCost(1, 0x0, 100_000, 2000000000)

await contracts.coordinator.updateConfig({
...coordinatorConfig,
Expand All @@ -60,7 +60,7 @@ describe('Functions Coordinator', () => {

// Halve the gas price, which should be the same estimate because of fulfillmentGasPriceOverEstimationBP doubling the gas price
const estimateWithOverestimaton =
await contracts.coordinator.estimateCost(1, 0x0, 100_000, 10)
await contracts.coordinator.estimateCost(1, 0x0, 100_000, 1000000000)

expect(estimateWithNoOverestimaton).to.equal(estimateWithOverestimaton)
})
Expand Down
2 changes: 2 additions & 0 deletions contracts/test/v0.8/functions/v1/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ export type CoordinatorConfig = {
maxSupportedRequestDataVersion: number
fulfillmentGasPriceOverEstimationBP: number
fallbackNativePerUnitLink: BigNumber
minimumEstimateGasPriceWei: number
}
const fallbackNativePerUnitLink = 5000000000000000
export const coordinatorConfig: CoordinatorConfig = {
Expand All @@ -109,6 +110,7 @@ export const coordinatorConfig: CoordinatorConfig = {
maxSupportedRequestDataVersion: 1,
fulfillmentGasPriceOverEstimationBP: 0,
fallbackNativePerUnitLink: BigNumber.from(fallbackNativePerUnitLink),
minimumEstimateGasPriceWei: 1000000000,
}
export const accessControlMockPublicKey = ethers.utils.getAddress(
'0x32237412cC0321f56422d206e505dB4B3871AF5c',
Expand Down

Large diffs are not rendered by default.

Loading

0 comments on commit 458c18c

Please sign in to comment.