From 49d6a38b182bbda5db8420e59d0cdb97bb683378 Mon Sep 17 00:00:00 2001 From: Iulian Pascalau Date: Tue, 3 Dec 2024 12:51:20 +0200 Subject: [PATCH 1/8] - integrating new contracts --- .../framework/chainSimulatorWrapper.go | 3 +- .../slowTests/framework/multiversxHandler.go | 141 +---------- .../contracts/mvx/bridge-proxy.abi.json | 79 +----- .../testdata/contracts/mvx/bridge-proxy.wasm | Bin 18429 -> 17254 bytes .../mvx/bridged-tokens-wrapper.abi.json | 2 +- .../contracts/mvx/bridged-tokens-wrapper.wasm | Bin 11745 -> 11745 bytes .../testdata/contracts/mvx/esdt-safe.abi.json | 226 +++++++++--------- .../testdata/contracts/mvx/esdt-safe.wasm | Bin 34390 -> 33750 bytes .../mvx/multi-transfer-esdt.abi.json | 71 +----- .../contracts/mvx/multi-transfer-esdt.wasm | Bin 21916 -> 20972 bytes .../testdata/contracts/mvx/multisig.abi.json | 94 +++----- .../testdata/contracts/mvx/multisig.wasm | Bin 38439 -> 37897 bytes .../contracts/mvx/test-caller.abi.json | 2 +- 13 files changed, 161 insertions(+), 457 deletions(-) diff --git a/integrationTests/relayers/slowTests/framework/chainSimulatorWrapper.go b/integrationTests/relayers/slowTests/framework/chainSimulatorWrapper.go index 0c1983a8..0f3266c5 100644 --- a/integrationTests/relayers/slowTests/framework/chainSimulatorWrapper.go +++ b/integrationTests/relayers/slowTests/framework/chainSimulatorWrapper.go @@ -37,6 +37,7 @@ const ( generateBlocksUntilTxProcessedEndpoint = "simulator/generate-blocks-until-transaction-processed/%s" numProbeRetries = 10 networkConfigEndpointTemplate = "network/status/%d" + codeMetadata = "0502" ) var ( @@ -129,7 +130,7 @@ func (instance *chainSimulatorWrapper) DeploySC(ctx context.Context, wasmFilePat require.Nil(instance.TB, err) scCode := wasm.GetSCCode(wasmFilePath) - params := []string{scCode, wasm.VMTypeHex, wasm.DummyCodeMetadataHex} + params := []string{scCode, wasm.VMTypeHex, codeMetadata} params = append(params, parameters...) txData := strings.Join(params, "@") diff --git a/integrationTests/relayers/slowTests/framework/multiversxHandler.go b/integrationTests/relayers/slowTests/framework/multiversxHandler.go index d1746d93..167bd7c8 100644 --- a/integrationTests/relayers/slowTests/framework/multiversxHandler.go +++ b/integrationTests/relayers/slowTests/framework/multiversxHandler.go @@ -44,11 +44,7 @@ const ( bridgeProxyContractPath = "testdata/contracts/mvx/bridge-proxy.wasm" testCallerContractPath = "testdata/contracts/mvx/test-caller.wasm" - setBridgeProxyContractAddressFunction = "setBridgeProxyContractAddress" - setWrappingContractAddressFunction = "setWrappingContractAddress" changeOwnerAddressFunction = "ChangeOwnerAddress" - setEsdtSafeOnMultiTransferFunction = "setEsdtSafeOnMultiTransfer" - setEsdtSafeAddressFunction = "setEsdtSafeAddress" moveRefundBatchToSafeFromChildContractFunction = "moveRefundBatchToSafeFromChildContract" getCurrentRefundBatchFunction = "getCurrentRefundBatch" stakeFunction = "stake" @@ -71,8 +67,6 @@ const ( submitBatchFunction = "submitBatch" unwrapTokenCreateTransactionFunction = "unwrapTokenCreateTransaction" createTransactionFunction = "createTransaction" - setBridgedTokensWrapperAddressFunction = "setBridgedTokensWrapperAddress" - setMultiTransferAddressFunction = "setMultiTransferAddress" withdrawRefundFeesForEthereumFunction = "withdrawRefundFeesForEthereum" getRefundFeesForEthereumFunction = "getRefundFeesForEthereum" withdrawTransactionFeesFunction = "withdrawTransactionFees" @@ -137,10 +131,6 @@ func NewMultiversxHandler( func (handler *MultiversxHandler) DeployAndSetContracts(ctx context.Context) { handler.deployContracts(ctx) - handler.wireMultiTransfer(ctx) - handler.wireSCProxy(ctx) - handler.wireSafe(ctx) - handler.changeOwners(ctx) handler.finishSettings(ctx) } @@ -200,8 +190,6 @@ func (handler *MultiversxHandler) deployContracts(ctx context.Context) { handler.OwnerKeys.MvxSk, deployGasLimit, []string{ - handler.AggregatorAddress.Hex(), - handler.MultiTransferAddress.Hex(), "01", }, ) @@ -214,9 +202,7 @@ func (handler *MultiversxHandler) deployContracts(ctx context.Context) { bridgeProxyContractPath, handler.OwnerKeys.MvxSk, deployGasLimit, - []string{ - handler.MultiTransferAddress.Hex(), - }, + make([]string, 0), ) require.NotEqual(handler, emptyAddress, handler.ScProxyAddress) log.Info("Deploy: SC proxy contract", "address", handler.ScProxyAddress, "transaction hash", hash) @@ -228,6 +214,8 @@ func (handler *MultiversxHandler) deployContracts(ctx context.Context) { handler.SafeAddress.Hex(), handler.MultiTransferAddress.Hex(), handler.ScProxyAddress.Hex(), + handler.WrapperAddress.Hex(), + handler.AggregatorAddress.Hex(), minRelayerStakeHex, slashAmount, handler.Quorum} @@ -256,117 +244,6 @@ func (handler *MultiversxHandler) deployContracts(ctx context.Context) { log.Info("Deploy: test-caller contract", "address", handler.CalleeScAddress, "transaction hash", hash) } -func (handler *MultiversxHandler) wireMultiTransfer(ctx context.Context) { - // setBridgeProxyContractAddress - params := []string{ - handler.ScProxyAddress.Hex(), - } - hash, txResult := handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.MultiTransferAddress, - zeroStringValue, - setCallsGasLimit, - setBridgeProxyContractAddressFunction, - params) - - log.Info("Set in multi-transfer contract the SC proxy contract", "transaction hash", hash, "status", txResult.Status) - - // setWrappingContractAddress - params = []string{ - handler.WrapperAddress.Hex(), - } - hash, txResult = handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.MultiTransferAddress, - zeroStringValue, - setCallsGasLimit, - setWrappingContractAddressFunction, - params) - - log.Info("Set in multi-transfer contract the wrapper contract", "transaction hash", hash, "status", txResult.Status) -} - -func (handler *MultiversxHandler) wireSCProxy(ctx context.Context) { - // setBridgedTokensWrapper in SC bridge proxy - params := []string{ - handler.WrapperAddress.Hex(), - } - hash, txResult := handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.ScProxyAddress, - zeroStringValue, - setCallsGasLimit, - setBridgedTokensWrapperAddressFunction, - params) - - log.Info("Set in SC proxy contract the wrapper contract", "transaction hash", hash, "status", txResult.Status) - - // setMultiTransferAddress in SC bridge proxy - params = []string{ - handler.MultiTransferAddress.Hex(), - } - hash, txResult = handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.ScProxyAddress, - zeroStringValue, - setCallsGasLimit, - setMultiTransferAddressFunction, - params) - - log.Info("Set in SC proxy contract the multi-transfer contract", "transaction hash", hash, "status", txResult.Status) - - // setEsdtSafeAddress on bridge proxy - params = []string{ - handler.SafeAddress.Hex(), - } - hash, txResult = handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.ScProxyAddress, - zeroStringValue, - setCallsGasLimit, - setEsdtSafeAddressFunction, - params) - - log.Info("Set in SC proxy contract the safe contract", "transaction hash", hash, "status", txResult.Status) -} - -func (handler *MultiversxHandler) wireSafe(ctx context.Context) { - // setBridgedTokensWrapperAddress - params := []string{ - handler.WrapperAddress.Hex(), - } - hash, txResult := handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.SafeAddress, - zeroStringValue, - setCallsGasLimit, - setBridgedTokensWrapperAddressFunction, - params) - - log.Info("Set in safe contract the wrapper contract", "transaction hash", hash, "status", txResult.Status) - - //setBridgeProxyContractAddress - params = []string{ - handler.ScProxyAddress.Hex(), - } - hash, txResult = handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.SafeAddress, - zeroStringValue, - setCallsGasLimit, - setBridgeProxyContractAddressFunction, - params) - - log.Info("Set in safe contract the SC proxy contract", "transaction hash", hash, "status", txResult.Status) -} - func (handler *MultiversxHandler) changeOwners(ctx context.Context) { // ChangeOwnerAddress for safe params := []string{ @@ -419,18 +296,6 @@ func (handler *MultiversxHandler) finishSettings(ctx context.Context) { hash, txResult := handler.callContractNoParams(ctx, handler.MultisigAddress, unpauseProxyFunction) log.Info("Un-paused SC proxy contract", "transaction hash", hash, "status", txResult.Status) - // setEsdtSafeOnMultiTransfer - hash, txResult = handler.scCallAndCheckTx( - ctx, - handler.OwnerKeys, - handler.MultisigAddress, - zeroStringValue, - setCallsGasLimit, - setEsdtSafeOnMultiTransferFunction, - []string{}) - - log.Info("Set in multisig contract the safe contract (automatically)", "transaction hash", hash, "status", txResult.Status) - // stake relayers on multisig handler.stakeAddressesOnContract(ctx, handler.MultisigAddress, handler.RelayersKeys) diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json index 7b4939af..0b9c9d1d 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json @@ -13,18 +13,12 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.52.3" + "version": "0.53.2" } }, "name": "BridgeProxyContract", "constructor": { - "inputs": [ - { - "name": "opt_multi_transfer_address", - "type": "optional
", - "multi_arg": true - } - ], + "inputs": [], "outputs": [] }, "upgradeConstructor": { @@ -87,75 +81,6 @@ } ] }, - { - "name": "setMultiTransferAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_multi_transfer_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "setBridgedTokensWrapperAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "setEsdtSafeAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "getMultiTransferAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getBridgedTokensWrapperAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getEsdtSafeContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, { "name": "highestTxId", "mutability": "readonly", diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm index 57d10bd985c45052ccd4b8e3b109c0b87dcdc36a..c51bf6f894bd16df542fed8e8880182650b7f75e 100755 GIT binary patch literal 17254 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 UV`Fm=pgJPqgXJXNfCTaX0}9GZZ~y=R literal 18429 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 diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json index 4be70732..1ad7e529 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json @@ -13,7 +13,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.52.3" + "version": "0.53.2" } }, "name": "BridgedTokensWrapper", diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.wasm index 99dd409687bb472b5425e3202c207c3d0af10cdc..d9a7d78088e6a80a772ca82241d1094da3ac2955 100755 GIT binary patch delta 713 zcmZ8eO=uHA6rML5+lJjuUJ~1GlQv9~7*c!C9Ha+5bc;PGc#9(TprI5oU<{DTS%Kp!tx`^8q`HH+2S^m5jf)87%Ohb_QPXWN7Y2*y8U(ef)ffC9H4;-~-R& z27KmDJ%$Ib2ng8Pf<~D}Z-YjGGC`;Tz4&s+b}; ztuu_6y8$lHL8(CS|8ds8^Z3`uaIm>wgYS!8>HeX&O>7;@kP4T4RYRVt9?hVuwdr6} zpXXzV;C+3OC^q=v*f4w()3IF?p7Q7IZ|SuuG1GB`!aD!u8`u5!L9hcNL`hr)L-)|@`ZJ=6hBU3jVF5^z?xX@*{i@d_EN?b z_NjAS*Bi``9kM~rqs+jXc-4Cpq>cV`yx`lA+qo;G#9HyUD(h{Ln3dcaeF7V+x|c|= zjN~X&A;SXbJ0>n_+EH{jYmts`r;ow1*i1V#_*m;ve8k(c{nYdLQ1%?mi^c3&=|Jqs gRUk529xG0c70Si&GsV%#QxoIjVP6)+mz|sR4^Efb*#H0l delta 709 zcma)4O=uHA6rMM`whgI|75K=2>4y6Y#-GYLGwO)Glw;6V=xMQ0|dXD@H&eeZkk`{psVq1w>1 zamJ){? zWh(6Dlr7`M_It37w)Y^isVFJ6ouDFbY*Q?FXDDo7vhyiyh?UO6D%rzd%ecnB#n%yty5t4Zd(", + "multi_arg": true + } + ], + "outputs": [] + }, { "docs": [ "Claim funds for failed MultiversX -> Ethereum transactions.", @@ -155,32 +158,6 @@ } ] }, - { - "name": "setBridgedTokensWrapperAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "setBridgeProxyContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_new_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, { "name": "withdrawRefundFeesForEthereum", "onlyOwner": true, @@ -293,38 +270,6 @@ } ] }, - { - "name": "getBridgedTokensWrapperAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getBridgeProxyContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "setFeeEstimatorContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "new_address", - "type": "Address" - } - ], - "outputs": [] - }, { "name": "setEthTxGasLimit", "onlyOwner": true, @@ -394,16 +339,6 @@ } ] }, - { - "name": "getFeeEstimatorContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, { "name": "getDefaultPricePerGasUnit", "mutability": "readonly", @@ -560,19 +495,6 @@ ], "outputs": [] }, - { - "name": "setMultiTransferContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_new_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, { "name": "getAllKnownTokens", "mutability": "readonly", @@ -614,16 +536,6 @@ } ] }, - { - "name": "getMultiTransferContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, { "name": "getAccumulatedTransactionFees", "mutability": "readonly", @@ -918,6 +830,96 @@ } ] }, + { + "identifier": "createRefundTransactionEvent", + "inputs": [ + { + "name": "batch_id", + "type": "u64", + "indexed": true + }, + { + "name": "tx_id", + "type": "u64", + "indexed": true + }, + { + "name": "token_id", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "amount", + "type": "BigUint", + "indexed": true + }, + { + "name": "fee", + "type": "BigUint", + "indexed": true + }, + { + "name": "initial_batch_id", + "type": "u64", + "indexed": true + }, + { + "name": "initial_tx_id", + "type": "u64", + "indexed": true + }, + { + "name": "data", + "type": "bytes", + "indexed": true + } + ] + }, + { + "identifier": "createTransactionScCallEvent", + "inputs": [ + { + "name": "batch_id", + "type": "u64", + "indexed": true + }, + { + "name": "tx_nonce", + "type": "u64", + "indexed": true + }, + { + "name": "payment_token", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "amount", + "type": "BigUint", + "indexed": true + }, + { + "name": "fee", + "type": "BigUint", + "indexed": true + }, + { + "name": "to", + "type": "bytes", + "indexed": true + }, + { + "name": "from", + "type": "bytes", + "indexed": true + }, + { + "name": "data", + "type": "bytes", + "indexed": true + } + ] + }, { "identifier": "addRefundTransactionEvent", "inputs": [ diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.wasm index 7e17946790380c7acf2a9a0d961083ac5995cb9e..f1457d5bea9713c4b60363044af29da810e65ac3 100755 GIT binary patch literal 33750 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", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "setBridgeProxyContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_new_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, { "name": "addUnprocessedRefundTxToBatch", "onlyOwner": true, @@ -88,49 +62,6 @@ ], "outputs": [] }, - { - "name": "setEsdtSafeContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_new_address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "getWrappingContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getBridgeProxyContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getEsdtSafeContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, { "name": "setMaxTxBatchSize", "onlyOwner": true, diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multi-transfer-esdt.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multi-transfer-esdt.wasm index 15a73562c3c883876ab6f4aa254e66b34b5e51ae..0918db7ab4838fc40d629b9c88b73d0b136c5dbb 100755 GIT binary patch delta 8868 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 z

@yM+OrIQaPNFT_=^ZQsWh z%YdtpH2N@fxQA0&=U-8aokjMdovmDgC#jCA^~o8krQTbvT#7WSMx6O{-91Mj3K(wPHljgYp$W+i820i4k;n}R{=haIcN=?Je1 z^zj^}HyuDK56&B@DMP09t&@L!dp8!e7wCUm*5f zeVtxQ0)JQb^pOwznJ5`}`Mjlp#@b(A->dz}W8_tyS{v|=bI?B}-gzNdJ6@E=0$=nN zPNRG;{c>>{+Tcm&eHR?ZBq9|A9UtX9qf9cwvZ7J}62qaqxo5XX(Ve}P>nX1TgD z+GQZiX^E>TwXIhvw_a$0^=jMC{_r}$Ap`9p1NjiNU#+=22lSQuek9z^a?b9F41Xl z7x)05*gT%b({FC^gVnQGkp9CDO62!5`Q{c{JP4ruXvp`rawnd70Pc7-%cOf-+;vM- znXt2k|MKYp0PxkKW1ttH<@;JhA|L{o{1xnLVFaEbin#P5-n@zo7&V$dtA)p416V*2 zc#b7J#e!gEPqK`aftJ3P-`662FF%&znH-nGm_Ogv4l`+nL?;p#x~;|N&7cPsO#c*? zBY5M?Q%Rv-xpPm;OAY`t0x)VKtOwWY!BHD>aNb1dPopV4zeP>16m`|U#1N5fzbS20 zf_90Hlk^G6tB!1G1q)cE?XwgK2w_2Gd=xa0zz)Ak^iuDT>G_!S8t77@5(UF^`AZ^L z%pT^OqbPYm5Tw;Xo=Uiadr-m^@a{a&VW22X1-H6*iGwn5iz68ezewPD23$8;JeSu^ zR>3=X*|w;y{(qaU&rc_@DUgHcJOw24&;;Qu1dYCcNXfQZBG^ZH8x%Z-?~#2qIw0Uw zI~{+#`&R>IrTO+LUZW{q42DgieKPn}Z1RUfR{)nA|BMnr6z1Y3%j-4M!O>fd!LY&A z%{VH4h2)1Q`Q5pgTF@u^o>;qAg#a59g>%0DAJ|Gr-ifWo=sC9UJ8^Q!WdCF}Y>!1u zrRTRdaerwQ@*?Ju1U{^qWY4Qs4V=*YPw#qp)BUS+hn>=EIix)EhQ*k(Wq3uK%-8fjo0KyA$lSa=n2(- zlAx;ww?aNBmqv0X=}}2)!i87-`1n}osYVA3ZIR=NaS-8VY6Gs@jT+vYJr!W;Cp{* zvJY3GKyjYYpW^ojd^|!cB^L<*N-q+~78kYW5o?8u1PB1y7YQJ2r)mBG3BjgV7(nFr zFnE_h9RC7s3hxpWX$tbY1h_~ccM0I&bS&N9DK(X+V3j)V5@am@8?_&Fjou*fCp`Wl zB5v)PPJ7g*9-?y%BC!g*1}OQDzFzw>KyrQKNMWzu)3^Yr`wP%wcdQtYI<-8=4Z@dd4i@9cwY)^%~J=I z@*m3ayJXDd@Eu3*`HFgcJYNhyC6^Q|7XA7GGl?6ALP#4=7W9=i4U+4nb%ov1oywna z&`P7GcLBBWU*d{mm(6kN2a>OGY{evhBv0~562Xug{nh0MSU(z%1#{}Y3xm%aP=du1lfdk(O+pvfps$zQg+!zoVf4TPr9!iP+tP|_V28vq&?LNGf_ zm1Gn6;fLOem4O_ydT;bC0VB?y0#Ri@@q>lM!Z8{v_AA9c5j~cz)Wn~rtEI}nQW7dq z(r#6v6-Wk59tlK#sspRU4UX*1cb+I8tTWDSW8qLMZOzZ82j?66%tijI`R@Uy)AgzO>3Uk{_Yc#t&D#XR z-ufMB=&?wU_{7`McFi44%#bz?&F!f-)A_ya2KfY>|MXk_`7-?yTxT)7FCJ}7rT8== zKOC21zqo(CiEn1f*A;K6Po*=B>H3j$9&5u)_`2M_`cL5Nb8|q8U*21W|AG3^ZRt-O ztT*=5rh!(ob~Hr+pDV;ixYE{uIzHHj53|Yl@fPP7 zTDu7V&HOmz)c)E`W9LGBYG&`u)UNqAHf9djn~SxBuhUPuUEerdJ2*29=HQEfDL7S= zFN}riLybH9x8Kq!|M9of0}fsG$micueB$lM(G{Jh>kIRXGc5v9q-XqmnDtOydDF>( zgY9ph?ajZacKtLzkBRTk$*0un_=02SH{05!u8*}HTKUnr#XzH*KmxEtKc*HcZ>~4@ z&Nt`q<;}zRx?5QGvQN_0SN~F-(qOeu;05SAYBLAx)1GGhq~}aSzA4w;jxQ(v0zS;x zZqBBr_`x@If#bK|>eK0-qv<@q>bX+B7ix`}sdRp7 cieIps-afa`I+`A?Pnqo5d&+U)YFxegza2#~X#fBK diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json index f35ac561..1987baa5 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json @@ -13,7 +13,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.52.3" + "version": "0.53.2" } }, "docs": [ @@ -39,6 +39,14 @@ "name": "proxy_sc_address", "type": "Address" }, + { + "name": "bridged_tokens_wrapper_sc_address", + "type": "Address" + }, + { + "name": "price_aggregator_sc_address", + "type": "Address" + }, { "name": "required_stake", "type": "BigUint" @@ -72,6 +80,14 @@ { "name": "proxy_sc_address", "type": "Address" + }, + { + "name": "bridged_tokens_wrapper_sc_address", + "type": "Address" + }, + { + "name": "price_aggregator_sc_address", + "type": "Address" } ], "outputs": [] @@ -460,26 +476,6 @@ "outputs": [] }, { - "name": "changeFeeEstimatorContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "new_address", - "type": "Address" - } - ], - "outputs": [] - }, - { - "docs": [ - "Sets the gas limit being used for Ethereum transactions", - "This is used in the EsdtSafe contract to determine the fee amount", - "", - "fee_amount = eth_gas_limit * price_per_gas_unit", - "", - "where price_per_gas_unit is queried from the aggregator (fee estimator SC)" - ], "name": "changeMultiversXToEthGasLimit", "onlyOwner": true, "mutability": "mutable", @@ -571,20 +567,6 @@ ], "outputs": [] }, - { - "name": "setMultiTransferOnEsdtSafe", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "setEsdtSafeOnMultiTransfer", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, { "name": "esdtSafeRemoveTokenFromWhitelist", "onlyOwner": true, @@ -702,28 +684,6 @@ ], "outputs": [] }, - { - "docs": [ - "Sets the wrapping contract address.", - "This contract is used to map multiple tokens to a universal one.", - "Useful in cases where a single token (USDC for example)", - "is being transferred from multiple chains.", - "", - "They will all have different token IDs, but can be swapped 1:1 in the wrapping SC.", - "The wrapping is done automatically, so the user only receives the universal token." - ], - "name": "multiTransferEsdtSetWrappingContractAddress", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "opt_wrapping_contract_address", - "type": "optional

", - "multi_arg": true - } - ], - "outputs": [] - }, { "docs": [ "Minimum number of signatures needed to perform any action." @@ -891,6 +851,26 @@ } ] }, + { + "name": "getBridgedTokensWrapperAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, + { + "name": "getFeeEstimatorAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, { "docs": [ "Returns the current EsdtSafe batch.", diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.wasm index ddc0cd821c4c0e02e5a853631f192fc300356ca5..99f750b28c8e35c251a5c56138adff8f6403336e 100755 GIT binary patch literal 37897 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 literal 38439 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 diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json index e7c1a897..9cd461e9 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json @@ -13,7 +13,7 @@ }, "framework": { "name": "multiversx-sc", - "version": "0.52.3" + "version": "0.53.2" } }, "name": "TestCallerContract", From 53f478dfec80034941142b81df7009d78901d295 Mon Sep 17 00:00:00 2001 From: Iulian Pascalau Date: Mon, 9 Dec 2024 11:17:49 +0200 Subject: [PATCH 2/8] - bughunt new contracts --- docker/docker-compose.yml | 2 +- integrationTests/relayers/slowTests/common.go | 2 +- .../relayers/slowTests/edgeCases_test.go | 2 +- .../ethToMultiversXWithChainSimulator_test.go | 2 +- .../slowTests/framework/multiversxHandler.go | 51 +++++++++++++++++- .../refundWithChainSimulator_test.go | 8 +-- .../relayers/slowTests/testFlow.go | 5 +- .../contracts/mvx/bridge-proxy.abi.json | 48 +++++++++++++++++ .../testdata/contracts/mvx/bridge-proxy.wasm | Bin 17254 -> 18741 bytes .../mvx/bridged-tokens-wrapper.abi.json | 22 +++----- .../contracts/mvx/bridged-tokens-wrapper.wasm | Bin 11745 -> 12062 bytes .../testdata/contracts/mvx/esdt-safe.abi.json | 35 +++++++++--- .../testdata/contracts/mvx/esdt-safe.wasm | Bin 33750 -> 35121 bytes .../mvx/multi-transfer-esdt.abi.json | 45 ++++++++++++++++ .../contracts/mvx/multi-transfer-esdt.wasm | Bin 20972 -> 21493 bytes .../testdata/contracts/mvx/multisig.abi.json | 29 +++++++--- .../testdata/contracts/mvx/multisig.wasm | Bin 37897 -> 39137 bytes .../testdata/contracts/mvx/test-caller.wasm | Bin 4032 -> 4032 bytes 18 files changed, 210 insertions(+), 41 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 72ecc41b..1a622667 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: chain-simulator: - image: multiversx/chainsimulator:v1.7.13-patch2 + image: multiversx/chainsimulator:v1.8.4-fix1 ports: - 8085:8085 volumes: diff --git a/integrationTests/relayers/slowTests/common.go b/integrationTests/relayers/slowTests/common.go index dc7a5750..e6a19255 100644 --- a/integrationTests/relayers/slowTests/common.go +++ b/integrationTests/relayers/slowTests/common.go @@ -1,4 +1,4 @@ -//go:build slow +//TODO: revert this package slowTests diff --git a/integrationTests/relayers/slowTests/edgeCases_test.go b/integrationTests/relayers/slowTests/edgeCases_test.go index 056b5176..b5b7c268 100644 --- a/integrationTests/relayers/slowTests/edgeCases_test.go +++ b/integrationTests/relayers/slowTests/edgeCases_test.go @@ -1,4 +1,4 @@ -//go:build slow +//TODO: revert this package slowTests diff --git a/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go b/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go index be6f5777..c5db10f2 100644 --- a/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go +++ b/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go @@ -1,4 +1,4 @@ -//go:build slow +//TODO: revert this // To run these slow tests, simply add the slow tag on the go test command. Also, provide a chain simulator instance on the 8085 port // example: go test -tags slow diff --git a/integrationTests/relayers/slowTests/framework/multiversxHandler.go b/integrationTests/relayers/slowTests/framework/multiversxHandler.go index 167bd7c8..5f54478b 100644 --- a/integrationTests/relayers/slowTests/framework/multiversxHandler.go +++ b/integrationTests/relayers/slowTests/framework/multiversxHandler.go @@ -76,6 +76,8 @@ const ( getMintBalances = "getMintBalances" getBurnBalances = "getBurnBalances" getTotalBalances = "getTotalBalances" + getRefundTransactions = "getRefundTransactions" + executeRefundTransaction = "executeRefundTransaction" ) var ( @@ -430,9 +432,9 @@ func (handler *MultiversxHandler) issueAndWhitelistTokensWithChainSpecific(ctx c return } handler.setLocalRolesForUniversalTokenOnWrapper(ctx, params) - handler.transferChainSpecificTokenToSCs(ctx, params) handler.addUniversalTokenToWrapper(ctx, params) handler.whitelistTokenOnWrapper(ctx, params) + handler.transferChainSpecificTokenToSCs(ctx, params) handler.setRolesForSpecificTokenOnSafe(ctx, params) handler.addMappingInMultisig(ctx, params) handler.whitelistTokenOnMultisig(ctx, params) @@ -1104,6 +1106,53 @@ func (handler *MultiversxHandler) scCallAndCheckTx( return hash, txResult } +// RefundAllFromScBridgeProxy will refund transactions from the bridge proxy, if existing +func (handler *MultiversxHandler) RefundAllFromScBridgeProxy(ctx context.Context) { + refundIDs := handler.getAllRefundIDsFromScBridgeProxy(ctx) + if len(refundIDs) == 0 { + return + } + + for _, refundID := range refundIDs { + handler.refundTransactionInScBridgeProxy(ctx, refundID) + } +} + +func (handler *MultiversxHandler) getAllRefundIDsFromScBridgeProxy(ctx context.Context) []uint64 { + responseBytes := handler.ChainSimulator.ExecuteVMQuery( + ctx, + handler.ScProxyAddress, + getRefundTransactions, + make([]string, 0), + ) + + numResponseLines := len(responseBytes) + require.Equal(handler, 0, numResponseLines%2, "expected an even number on response") + + refundIDs := make([]uint64, 0, numResponseLines/2) + for i := 0; i < numResponseLines; i += 2 { + refundID := big.NewInt(0).SetBytes(responseBytes[i]) + refundIDs = append(refundIDs, refundID.Uint64()) + } + + return refundIDs +} + +func (handler *MultiversxHandler) refundTransactionInScBridgeProxy(ctx context.Context, refundID uint64) { + log.Info("sending refund transaction in SC bridge proxy", "refund ID", refundID) + handler.scCallAndCheckTx( + ctx, + handler.SCExecutorKeys, // anyone can call this, for example, the sc executor + handler.ScProxyAddress, + "0", + generalSCCallGasLimit, + executeRefundTransaction, + []string{ + hex.EncodeToString(big.NewInt(0).SetUint64(refundID).Bytes()), + }, + ) +} + func getHexBool(input bool) string { if input { return hexTrue diff --git a/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go b/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go index 116385c5..b9c78a4d 100644 --- a/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go +++ b/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go @@ -1,4 +1,4 @@ -//go:build slow +//TODO: revert this // To run these slow tests, simply add the slow tag on the go test command. Also, provide a chain simulator instance on the 8085 port // example: go test -tags slow @@ -41,9 +41,9 @@ func TestRelayersShouldExecuteTransfersWithRefund(t *testing.T) { t, make(chan error), usdcToken, - memeToken, - eurocToken, - mexToken, + //memeToken, TODO: fix this + //eurocToken, + //mexToken, ) }) t.Run("malformed SC call data should refund", func(t *testing.T) { diff --git a/integrationTests/relayers/slowTests/testFlow.go b/integrationTests/relayers/slowTests/testFlow.go index 5840ba81..a3ca3f22 100644 --- a/integrationTests/relayers/slowTests/testFlow.go +++ b/integrationTests/relayers/slowTests/testFlow.go @@ -1,4 +1,4 @@ -//go:build slow +//TODO: revert this package slowTests @@ -53,6 +53,9 @@ func (flow *testFlow) process() (finished bool) { flow.setup.MultiversxHandler.MoveRefundBatchToSafe(flow.setup.Ctx) } + //TODO: move this logic into the SC calls executor + flow.setup.MultiversxHandler.RefundAllFromScBridgeProxy(flow.setup.Ctx) + transferDoneForSecondHalf := flow.setup.AreAllTransfersCompleted(framework.SecondHalfBridge, flow.tokens...) if !flow.secondHalfBridgeDone && transferDoneForSecondHalf { flow.secondHalfBridgeDone = true diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json index 0b9c9d1d..9b5dda96 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json @@ -55,6 +55,17 @@ ], "outputs": [] }, + { + "name": "executeRefundTransaction", + "mutability": "mutable", + "inputs": [ + { + "name": "tx_id", + "type": "u32" + } + ], + "outputs": [] + }, { "name": "getPendingTransactionById", "mutability": "readonly", @@ -81,6 +92,43 @@ } ] }, + { + "name": "getRefundTransactionById", + "mutability": "readonly", + "inputs": [ + { + "name": "tx_id", + "type": "u32" + } + ], + "outputs": [ + { + "type": "EthTransaction" + } + ] + }, + { + "name": "getRefundTransactions", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "variadic>", + "multi_result": true + } + ] + }, + { + "name": "refundTransactions", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "variadic>", + "multi_result": true + } + ] + }, { "name": "highestTxId", "mutability": "readonly", diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm index c51bf6f894bd16df542fed8e8880182650b7f75e..00d6c419cdffa57860d033f1029629e8c9c4759f 100755 GIT binary patch literal 18741 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 Vg{i4!h*cB*`*<~pFU6_U{{kzpucH6} literal 17254 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 UV`Fm=pgJPqgXJXNfCTaX0}9GZZ~y=R diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json index 1ad7e529..2dc74f75 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json @@ -90,22 +90,6 @@ ], "outputs": [] }, - { - "name": "updateWhitelistedToken", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "chain_specific_token_id", - "type": "TokenIdentifier" - }, - { - "name": "chain_specific_token_decimals", - "type": "u32" - } - ], - "outputs": [] - }, { "name": "blacklistToken", "onlyOwner": true, @@ -120,6 +104,7 @@ }, { "name": "depositLiquidity", + "onlyOwner": true, "mutability": "mutable", "payableInTokens": [ "*" @@ -175,6 +160,11 @@ { "name": "to", "type": "EthAddress" + }, + { + "name": "opt_min_bridge_amount", + "type": "optional", + "multi_arg": true } ], "outputs": [] diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.wasm index d9a7d78088e6a80a772ca82241d1094da3ac2955..393d4e18b7ae4c850a17ea71cd48eae79ba4e444 100755 GIT binary patch literal 12062 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 literal 11745 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 AdH?_b diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.abi.json index 5b33bc52..09078cb5 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.abi.json @@ -87,6 +87,12 @@ ], "outputs": [] }, + { + "name": "addRefundBatchForFailedTx", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { "docs": [ "Create an MultiversX -> Ethereum transaction. Only fungible tokens are accepted.", @@ -108,15 +114,24 @@ "type": "EthAddress" }, { - "name": "opt_refund_info", - "type": "optional", + "name": "opt_min_bridge_amount", + "type": "optional", "multi_arg": true } ], "outputs": [] }, { - "name": "createTransactionSCCall", + "docs": [ + "Create an Ethereum -> MultiversX refund transaction. Only fungible tokens are accepted.", + "", + "Every transfer will have a part of the tokens subtracted as fees.", + "The fee amount depends on the global eth_tx_gas_limit", + "and the current GWEI price, respective to the bridged token", + "", + "fee_amount = price_per_gas_unit * eth_tx_gas_limit" + ], + "name": "createRefundTransaction", "mutability": "mutable", "payableInTokens": [ "*" @@ -126,10 +141,6 @@ "name": "to", "type": "EthAddress" }, - { - "name": "data", - "type": "bytes" - }, { "name": "opt_refund_info", "type": "optional", @@ -220,6 +231,11 @@ { "name": "address", "type": "Address" + }, + { + "name": "opt_tokens", + "type": "optional>", + "multi_arg": true } ], "outputs": [ @@ -377,6 +393,11 @@ { "name": "address_percentage_pairs", "type": "List" + }, + { + "name": "opt_tokens_to_distribute", + "type": "optional>", + "multi_arg": true } ], "outputs": [] diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/esdt-safe.wasm index f1457d5bea9713c4b60363044af29da810e65ac3..debf5c2ae3666d247ac00d290ea5f56d480341fd 100755 GIT binary patch literal 35121 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 literal 20972 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 diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json index 1987baa5..3ca75e51 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.abi.json @@ -278,6 +278,17 @@ ], "outputs": [] }, + { + "name": "clearActionsForBatchId", + "mutability": "mutable", + "inputs": [ + { + "name": "eth_batch_id", + "type": "u64" + } + ], + "outputs": [] + }, { "docs": [ "Used by board members to sign actions." @@ -305,10 +316,6 @@ "name": "source_address", "type": "Address" }, - { - "name": "is_payable", - "type": "bool" - }, { "name": "init_args", "type": "variadic", @@ -684,6 +691,16 @@ ], "outputs": [] }, + { + "name": "bridgedTokensWrapperDepositLiquidity", + "onlyOwner": true, + "mutability": "mutable", + "payableInTokens": [ + "*" + ], + "inputs": [], + "outputs": [] + }, { "docs": [ "Minimum number of signatures needed to perform any action." @@ -930,10 +947,6 @@ ] }, { - "docs": [ - "Actions are cleared after execution, so an empty entry means the action was executed already", - "Returns \"false\" if the action ID is invalid" - ], "name": "wasActionExecuted", "mutability": "readonly", "inputs": [ diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.wasm index 99f750b28c8e35c251a5c56138adff8f6403336e..deefbe671ada55d4a0528208262968a7dad038c7 100755 GIT binary patch literal 39137 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 JQ}Fj({vShsDwqHO literal 37897 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 diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.wasm index 8419ee5173666c8a3186db1019b39f29f7897bbc..52ac12aa22bd3ddf8ae29e7c30eab160ba078ae5 100755 GIT binary patch delta 217 zcmX>ge?WeM3R`^wV?ATtM6HI2XS5kvCN5K)`2CY03$vmE3kM?u11B>R7drzB%jRE< z7K{c{8yXrIl$aD46c`1%L2M}nCT=}O#(GCa0f-!fKnqx$$w7fZpmlOCvk@m3gCm1L z8&GueT;`LEQzxgh$OFlC7CXk)&Bs_W8G)1mTO%XqG>}F`Mu91lcd@&Rwt{$$1%-|R t?z}()6j>CQ1zIXLC*iQj?juwSXL5ZhjEQmZt&8*~i1g3;@#+IuHN= delta 218 zcmX>ge?WeM3R_(QV?AU2M6HI2w`3VvCN9&T`2CY0E3={kD+ePd0|PS?7drzh>*imK z7L3-@8X6iHl$aD46c`1%L2M}nCT=bUM+Siw5RY4rk+I&9Q2?ThL7)|^gvmjHL7;7N z60_0d`OL=|r%g_0kq46PEOv}-n~$+%G6E?Bwnj$IDIn#Fi~>_9?_zfsZ3FQf3kn?t t+~836q%IxqkL From 6f9b6757dd884fa6d10b741502908adf38245dbf Mon Sep 17 00:00:00 2001 From: Iulian Pascalau Date: Mon, 9 Dec 2024 18:13:15 +0200 Subject: [PATCH 3/8] - new contract --- integrationTests/relayers/slowTests/common.go | 2 +- .../relayers/slowTests/edgeCases_test.go | 2 +- .../ethToMultiversXWithChainSimulator_test.go | 2 +- .../refundWithChainSimulator_test.go | 8 ++++---- .../relayers/slowTests/testFlow.go | 2 +- .../testdata/contracts/mvx/bridge-proxy.wasm | Bin 18741 -> 18933 bytes 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/integrationTests/relayers/slowTests/common.go b/integrationTests/relayers/slowTests/common.go index e6a19255..dc7a5750 100644 --- a/integrationTests/relayers/slowTests/common.go +++ b/integrationTests/relayers/slowTests/common.go @@ -1,4 +1,4 @@ -//TODO: revert this +//go:build slow package slowTests diff --git a/integrationTests/relayers/slowTests/edgeCases_test.go b/integrationTests/relayers/slowTests/edgeCases_test.go index b5b7c268..056b5176 100644 --- a/integrationTests/relayers/slowTests/edgeCases_test.go +++ b/integrationTests/relayers/slowTests/edgeCases_test.go @@ -1,4 +1,4 @@ -//TODO: revert this +//go:build slow package slowTests diff --git a/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go b/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go index c5db10f2..be6f5777 100644 --- a/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go +++ b/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go @@ -1,4 +1,4 @@ -//TODO: revert this +//go:build slow // To run these slow tests, simply add the slow tag on the go test command. Also, provide a chain simulator instance on the 8085 port // example: go test -tags slow diff --git a/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go b/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go index b9c78a4d..116385c5 100644 --- a/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go +++ b/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go @@ -1,4 +1,4 @@ -//TODO: revert this +//go:build slow // To run these slow tests, simply add the slow tag on the go test command. Also, provide a chain simulator instance on the 8085 port // example: go test -tags slow @@ -41,9 +41,9 @@ func TestRelayersShouldExecuteTransfersWithRefund(t *testing.T) { t, make(chan error), usdcToken, - //memeToken, TODO: fix this - //eurocToken, - //mexToken, + memeToken, + eurocToken, + mexToken, ) }) t.Run("malformed SC call data should refund", func(t *testing.T) { diff --git a/integrationTests/relayers/slowTests/testFlow.go b/integrationTests/relayers/slowTests/testFlow.go index a3ca3f22..6e5e348f 100644 --- a/integrationTests/relayers/slowTests/testFlow.go +++ b/integrationTests/relayers/slowTests/testFlow.go @@ -1,4 +1,4 @@ -//TODO: revert this +//go:build slow package slowTests diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm index 00d6c419cdffa57860d033f1029629e8c9c4759f..c34f25cb1cb3a5e3b9c90dfba833561c53205a1c 100755 GIT binary patch delta 6179 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 C!+C-L delta 6122 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 z Date: Wed, 11 Dec 2024 17:11:02 +0200 Subject: [PATCH 4/8] - new contract & minor fixes --- cmd/bridge/config/config.toml | 2 +- docker/docker-compose.yml | 2 +- .../slowTests/framework/bridgeComponents.go | 2 +- .../testdata/contracts/mvx/multisig.wasm | Bin 39137 -> 39028 bytes 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/bridge/config/config.toml b/cmd/bridge/config/config.toml index 70e3d547..1b0912e0 100644 --- a/cmd/bridge/config/config.toml +++ b/cmd/bridge/config/config.toml @@ -45,7 +45,7 @@ ProposeStatusBase = 10000000 ProposeStatusForEach = 7000000 PerformActionBase = 40000000 - PerformActionForEach = 5500000 + PerformActionForEach = 7000000 ScCallPerByte = 100000 # 1500 tx data field + the rest for the actual storage in the contract ScCallPerformForEach = 10000000 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 1a622667..ea08d073 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: chain-simulator: - image: multiversx/chainsimulator:v1.8.4-fix1 + image: multiversx/chainsimulator:v1.7.13-patch2-fix1 ports: - 8085:8085 volumes: diff --git a/integrationTests/relayers/slowTests/framework/bridgeComponents.go b/integrationTests/relayers/slowTests/framework/bridgeComponents.go index e13f2ae5..ec1c92d4 100644 --- a/integrationTests/relayers/slowTests/framework/bridgeComponents.go +++ b/integrationTests/relayers/slowTests/framework/bridgeComponents.go @@ -90,7 +90,7 @@ func NewBridgeComponents( ProposeStatusBase: 10000000, ProposeStatusForEach: 7000000, PerformActionBase: 40000000, - PerformActionForEach: 5500000, + PerformActionForEach: 7000000, ScCallPerByte: 100000, ScCallPerformForEach: 10000000, } diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multisig.wasm index deefbe671ada55d4a0528208262968a7dad038c7..e359586ad8d3fe8f1a65d9051bf97b7a17ca7ac7 100755 GIT binary patch delta 6390 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 S@YUMImhJ1!R(*fG(f=ROKr?3m From 767efe231597676e2f32dc493fe23bcb5a4d8c11 Mon Sep 17 00:00:00 2001 From: Iulian Pascalau Date: Thu, 12 Dec 2024 15:43:44 +0200 Subject: [PATCH 5/8] - added 2 new tests + integrated new contracts --- integrationTests/relayers/slowTests/common.go | 5 +- .../refundWithChainSimulator_test.go | 63 ++++++++++++++++++ .../testdata/contracts/mvx/bridge-proxy.wasm | Bin 18933 -> 18916 bytes .../testdata/contracts/mvx/esdt-safe.wasm | Bin 35121 -> 35345 bytes .../contracts/mvx/multi-transfer-esdt.wasm | Bin 21493 -> 21494 bytes .../testdata/contracts/mvx/multisig.abi.json | 10 --- .../testdata/contracts/mvx/multisig.wasm | Bin 39028 -> 38478 bytes 7 files changed, 67 insertions(+), 11 deletions(-) diff --git a/integrationTests/relayers/slowTests/common.go b/integrationTests/relayers/slowTests/common.go index a47cb0fc..c5b2e912 100644 --- a/integrationTests/relayers/slowTests/common.go +++ b/integrationTests/relayers/slowTests/common.go @@ -797,5 +797,8 @@ func createScCallData(function string, gasLimit uint64, args ...string) []byte { Arguments: args, } - return codec.EncodeCallDataStrict(callData) + buff := codec.EncodeCallDataStrict(callData) + log.Info("working with SC call data", "buff", buff) + + return buff } diff --git a/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go b/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go index 680a7820..52f2029e 100644 --- a/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go +++ b/integrationTests/relayers/slowTests/refundWithChainSimulator_test.go @@ -109,6 +109,69 @@ func TestRelayersShouldExecuteTransfersWithRefund(t *testing.T) { mexToken, ) }) + t.Run("empty function with no args should refund", func(t *testing.T) { + callData := createScCallData("", 50000000) + usdcToken := GenerateTestUSDCToken() + usdcToken.TestOperations[2].MvxSCCallData = callData + usdcToken.TestOperations[2].MvxFaultySCCall = true + ApplyUSDCRefundBalances(&usdcToken) + + memeToken := GenerateTestMEMEToken() + memeToken.TestOperations[2].MvxSCCallData = callData + memeToken.TestOperations[2].MvxFaultySCCall = true + ApplyMEMERefundBalances(&memeToken) + + eurocToken := GenerateTestEUROCToken() + eurocToken.TestOperations[2].MvxSCCallData = callData + eurocToken.TestOperations[2].MvxFaultySCCall = true + ApplyEUROCRefundBalances(&eurocToken) + + mexToken := GenerateTestMEXToken() + mexToken.TestOperations[2].MvxSCCallData = callData + mexToken.TestOperations[2].MvxFaultySCCall = true + ApplyMEXRefundBalances(&mexToken) + + testRelayersWithChainSimulatorAndTokensAndRefund( + t, + make(chan error), + usdcToken, + memeToken, + eurocToken, + mexToken, + ) + }) + t.Run("empty function with args should refund", func(t *testing.T) { + dummyAddress := strings.Repeat("2", 32) + callData := createScCallData("", 50000000, dummyAddress) + usdcToken := GenerateTestUSDCToken() + usdcToken.TestOperations[2].MvxSCCallData = callData + usdcToken.TestOperations[2].MvxFaultySCCall = true + ApplyUSDCRefundBalances(&usdcToken) + + memeToken := GenerateTestMEMEToken() + memeToken.TestOperations[2].MvxSCCallData = callData + memeToken.TestOperations[2].MvxFaultySCCall = true + ApplyMEMERefundBalances(&memeToken) + + eurocToken := GenerateTestEUROCToken() + eurocToken.TestOperations[2].MvxSCCallData = callData + eurocToken.TestOperations[2].MvxFaultySCCall = true + ApplyEUROCRefundBalances(&eurocToken) + + mexToken := GenerateTestMEXToken() + mexToken.TestOperations[2].MvxSCCallData = callData + mexToken.TestOperations[2].MvxFaultySCCall = true + ApplyMEXRefundBalances(&mexToken) + + testRelayersWithChainSimulatorAndTokensAndRefund( + t, + make(chan error), + usdcToken, + memeToken, + eurocToken, + mexToken, + ) + }) t.Run("uninitialized contract should refund", func(t *testing.T) { callData := createScCallData("claim", 50000000) uninitializedSCAddressBytes, _ := data.NewAddressFromBech32String("erd1qqqqqqqqqqqqqpgqcc69ts8409p3h77q5chsaqz57y6hugvc4fvs64k74v") diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm index c34f25cb1cb3a5e3b9c90dfba833561c53205a1c..cf608d87c632119ffdbc3e1e697aae0dc1120ed9 100755 GIT binary patch delta 417 zcmY+8KT88a5XE%OyTWi!1h#VHyPr|GVGsC)f08<$??CIrAL!ma{kv z4)i#QKp#8XBNnm(j4Cc~!!TqM$WgT1RU4otY6!jz=7ipGC&|0#7HOWjr3H{}BbEhIzdz7*Z-*MU zy=89cu7{@a7l{#C)!l|Ap9Y92@)BZPS+P|mDMSzxlavSY#RzRq@jeD7J$^F3!viWU a?+2iK3_?XM|8@DJ7)A&|K8)U~S@{E9#AZtX delta 436 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 delta 5040 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 Cmxvtz diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multi-transfer-esdt.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multi-transfer-esdt.wasm index 3098651bb1a7927b1a16c3c14083969d3ee5f380..0ff91fb4b1544f54130919e193f76d3e5f41a77f 100755 GIT binary patch delta 30 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 S`UPI{i)#nM(pvnq%l`v#%7TCZ literal 39028 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 Date: Fri, 13 Dec 2024 14:39:44 +0200 Subject: [PATCH 6/8] - new contracts --- .../contracts/mvx/bridge-proxy.abi.json | 20 ++++++++++++++++++ .../testdata/contracts/mvx/bridge-proxy.wasm | Bin 18916 -> 19038 bytes .../contracts/mvx/multi-transfer-esdt.wasm | Bin 21494 -> 21527 bytes 3 files changed, 20 insertions(+) diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json index 9b5dda96..8898e1b6 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.abi.json @@ -168,6 +168,26 @@ "execution_callback" ], "events": [ + { + "identifier": "executeSuccesfullyFinished", + "inputs": [ + { + "name": "tx_id", + "type": "u32", + "indexed": true + } + ] + }, + { + "identifier": "executeGeneratedRefund", + "inputs": [ + { + "name": "tx_id", + "type": "u32", + "indexed": true + } + ] + }, { "identifier": "pauseContract", "inputs": [] diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridge-proxy.wasm index cf608d87c632119ffdbc3e1e697aae0dc1120ed9..6567d4bd9292d88e902caebbd1a0d14173d82c6d 100755 GIT binary patch delta 1457 zcmZuxZA@Eb6n@X`Erne=E)rweP5TUtFG9N`<>4L`$~x2xLYaC;q2Uqh>#T!jRb)Nx_fjsq_8G44|*z%_hD zourwAxH{Qag?;MS&KS?uI4`*YLVZJBz3lZ>x6@Ds)NKyGS0?kI@w-FfClKD?J;JOm z@+riGFwmkkPDgX|afh>s+=Or@TbX=|2Da6C94?u*v8|@YHYq$Jntyb+1#Vyc#>m!>Fci_P$sEV-_!}4^IVGAm>8}Gp=3aKY4=rgHLtG0l?kq!Vu%KVNT zZnFm;WqKkb39SX}+bgfV=>WJx;Dtm17JV&tSIql&X|7K!AL zi52|bl)_QAX8H;~!iC*N_y8a5Hb+eaLwXrC^5O(0<(9xSzLZ-8Q`npP3@qSmZm~X? zm?it~N1K{NFsIU}XU$!JIAhMFZQVDUD1B_Mq>WbOl>sWTN2|PM!>Q`WG7x#XP-9o5K0>H{k-B_pQ>!Zjp-ch-FVux8c{8 z3qhMgsnM#V)&lDen80J!T~T8!i!>IzE3Md%gVvoJwxysgirVg5Q{%>i)y^<_Rh$Z5 z=`9|^YzBIr8McEw8!NWjwoC(uZ7;GP;1^qVfq`Ul@mfym4(3f1`&lj{M5^cxOY|SJ z(?wQM@e9%@@!}dQp;h4t`}4r#qCI^N5d?!uyu|F%ukWzkdg@6I!2s0N#}d-P++#f0B~1zY3z4m`f1)H5`!wfpFom za;oAHm%H&sR?2SK*VIcxr;kC$8Hp=IKjh6O-ycW-c+9&BQOJ#!Q#gdtWgVG%va5``q6- z=braXKg=Oq$kJ*ea1u@00KTN%6qt|dg>E8;zSIkeQ`DHS*SEK|y^9j9Kj7~mW02_e zwY3Hr`zj>*_WL}Y9X|3pWGt{de7iaW-o|!!An5jV_*(;H95S1H9ou~YuRqZAFN3qI z-b*IXq059f@KN3JtT!Q@IsPX>kX*ncy7ZlIfw0@(wA&Z#Xxz^t-v(WqyEEt`3M6(0 z;_OAx`-9uL)=MtIy>Unk!;>C&OUu)4&mQs)=sEA?{JSi$t*PDZ^^q}z1e5l92u>=N z1P8#&iYIZJGIIYtMt~`_3xkHa=nEktv#*NWjN+WI4c=4MByWXfvpw9<-E1KhbhZZ% z8!929Tro6I`a=|rVlyY*qMa!x#Zp+DNBJXl1mHM^jgND;+s3CDQ65Vh&_YZ;yBCF>9!UI%HxazeMqRVK!wXRyYH%;Y^Vk`tkds zl9WL;q?ey&tvHDJ#cN?0J;jx92E)ZGU=k;b?Qk0Bi%l?uDJ2$WEiE|!$M9l_mDPK# zq>!D-rFE?#mA^>gtWsw02RMtLu06!C zZLP{-H?>q{GQOv38b+~h-Pg>TTYZ8do2vdUX_RBG)Pw*ZT(<>(Uw?>MyEYVXZn#%Rj2qGl+dS>Rh#;>s1Gp!gSZ1mUQ(2h=;lNggDF-33oJ@=91We%UxTn z8a5pXBu$-xFouoET5C`j@$MGHcXGn@0AHdzt^y->w9*XbC~3s=YEF#R*h~@&te`c_ z%y)svpO9u*E6#HV1Hqj&n}OoFn!L>*2=a}C{M}`WCpa>4S00GVln6;gJQo)jH~D{@ ovafarq<+9ng79quW&hQXUbw16H~mEMR=p=_wnr~$?Xg(wZ_GE`vj6}9 diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/multi-transfer-esdt.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/multi-transfer-esdt.wasm index 0ff91fb4b1544f54130919e193f76d3e5f41a77f..51b56b3e1d4c4e34a47b98505326af9f5d47b083 100755 GIT binary patch delta 3148 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 Rwp^Q;e$?|*182{k{XcIE3ugcT From 7951eee3f5297f4ab8a632984ab5ae94cb151ddf Mon Sep 17 00:00:00 2001 From: Iulian Pascalau Date: Thu, 19 Dec 2024 12:05:19 +0200 Subject: [PATCH 7/8] - new contracts --- .../mvx/bridged-tokens-wrapper.abi.json | 1 - .../contracts/mvx/bridged-tokens-wrapper.wasm | Bin 12062 -> 12056 bytes .../contracts/mvx/test-caller.abi.json | 18 ++++++++++++++++++ .../testdata/contracts/mvx/test-caller.wasm | Bin 4032 -> 4754 bytes 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json index 2dc74f75..2885dccc 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.abi.json @@ -104,7 +104,6 @@ }, { "name": "depositLiquidity", - "onlyOwner": true, "mutability": "mutable", "payableInTokens": [ "*" diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/bridged-tokens-wrapper.wasm index 393d4e18b7ae4c850a17ea71cd48eae79ba4e444..f37845cc51e0a27a639b015301ecfde2b972ffa2 100755 GIT binary patch delta 25 hcmbOiHzRICFdO5R%^_?$(u@-(H!6y5o}<{r3jli!2;Tqz delta 28 kcmbOcH!p5OFdO5p%^_?$(u~t4H!6xU32fUuNwJL=0F?^~tpET3 diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json b/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json index 9cd461e9..8cb97aef 100644 --- a/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json +++ b/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.abi.json @@ -59,6 +59,20 @@ ], "outputs": [] }, + { + "name": "callPayableWithBuff", + "mutability": "readonly", + "payableInTokens": [ + "*" + ], + "inputs": [ + { + "name": "buff", + "type": "bytes" + } + ], + "outputs": [] + }, { "name": "getCalledDataParams", "mutability": "readonly", @@ -88,6 +102,10 @@ { "name": "token_identifier", "type": "TokenIdentifier" + }, + { + "name": "buff", + "type": "bytes" } ] } diff --git a/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.wasm b/integrationTests/relayers/slowTests/testdata/contracts/mvx/test-caller.wasm index 52ac12aa22bd3ddf8ae29e7c30eab160ba078ae5..97d9ffbc5e71adb6d70b738128ca74e6d0f61eee 100755 GIT binary patch literal 4754 zcmbVQ-ESOM6~7-dyW<^y+%|=}b}QW(isYyt3IQDBCtoLNh}x!=!iU6*GufTk-u3R< zv*Q#?D7#He8VDZ++R{Q=0u(}l0B=wbQW4Lf{sBDj1QL%t0Ya4Dxp!vQaia#YmUr$w z=iGD8`Q7tzXIau~bH*4q<7XJ}pAr2&zImVF-%Z&W*)NFv!Wj=^VlW2r3zo$kk%?>a zE}3@D*V@b5=gy_ssq`7fh%iwQ%;sj=X)sQ-``bw;Sxp-!()`KojePz1>0_Tbnrv)* zD%sdhnII8WEQ81sX=gQGW0J^WZ+*3sY#h(BZpJ*K+JESmem~3^sopy3op`}x+X?|+ET@riFlY5Gtj&?V9XrI#?>-CgXX~BV! zwfi_z1?O~{-(s6X>2%)B0K^mBq(G)rR50j~I?PHxVRUJiV@%f9(t7Ju_vvKEdJvF7 zCF+l@ch-A^-NO$_Q56Aal8p(!=Hcndn&ci2J>dxvlpo>wzUT8z&bcokUU|Rlb2AtO zVV{{--?oqIcvN5KVWpk6yV;IlVI7FVfaL5(%04tnvs2wpNjUtzJ?u}f=W9#Y z4 zaAjpJO*U7~CcRXO+KUf7bT8+9HNc0(Tr>47jb=0tZ%P^T`32GcfMpuhiur?X*ouT$ z5=(|X!mho21qZRprOC1dUF?DGbV9H!C`bBp?fQRlPvYu+Tg= z0I()jyKb(T4(G)<9<_N9;4x-_053(6;KTQz60+f+Lm;S1(&G zE6!R!Ho?@3Zn0(|#T;VIY2fNBZZ!{UFx#zk!{>+*Y9^M{6&h-WfSC%-@2#QtmEfG< z0_t!yk#vz9d18qO0Y!-R)E8(m0)x@KIWL&@ra~>u->jY~^(ygMc#Keb&H6lBpd?2r zA@}1$xq`c$i^|REGtaJBAc+20264w+EuUty<;NU~bl+VPNkQ$BPpSMn1GnGGRB5mg&Viuhysg>tkZzP_J+05 zg(pt%y$e6&uaP`8wBc4-hX3MR76rW$LdK zo;1~!dGUfJAdMFt55ddKE>#v?DMQI}Rj55JnlbouZq<_$eB7r~N46;KgAJ(MnhDPe zM?Sg`aZVyyd}juZRC{iRCd7Y34$eS}_EAR>M4tB5Pl<>^?W>!`NUEQ>QF?oz|Bn+b z;)UPtIH~*XujWO?eAC$xQlb5o8-ENonLiZ0&2>XwM6@t(T6$T&DHi61hX;qd)KP!o zblku|i*@bNL`ZjSx#ne}6fNtgpSGmMX!{{<~s1-ApOGY>m^(|TuarI66M98B$ zsISw6qC+93nEEbF=fxb%k@Mm~XPhSEj>u{7e^!dyHL%)DH`VKoXbzQEg{z!ChyhgIe+HiYI@44w1V zE;u#x^nPXAS|kjQ&=;ul)1O?@GD0BZMo6Ko1@Z|VsXZ$d?p;9k9;ZP2C+UKz#Z$P1 z`ZPG%go_o#v~8AVRk<#U!6ib7E}9mip(#Nri%fQN+Vk@`jux0xwGQ}H06&wH9hSu0{M6DDh(jS$7e^~y( zvE^TDItVyYrr0>c#g`XI(GmLg_(*Eb9!xn(zNfW{rd z$gSAJD-GD5jTuB0-fk#Bb>$I;13*yVR)!#vbUBk0iDV{1PFzmAzl`WSOFBLLrqWA_ zUnz7Wt#=!#PU&Y5J$G1u P9Bu%Ii$Ulu;NAMatBZg( literal 4032 zcmai1-ESOM6+idR%A(;L|zF``R?_jp`q7G3heVG0q%uUo;ANb+^>0Wa%c zo9ZoZU%8Uy7qgd$n9wWRAQ5X|1JJ}$&a z?c$FTp-J7~)d?-4i=dmgckk?yIj+8K`GlBwUsqppQe^H~f;S<&af2n)n4oU5C`FI3 zneSRPQj-?yt4@WCPO~9V@<{Djx;z74Ugo9IPd7<@iiax^PWN2RAx28s&gcjTy z+$nI>Ef$8XJfm*&Qq%b+%|zx8*4anY9jENPkRuH}6nhSU*k`lzGSr?H+E-s@xh9VD zzOx`n`!kW2=I>U|jC#%KIm;e>U}lPh!Y1h4pX7N#-})Oe-jercm1Q-b0)fpc+4)fSf(evP@dr+)$7bnq{BGz zOyhY3Dh+%vVMlvi`&2(~uorA67w7K`mipw!i}}Y?-jgIn--*$DC_2UV{DTG&+k{ZyHS_8p>6xZ5V7~Vb_sWN2i?_PAAm6nFGGfW` zbbw0#D<@vps$5vEinOm~Cjo!noqDb*rUQnJmPqLUY=Kg;`D^-CI1Z*o#GDI&J8*6Q z6YV<-9f<#ykvjn`IzY7}3%(B2&zOjI3e=nB%2PjaE881F{o3s!gsSek^{3EV=59F) z-1HD-Vx)P^(#H@3@&)O`sDRO^LF$)I#{*>kY$cCW9c#P$`^=3Lsju?_?d}M_!{|lX zH>#4*-Gp3880kdR_xM08)OYN!G~L+aY;h{yXXF$AT$4=Ke2Blg_UB>`h#><=hvl2D zdc_*&Q`#%%)8>{@m@kH6zoNwf5}`Wip}1y5Tn8`o&H!oENg6tMrYUuen-PHVk3!oc zemrmX)O+jc86 zFVS(}fSW_{?ry>^zLoe(bj${+uxTvOLv|BlGqpqyBTY6*zJabe-Ozr{-Fq(aJLq4S z;@w=etIu_K8EU`lZiTURqsvjp#r`XHiK5#zFGTr{C)zz4*YCkXS3k135pZR8Ult#A z>5C=mz~fqUa|l)Ep&EVE5_i3p7(F(KN&Zz_<1#qr6zJdrsuP0GBi#WnE_7l~*U7Y6N2aX6FeELgVl^i9Cm(3E+KBXapUXoNe|9BFUJ)f=tfnDh`Oxk|K}3JQ7Rf& zbb!-kMPp2JOu;0kU>p-Twk5RYeCx@LHcglfqDlxVC6H%OC4uof3C5DE51R9>`&iUUq)vKJ96I$ZJVOw}fq_W=e4(48C9vsi2;P5@~u7F>#4tp7t{W0m3-%AmW z>;#rZ@mmYt-}q)jb~JU3w}r0bpfpc&W@-`FxDRygaYEKmdl+)4MUQ8l#|6)BqSDc+ zN!@&LE5Y2hHv_N(Dh=plRiP1|M)zP_a4~Jg5^G3L0lL`U;9aI-4)8lAn+(u5@|qUd zCpGOCc*DR1wc-x&Kzp!0EqPqCcEa=)_8_16@6wR1!y~q?;i!lZs$~E0?ufu`q@s*e zaHM#vJP;{GM}P}rlj=7Na}>QRB){8-(S4D&+j%w|uJ>DmJkMH%?r--lXSp6+(fkRe zi#+WQ@r61}%MVH2&RT$!>UckQb-d zi>x-HHq)$ From 074bb8987cab03e1af393323a7276373c29d47ce Mon Sep 17 00:00:00 2001 From: Iulian Pascalau Date: Thu, 19 Dec 2024 15:30:33 +0200 Subject: [PATCH 8/8] - fixed parsing from test contract --- .../slowTests/ethToMultiversXWithChainSimulator_test.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go b/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go index 923e22e5..2e6636a5 100644 --- a/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go +++ b/integrationTests/relayers/slowTests/ethToMultiversXWithChainSimulator_test.go @@ -571,8 +571,12 @@ func processCalledDataParams(buff []byte) (uint64, string) { valBuff := buff[:8] value := binary.BigEndian.Uint64(valBuff) - buff = buff[8+32+4:] // trim the nonce, address and length of the token - token := string(buff) + buff = buff[8+32:] // trim the nonce and the address + tokenLenBuff := buff[:4] + tokenLen := binary.BigEndian.Uint32(tokenLenBuff) + buff = buff[4:] // trim the length of the token string + + token := string(buff[:tokenLen]) return value, token }