* feat(chain-adapters): add solana adapter (#641)
* feat(chain-adapters): add solana adapter
Signed-off-by: Reinis Martinsons <[email protected]>
* fix: comments
Signed-off-by: Reinis Martinsons <[email protected]>
* test: solana adapter
Signed-off-by: Reinis Martinsons <[email protected]>
* Update contracts/chain-adapters/Solana_Adapter.sol
Co-authored-by: Chris Maree <[email protected]>
* fix: do not hash bytes32 svm address
Signed-off-by: Reinis Martinsons <[email protected]>
---------
Signed-off-by: Reinis Martinsons <[email protected]>
Co-authored-by: Chris Maree <[email protected]>
* feat: address to bytes32 contract changes (#650)
* feat: add address to bytes32 contract changes
Signed-off-by: Pablo Maldonado <[email protected]>
* refactor: remove todos
Signed-off-by: Pablo Maldonado <[email protected]>
* refactor: imports
Signed-off-by: Pablo Maldonado <[email protected]>
* Update contracts/SpokePool.sol
Co-authored-by: Reinis Martinsons <[email protected]>
* feat: bytes 32 comparisons
Signed-off-by: Pablo Maldonado <[email protected]>
* refactor: format code
Signed-off-by: Pablo Maldonado <[email protected]>
* fix: tests
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: bytes 32 check
Signed-off-by: Pablo Maldonado <[email protected]>
* fix: ts
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: reuse lib in cctp adapter
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: _preExecuteLeafHook
Signed-off-by: Pablo Maldonado <[email protected]>
* refactor: comments
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: _verifyUpdateV3DepositMessage
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: backward compatibility
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: backwards compatibility tests
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: change comparison casting address bytes32
Signed-off-by: Pablo Maldonado <[email protected]>
* fix: test
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: merkle tree leaf to bytes32
Signed-off-by: Pablo Maldonado <[email protected]>
* test: leaf type update fixes
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: remove helper
Signed-off-by: Pablo Maldonado <[email protected]>
---------
Signed-off-by: Pablo Maldonado <[email protected]>
Co-authored-by: Reinis Martinsons <[email protected]>
* feat: Add relayer repayment address (#653)
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
---------
Signed-off-by: chrismaree <[email protected]>
* fix: clean up cast utilities (#676)
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
---------
Signed-off-by: chrismaree <[email protected]>
* feat: update spokepool relayer refund to handle blocked transfers (#675)
Co-authored-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* fix(evm): merkle tree tests bytes32
Signed-off-by: Pablo Maldonado <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* feat(svm): svm-dev fixes from review (#727)
* refactor(svm): reuse bytes32 to address lib in svm adapter
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: custom errors
Signed-off-by: Pablo Maldonado <[email protected]>
* feat: fix test
Signed-off-by: Pablo Maldonado <[email protected]>
---------
Signed-off-by: Pablo Maldonado <[email protected]>
* test: fix forge tests
Signed-off-by: Pablo Maldonado <[email protected]>
* proposal: ensure that EVM errors are always consistant on underflows (#720)
* feat: revert bytes32 conversion for internal functions (#755)
* Discard changes to contracts/Ovm_SpokePool.sol
* fix: stack too deep (#766)
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* Revert "feat: update depositor to bytes32" (#764)
This reverts commit 85f00011d5360163172295b7f9d08381c1f253b7.
* Discard changes to contracts/PolygonZkEVM_SpokePool.sol
* Discard changes to contracts/Polygon_SpokePool.sol
* fix: make event case consistant between evm & svm (#760)
* feat(SpokePool): Remove depositExclusive (#642)
This function was used to express exclusivity as a period but its no longer useful since depositV3 now allows caller to express exclusivityPeriod instead of exclusivityDeadline
* feat: Introduce opt-in deterministic relay data hashes (again) (#639)
* Revert "feat(SpokePool): Introduce opt-in deterministic relay data hashes (#583)"
This reverts commit 9d21d1ba12ef10751e1b33e09556b6c0b10883cc.
* Reapply "feat(SpokePool): Introduce opt-in deterministic relay data hashes (#583)"
This reverts commit d363bf0e671082303f3a79cf8998848c766bd8dc.
* add deposit nonces to 7683
Signed-off-by: Matt Rice <[email protected]>
* fix
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
* feat(SpokePool): Introduce opt-in deterministic relay data hashes (#583)
* fix(SpokePool): Apply exclusivity consistently
The new relative exclusivity check has not been propagated to
fillV3RelayWithUpdatedDeposit(). Identified via test case failures in
the relayer.
Signed-off-by: Paul <[email protected]>
* Also check on slow fill requests
* Update contracts/SpokePool.sol
* lint
* Update
* Add pure
* Fix
* Add tests
* improve(SpokePool): _depositV3 interprets `exclusivityParameter` as 0, an offset, or a timestamp
There should be a way for the deposit transaction to remove chain re-org risk affecting the block.timestamp by allowing the caller to set a fixed `exclusivityDeadline` value. This supports the existing behavior where the `exclusivityDeadline` is always emitted as its passed in.
The new behavior is that if the `exclusivityParameter`, which replaces the `exclusivityDeadlineOffset` parameter, is 0 or greater than 1 year in seconds, then the `exclusivityDeadline` is equal to this parameter. Otherwise, its interpreted by `_depositV3()` as an offset. The offset would be useful in cases where the origin chain will not re-org, for example.
* Update SpokePool.sol
* Update SpokePool.Relay.ts
* Update SpokePool.SlowRelay.ts
* Update contracts/SpokePool.sol
Co-authored-by: Paul <[email protected]>
* Update SpokePool.sol
* Update contracts/SpokePool.sol
* rebase
* Update SpokePool.sol
* Revert "Merge branch 'npai/exclusivity-switch' into mrice32/deterministic-new"
This reverts commit 24329445ad3612efdc11be0b2dd66f753602cef0, reversing
changes made to 6fe353460cd3152f95756d68e83e0514b56acd4f.
* Revert "Merge branch 'npai/exclusivity-switch' into mrice32/deterministic-new"
This reverts commit 24329445ad3612efdc11be0b2dd66f753602cef0, reversing
changes made to 6fe353460cd3152f95756d68e83e0514b56acd4f.
* revert
* Update SpokePool.sol
* Fix
* Update SpokePool.sol
Co-authored-by: Chris Maree <[email protected]>
* WIP
* WIP
* wip
* Update SpokePool.Relay.ts
* Fix
* Update SpokePool.sol
* Update SpokePool.sol
---------
Signed-off-by: Matt Rice <[email protected]>
Signed-off-by: Paul <[email protected]>
Co-authored-by: nicholaspai <[email protected]>
Co-authored-by: nicholaspai <[email protected]>
Co-authored-by: Paul <[email protected]>
Co-authored-by: Chris Maree <[email protected]>
* docs: fix comment duplication (#775)
Signed-off-by: Pablo Maldonado <[email protected]>
* fix: emit hashed message in evm fill events (#772)
* fix: emit hashed message in evm fill events
Signed-off-by: Reinis Martinsons <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* fix: linting
Signed-off-by: Reinis Martinsons <[email protected]>
---------
Signed-off-by: Reinis Martinsons <[email protected]>
Signed-off-by: chrismaree <[email protected]>
Co-authored-by: chrismaree <[email protected]>
* fix: linting
Signed-off-by: Reinis Martinsons <[email protected]>
* feat: improve _getV3RelayHash method (#779)
* WIP
Signed-off-by: chrismaree <[email protected]>
* WIP
Signed-off-by: chrismaree <[email protected]>
* fix: Address Storage layout issue in CI (#836)
* add new storage layout
Signed-off-by: Chris Maree <[email protected]>
* Discard changes to storage-layouts/PolygonZkEVM_SpokePool.json
* Discard changes to storage-layouts/Redstone_SpokePool.json
* Discard changes to storage-layouts/Scroll_SpokePool.json
* Discard changes to storage-layouts/Zora_SpokePool.json
* Discard changes to storage-layouts/WorldChain_SpokePool.json
* add new storage layout
Signed-off-by: Chris Maree <[email protected]>
---------
Signed-off-by: Chris Maree <[email protected]>
* fix(evm): C01 - Address incorrect use of relayerRefund over msg.sender in claimRelayerRefund function (#826)
Signed-off-by: Chris Maree <[email protected]>
* fix(evm): L01 - Update function from public to external (#827)
Signed-off-by: Chris Maree <[email protected]>
* fix(evm): L03 - Address incorrect Right Shift in AddressConverters Lib (#828)
Signed-off-by: Chris Maree <[email protected]>
* fix(evm): L04 - Remove repeated function (#829)
Signed-off-by: Chris Maree <[email protected]>
* fix(evm): N01 - Add missing docstring for repaymentAddress (#830)
Signed-off-by: Chris Maree <[email protected]>
* fix(evm): N02 - Address typographical Errors in spoke pool (#831)
* WIP
Signed-off-by: Chris Maree <[email protected]>
* Update contracts/SpokePool.sol
---------
Signed-off-by: Chris Maree <[email protected]>
Co-authored-by: Matt Rice <[email protected]>
* feat: update function and event naming for backwards compatibility (#805)
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* refined overfloaded function structure
Signed-off-by: Chris Maree <[email protected]>
* Discard changes to test/evm/hardhat/chain-specific-spokepools/Polygon_SpokePool.ts
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
* update event names
Signed-off-by: Matt Rice <[email protected]>
* fix tests
Signed-off-by: Matt Rice <[email protected]>
* update function
Signed-off-by: Matt Rice <[email protected]>
* update naming
Signed-off-by: Matt Rice <[email protected]>
* drop unintended svm changes
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* WIP
Signed-off-by: Chris Maree <[email protected]>
* feat: extend current add-legacy-fill-method-svm-dev (#864)
* WIP
Signed-off-by: Chris Maree <[email protected]>
---------
Signed-off-by: Chris Maree <[email protected]>
Signed-off-by: Chris Maree <[email protected]>
Signed-off-by: Matt Rice <[email protected]>
Co-authored-by: Chris Maree <[email protected]>
Co-authored-by: Matt Rice <[email protected]>
* fix: update legacy FilledV3Relay event to match old event signature (#873)
* fix: update legacy event to match old event signature
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
* WIP
Signed-off-by: Matt Rice <[email protected]>
---------
Signed-off-by: Matt Rice <[email protected]>
* fix: use entire message when calculating relay hash for evm chains (#867)
* fix: hash entire message when calculating relay hash for evm chains
Signed-off-by: bennett <[email protected]>
* make getV3RelayHash public
Signed-off-by: bennett <[email protected]>
* update fixture with relay hash change
Signed-off-by: bennett <[email protected]>
---------
Signed-off-by: bennett <[email protected]>
* feat(SpokePool): Permit historical fillDeadline on deposit (#870)
* feat(SpokePool): Permit historical fillDeadline on deposit
This removes a sharp edge for pre-fill deposits, where the deposit comes
after the fill. Permitting a historical fillDeadline gives more
flexibility to the relayer around when they submit the deposit on the
origin chain.
* fix test
* restore test
* Bump approvals
* fix: add check to ensure depositor is a valid EVM address (#874)
Signed-off-by: Matt Rice <[email protected]>
* fix(evm): L02 _destinationSettler Can Return Zero Address (#834)
* fix: L02 _destinationSettler Can Return Zero Address
* updated implementation to be in internal function
Signed-off-by: Chris Maree <[email protected]>
---------
Signed-off-by: Chris Maree <[email protected]>
Co-authored-by: Chris Maree <[email protected]>
Co-authored-by: nicholaspai <[email protected]>
* improve: Verify relay hashes are the same pre and post upgrade (#878)
* fix: hash entire message when calculating relay hash for evm chains
Signed-off-by: bennett <[email protected]>
* make getV3RelayHash public
Signed-off-by: bennett <[email protected]>
* update fixture with relay hash change
Signed-off-by: bennett <[email protected]>
* improve: Verify relay hashes are the same pre and post upgrade
Adds a simple unit test to check that the same data hash is constructed
* fix
* Update test/evm/hardhat/MerkleLib.Proofs.ts
* Update test/evm/hardhat/SpokePool.Relay.ts
* Update SpokePool.Relay.ts
---------
Signed-off-by: bennett <[email protected]>
Co-authored-by: bennett <[email protected]>
* Fix merge conflict that removed exclusivity parameter
* Fix SwapAndBridge merge conflict
* reorder stack variables
Signed-off-by: bennett <[email protected]>
* export test functions
Signed-off-by: bennett <[email protected]>
* bump package
Signed-off-by: bennett <[email protected]>
* fix: simpler solution to stack too deep
---------
Signed-off-by: Reinis Martinsons <[email protected]>
Signed-off-by: Pablo Maldonado <[email protected]>
Signed-off-by: chrismaree <[email protected]>
Signed-off-by: Matt Rice <[email protected]>
Signed-off-by: Paul <[email protected]>
Signed-off-by: Chris Maree <[email protected]>
Signed-off-by: Chris Maree <[email protected]>
Signed-off-by: bennett <[email protected]>
Co-authored-by: Reinis Martinsons <[email protected]>
Co-authored-by: Pablo Maldonado <[email protected]>
Co-authored-by: Matt Rice <[email protected]>
Co-authored-by: nicholaspai <[email protected]>
Co-authored-by: nicholaspai <[email protected]>
Co-authored-by: Paul <[email protected]>
Co-authored-by: Reinis Martinsons <[email protected]>
Co-authored-by: Chris Maree <[email protected]>
Co-authored-by: bmzig <[email protected]>
Co-authored-by: bennett <[email protected]>