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 {
opts?.toBlock
)
return events.map((event) => {
return {
direction: MessageDirection.L1_TO_L2,
from: event.args._from,
to: event.args._to,
l1Token: ethers.constants.AddressZero,
l2Token: predeploys.OVM_ETH,
amount: event.args._amount,
data: event.args._data,
logIndex: event.logIndex,
blockNumber: event.blockNumber,
transactionHash: event.transactionHash,
}
})
return events
.map((event) => {
return {
direction: MessageDirection.L1_TO_L2,
from: event.args._from,
to: event.args._to,
l1Token: ethers.constants.AddressZero,
l2Token: predeploys.OVM_ETH,
amount: event.args._amount,
data: event.args._data,
logIndex: event.logIndex,
blockNumber: event.blockNumber,
transactionHash: event.transactionHash,
}
})
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
}
public async getWithdrawalsByAddress(
......@@ -81,6 +86,10 @@ export class ETHBridgeAdapter extends StandardBridgeAdapter {
transactionHash: event.transactionHash,
}
})
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
}
public async supportsTokenPair(
......
......@@ -93,6 +93,10 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
transactionHash: event.transactionHash,
}
})
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
}
public async getWithdrawalsByAddress(
......@@ -132,6 +136,10 @@ export class StandardBridgeAdapter implements IBridgeAdapter {
transactionHash: event.transactionHash,
}
})
.sort((a, b) => {
// Sort descending by block number
return b.blockNumber - a.blockNumber
})
}
public async supportsTokenPair(
......
......@@ -253,9 +253,14 @@ export class CrossChainMessenger implements ICrossChainMessenger {
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(
......@@ -271,9 +276,14 @@ export class CrossChainMessenger implements ICrossChainMessenger {
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(
......
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