Commit 1cb0092e authored by smartcontracts's avatar smartcontracts Committed by GitHub

Merge pull request #2171 from ethereum-optimism/sc/sdk-sort-bn

feat(sdk): have SDK sort messages descending by bn
parents f52fc61e da53dc64
---
'@eth-optimism/sdk': patch
---
Have SDK sort deposits/withdrawals descending by block number
...@@ -30,20 +30,25 @@ export class ETHBridgeAdapter extends StandardBridgeAdapter { ...@@ -30,20 +30,25 @@ export class ETHBridgeAdapter extends StandardBridgeAdapter {
opts?.toBlock opts?.toBlock
) )
return events.map((event) => { return events
return { .map((event) => {
direction: MessageDirection.L1_TO_L2, return {
from: event.args._from, direction: MessageDirection.L1_TO_L2,
to: event.args._to, from: event.args._from,
l1Token: ethers.constants.AddressZero, to: event.args._to,
l2Token: predeploys.OVM_ETH, l1Token: ethers.constants.AddressZero,
amount: event.args._amount, l2Token: predeploys.OVM_ETH,
data: event.args._data, amount: event.args._amount,
logIndex: event.logIndex, data: event.args._data,
blockNumber: event.blockNumber, logIndex: event.logIndex,
transactionHash: event.transactionHash, blockNumber: event.blockNumber,
} transactionHash: event.transactionHash,
}) }
})
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
} }
public async getWithdrawalsByAddress( public async getWithdrawalsByAddress(
...@@ -81,6 +86,10 @@ export class ETHBridgeAdapter extends StandardBridgeAdapter { ...@@ -81,6 +86,10 @@ export class ETHBridgeAdapter extends StandardBridgeAdapter {
transactionHash: event.transactionHash, transactionHash: event.transactionHash,
} }
}) })
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
} }
public async supportsTokenPair( public async supportsTokenPair(
......
...@@ -93,6 +93,10 @@ export class StandardBridgeAdapter implements IBridgeAdapter { ...@@ -93,6 +93,10 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
transactionHash: event.transactionHash, transactionHash: event.transactionHash,
} }
}) })
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
} }
public async getWithdrawalsByAddress( public async getWithdrawalsByAddress(
...@@ -132,6 +136,10 @@ export class StandardBridgeAdapter implements IBridgeAdapter { ...@@ -132,6 +136,10 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
transactionHash: event.transactionHash, transactionHash: event.transactionHash,
} }
}) })
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
} }
public async supportsTokenPair( public async supportsTokenPair(
......
...@@ -253,9 +253,14 @@ export class CrossChainMessenger implements ICrossChainMessenger { ...@@ -253,9 +253,14 @@ export class CrossChainMessenger implements ICrossChainMessenger {
return bridge.getDepositsByAddress(address, opts) return bridge.getDepositsByAddress(address, opts)
}) })
) )
).reduce((acc, val) => { )
return acc.concat(val) .reduce((acc, val) => {
}, []) return acc.concat(val)
}, [])
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
} }
public async getWithdrawalsByAddress( public async getWithdrawalsByAddress(
...@@ -271,9 +276,14 @@ export class CrossChainMessenger implements ICrossChainMessenger { ...@@ -271,9 +276,14 @@ export class CrossChainMessenger implements ICrossChainMessenger {
return bridge.getWithdrawalsByAddress(address, opts) return bridge.getWithdrawalsByAddress(address, opts)
}) })
) )
).reduce((acc, val) => { )
return acc.concat(val) .reduce((acc, val) => {
}, []) return acc.concat(val)
}, [])
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
} }
public async toCrossChainMessage( public async toCrossChainMessage(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment