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

Release 2.9.1 vrf 20240318 contract changes #12476

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
fdc914a
make billing more flexible in VRF 2.5 (#11909)
jinhoonbang Jan 26, 2024
04605be
Minor changes (#11943)
kidambisrinivas Feb 6, 2024
50e7bc3
VRF-329: add BHS CTF test (#11890)
iljapavlovs Feb 7, 2024
b056267
VRF V2.5 gas optimisations (#11932)
kidambisrinivas Feb 9, 2024
8fe2f52
VRF-878 Gas Optimization V2 Plus (#11982)
leeyikjiun Feb 14, 2024
21b84fb
VRF zero confirmation delay (#11947)
jinhoonbang Feb 15, 2024
97fd656
Add native payment to RandomWordsFulfilled event (#12085)
leeyikjiun Feb 19, 2024
c3b1ef6
Update Operator UI from v0.8.0-8da47c3 to v0.8.0-a2b54a2 (#12059)
app-token-issuer-infra-releng[bot] Feb 22, 2024
857234b
VRF-881: fixed toml config for VRF Load tests; VRF-882: add more cust…
iljapavlovs Feb 26, 2024
61664ff
Lint warning fixes (#12303)
kidambisrinivas Mar 5, 2024
862816f
add rebalancer support for feeds manager ocr2 plugins (#12344)
eutopian Mar 8, 2024
e443a5d
fulfillRandomWords msg.data length validation (#12325)
kidambisrinivas Mar 11, 2024
f3b377e
VRF flat fee config validation (#12355)
kidambisrinivas Mar 12, 2024
bebabbd
Explicit bounds for premium config params in VRFCoordinatorV2_5 (#12314)
ibrajer Mar 12, 2024
1177538
Combine setLink and setLinkNativeFeed into a single function (#12368)
leeyikjiun Mar 12, 2024
aa29635
VRF-923-VRF-V2-Plus-Wrapper-Remove-amount-from-withdraw-and-withdrawN…
leeyikjiun Mar 13, 2024
c1082bd
Fix TOB-7 lack of event generation (#12318)
leeyikjiun Mar 13, 2024
4432f49
soft delete nonce in s_consumers so that request IDs do not repeat. W…
jinhoonbang Mar 14, 2024
d0850c5
pending request counter in vrf v2.5 coordinator (#12425)
jinhoonbang Mar 18, 2024
990aa9a
Use latest PendingCallContract
kidambisrinivas Mar 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/gorgeous-crabs-repeat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Soft delete consumer nonce in VRF coordinator v2.5
5 changes: 5 additions & 0 deletions .changeset/nasty-humans-promise.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

add pending request counter for vrf v2.5 coordinator
5 changes: 5 additions & 0 deletions .changeset/pretty-fishes-jam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

VRF V2+ Coordinator msg.data len validation
5 changes: 5 additions & 0 deletions .changeset/sixty-turtles-rest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Add rebalancer support for feeds manager ocr2 plugins
5 changes: 5 additions & 0 deletions .changeset/tasty-buckets-relate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Validation for premium limits added to VRFCoordinatorV2_5 contract
5 changes: 5 additions & 0 deletions .changeset/wild-walls-suffer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

Validate if flat fee configs are configured correctly
4 changes: 2 additions & 2 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -450,11 +450,11 @@ jobs:
os: ubuntu-latest
pyroscope_env: ci-smoke-vrf-evm-simulated
- name: vrfv2
nodes: 3
nodes: 4
os: ubuntu-latest
pyroscope_env: ci-smoke-vrf2-evm-simulated
- name: vrfv2plus
nodes: 3
nodes: 4
os: ubuntu-latest
pyroscope_env: ci-smoke-vrf2plus-evm-simulated
- name: forwarder_ocr
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/on-demand-vrfv2-performance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
description: Performance Test Type of test to run
type: choice
options:
- "Smoke"
- "Soak"
- "Load"
- "Stress"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/on-demand-vrfv2plus-performance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
description: Performance Test Type of test to run
type: choice
options:
- "Smoke"
- "Soak"
- "Load"
- "Stress"
Expand Down
30 changes: 30 additions & 0 deletions common/client/mock_rpc_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions common/client/multi_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,17 @@ func (c *multiNode[CHAIN_ID, SEQ, ADDR, BLOCK_HASH, TX, TX_HASH, EVENT, EVENT_OP
return n.RPC().CallContract(ctx, attempt, blockNumber)
}

func (c *multiNode[CHAIN_ID, SEQ, ADDR, BLOCK_HASH, TX, TX_HASH, EVENT, EVENT_OPS, TX_RECEIPT, FEE, HEAD, RPC_CLIENT]) PendingCallContract(
ctx context.Context,
attempt interface{},
) (rpcErr []byte, extractErr error) {
n, err := c.selectNode()
if err != nil {
return rpcErr, err
}
return n.RPC().PendingCallContract(ctx, attempt)
}

// ChainID makes a direct RPC call. In most cases it should be better to use the configured chain id instead by
// calling ConfiguredChainID.
func (c *multiNode[CHAIN_ID, SEQ, ADDR, BLOCK_HASH, TX, TX_HASH, EVENT, EVENT_OPS, TX_RECEIPT, FEE, HEAD, RPC_CLIENT]) ChainID(ctx context.Context) (id CHAIN_ID, err error) {
Expand Down
4 changes: 4 additions & 0 deletions common/client/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ type clientAPI[
msg interface{},
blockNumber *big.Int,
) (rpcErr []byte, extractErr error)
PendingCallContract(
ctx context.Context,
msg interface{},
) (rpcErr []byte, extractErr error)
CallContext(ctx context.Context, result interface{}, method string, args ...interface{}) error
CodeAt(ctx context.Context, account ADDR, blockNumber *big.Int) ([]byte, error)
}
Expand Down
4 changes: 4 additions & 0 deletions common/txmgr/types/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,10 @@ type TxMeta[ADDR types.Hashable, TX_HASH types.Hashable] struct {
// Used for keepers
UpkeepID *string `json:"UpkeepID,omitempty"`

// Used for VRF to know if the txn is a ForceFulfilment txn
ForceFulfilled *bool `json:"ForceFulfilled,omitempty"`
ForceFulfillmentAttempt *uint64 `json:"ForceFulfillmentAttempt,omitempty"`

// Used only for forwarded txs, tracks the original destination address.
// When this is set, it indicates tx is forwarded through To address.
FwdrDestAddress *ADDR `json:"ForwarderDestAddress,omitempty"`
Expand Down
10 changes: 10 additions & 0 deletions contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ src = 'src/v0.8/vrf'
test = 'test/v0.8/foundry/vrf' # skips tests for no VRF foundry tests
solc_version = '0.8.6'

[profile.vrfv2plus_coordinator]
optimizer_runs = 50
src = 'src/v0.8/vrf'
solc_version = '0.8.6'

[profile.vrfv2plus]
optimizer_runs = 1_000_000
src = 'src/v0.8/vrf'
solc_version = '0.8.6'

[profile.automation]
optimizer_runs = 10000
src = 'src/v0.8/automation'
Expand Down
Loading
Loading