@@ -43,15 +43,23 @@ export const extractChainportDataFromTransaction = (
4343
4444const getIncomingChainportTransactionData = (
4545 transaction : RpcWalletTransaction ,
46- config : { incomingAddresses : Set < string > } ,
46+ config : { incomingAddresses : Set < string > ; bridgeFeeUpgrade : Date } ,
4747) : ChainportTransactionData => {
4848 const bridgeNote = transaction . notes ?. [ 0 ]
4949
5050 if ( ! bridgeNote || ! isAddressInSet ( bridgeNote . sender , config . incomingAddresses ) ) {
5151 return undefined
5252 }
5353
54- const [ sourceNetwork , address , _ ] = ChainportMemoMetadata . decode ( bridgeNote . memoHex )
54+ let sourceNetwork : number
55+ let address : string
56+ let _toIronFish : boolean
57+
58+ if ( new Date ( transaction . timestamp ) < config . bridgeFeeUpgrade ) {
59+ ; [ sourceNetwork , address , _toIronFish ] = ChainportMemoMetadata . decodeV1 ( bridgeNote . memoHex )
60+ } else {
61+ ; [ sourceNetwork , address , _toIronFish ] = ChainportMemoMetadata . decodeV2 ( bridgeNote . memoHex )
62+ }
5563
5664 return {
5765 type : TransactionType . RECEIVE ,
@@ -62,7 +70,7 @@ const getIncomingChainportTransactionData = (
6270
6371const getOutgoingChainportTransactionData = (
6472 transaction : RpcWalletTransaction ,
65- config : { outgoingAddresses : Set < string > } ,
73+ config : { outgoingAddresses : Set < string > ; bridgeFeeUpgrade : Date } ,
6674) : ChainportTransactionData => {
6775 if ( ! transaction . notes || transaction . notes . length < 2 ) {
6876 return undefined
@@ -80,7 +88,15 @@ const getOutgoingChainportTransactionData = (
8088 return undefined
8189 }
8290
83- const [ sourceNetwork , address , _ ] = ChainportMemoMetadata . decode ( bridgeNote . memoHex )
91+ let sourceNetwork : number
92+ let address : string
93+ let _toIronFish : boolean
94+
95+ if ( new Date ( transaction . timestamp ) < config . bridgeFeeUpgrade ) {
96+ ; [ sourceNetwork , address , _toIronFish ] = ChainportMemoMetadata . decodeV1 ( bridgeNote . memoHex )
97+ } else {
98+ ; [ sourceNetwork , address , _toIronFish ] = ChainportMemoMetadata . decodeV2 ( bridgeNote . memoHex )
99+ }
84100
85101 return {
86102 type : TransactionType . SEND ,
0 commit comments