diff --git a/Makefile b/Makefile index 116af20..5b85898 100755 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ APPNAME = "Staderlabs" # Application version APPVERSION_M = 1 -APPVERSION_N = 1 -APPVERSION_P = 3 +APPVERSION_N = 2 +APPVERSION_P = 0 include ethereum-plugin-sdk/standard_plugin.mk \ No newline at end of file diff --git a/PLUGIN_SPECIFICATION.md b/PLUGIN_SPECIFICATION.md index 06e9d0a..4d97f2b 100644 --- a/PLUGIN_SPECIFICATION.md +++ b/PLUGIN_SPECIFICATION.md @@ -34,19 +34,6 @@ Functions covered by above contract/s : |StakeManager | requestWithdraw(uint256 \_amountInBnbX) | `0x745400c9`| `_amountInBnbX` | |StakeManager | claimWithdraw(uint256 \_idx) | `0xb13acedd`| | -#### FTMx - -| Network | Contract Name | Smart Contract | -| ------- | ------------- | -------------------------------------------- | -| Fantom | FTMStaking | `0xb458bfc855ab504a8a327720fcef98886065529b` | - -Functions covered by above contract/s : -|Contract | Function | Selector | Displayed Parameters | -| --- | --- | --- | --- | -|FTMStaking | deposit() | `0xd0e30db0`| native_token_amount (ftm) | -|FTMStaking | undelegate(uint256 wrID, uint256 amountFTMx, uint256 minAmountFTM) | `0x4f864df4`| `amountFTMx` | -|FTMStaking | withdraw(uint256 wrID, uint256 bitmaskToSkip) | `0x441a3e70`| | - #### ETHx | Network | Contract Name | Smart Contract | @@ -60,17 +47,19 @@ Functions covered by above contract/s : |StaderStakePoolsManager | deposit(address \_receiver, string calldata \_referralId) | `0xb7482509`| `_receiver`, native_token_amount (eth) | |UserWithdrawalManager | requestWithdraw(uint256 \_ethXAmount, address \_owner, string calldata \_referralId) | `0x1f7ec122`| `_ethXAmount`, `_owner` | |UserWithdrawalManager | claim(uint256 \_requestId) | `0x379607f5`| | -|StaderStakePoolsManager | deposit(address \_receiver) | `0xf340fa01`| `_receiver`, native_token_amount (eth) | -|UserWithdrawalManager | requestWithdraw(uint256 \_ethXAmount, address \_owner) | `0xccc143b8`| `_ethXAmount`, `_owner` | #### KELP | Network | Contract Name | Smart Contract | | ------- | ------------- | -------------------------------------------- | | Ethereum | LRTDepositPool | `0x036676389e48133B63a802f8635AD39E752D375D` | +| Ethereum | LRTWithdrawalManager | `0x62de59c08eb5dae4b7e6f7a8cad3006d6965ec16` | + Functions covered by above contract/s : |Contract | Function | Selector | Displayed Parameters | | --- | --- | --- | --- | |LRTDepositPool | depositETH(uint256 minRSETHAmountExpected, string calldata referralId) | `0x72c51c0b`| native_token_amount (eth) | |LRTDepositPool | depositAsset(address asset, uint256 depositAmount, uint256 minRSETHAmountExpected, string calldata referralId) | `0xc3ae1766`| `asset`, `depositAmount` | +|LRTWithdrawalManager | initiateWithdrawal(address asset, uint256 rsETHUnstaked) | `0xc8393ba9`| `asset`, `rsETHUnstaked` | +|LRTWithdrawalManager | completeWithdrawal(address asset) | `0x6dbaf9ee`| `asset` | diff --git a/src/handle_finalize.c b/src/handle_finalize.c index e5b0fb3..db7acd5 100644 --- a/src/handle_finalize.c +++ b/src/handle_finalize.c @@ -5,17 +5,21 @@ void handle_finalize(ethPluginFinalize_t *msg) { switch (context->selectorIndex) { case ETHX_DEPOSIT: - case ETHX_DEPOSIT_LEGACY: case ETHX_REQUEST_WITHDRAW: - case ETHX_REQUEST_WITHDRAW_LEGACY: msg->numScreens = 2; break; case KELP_LST_DEPOSIT: + case KELP_CLAIM_WITHDRAW: msg->numScreens = 1; msg->tokenLookup1 = context->token_addr; break; + case KELP_INITIATE_WITHDRAW: + msg->numScreens = 2; + msg->tokenLookup1 = context->token_addr; + break; + default: msg->numScreens = 1; break; diff --git a/src/handle_init_contract.c b/src/handle_init_contract.c index 33ef1d7..5856a73 100644 --- a/src/handle_init_contract.c +++ b/src/handle_init_contract.c @@ -41,12 +41,10 @@ void handle_init_contract(ethPluginInitContract_t *msg) { // EDIT THIS: Adapt the `cases`, and set the `next_param` to be the first parameter you expect // to parse. switch (context->selectorIndex) { - case ETHX_DEPOSIT_LEGACY: case ETHX_DEPOSIT: context->next_param = ACCOUNT_ADDR; break; - case ETHX_REQUEST_WITHDRAW_LEGACY: case ETHX_REQUEST_WITHDRAW: context->next_param = UNSTAKE_AMOUNT; strlcpy(context->ticker, "ETHX", sizeof(context->ticker)); @@ -67,7 +65,6 @@ void handle_init_contract(ethPluginInitContract_t *msg) { break; case BSC_STAKEMANAGER_DEPOSIT: - // case FTM_DEPOSIT: // the selector matches with `BSC_STAKEMANAGER_DEPOSIT` context->next_param = UNEXPECTED_PARAMETER; break; @@ -79,12 +76,6 @@ void handle_init_contract(ethPluginInitContract_t *msg) { strlcpy(context->ticker, "MATICX", sizeof(context->ticker)); break; - case FTM_UNDELEGATE: - context->next_param = UNSTAKE_AMOUNT; - strlcpy(context->ticker, "FTMX", sizeof(context->ticker)); - context->skip_next_param = true; - break; - case ETH_MATICX_CLAIM_WITHDRAWAL: case POLYGON_CHILDPOOL_CLAIM_MATICX_SWAP: context->next_param = UNEXPECTED_PARAMETER; @@ -96,11 +87,6 @@ void handle_init_contract(ethPluginInitContract_t *msg) { strlcpy(context->ticker, "BNB", sizeof(context->ticker)); break; - case FTM_WITHDRAW: - context->next_param = UNEXPECTED_PARAMETER; - strlcpy(context->ticker, "FTM", sizeof(context->ticker)); - break; - case KELP_LST_DEPOSIT: context->next_param = TOKEN_ADDR; break; @@ -109,6 +95,16 @@ void handle_init_contract(ethPluginInitContract_t *msg) { context->next_param = UNEXPECTED_PARAMETER; break; + case KELP_INITIATE_WITHDRAW: + context->next_param = TOKEN_ADDR; + strlcpy(context->ticker, "ETH", sizeof(context->ticker)); + break; + + case KELP_CLAIM_WITHDRAW: + context->next_param = TOKEN_ADDR; + strlcpy(context->ticker, "ETH", sizeof(context->ticker)); + break; + // Keep this default: PRINTF("Missing selectorIndex: %d\n", context->selectorIndex); diff --git a/src/handle_provide_parameter.c b/src/handle_provide_parameter.c index 692d914..1fabd84 100644 --- a/src/handle_provide_parameter.c +++ b/src/handle_provide_parameter.c @@ -29,11 +29,6 @@ static void handle_stake(ethPluginProvideParameter_t *msg, context_t *context) { } static void handle_unstake(ethPluginProvideParameter_t *msg, context_t *context) { - if (context->skip_next_param) { // this is currently only useful in ftm_undelegate - context->skip_next_param = false; - return; - } - switch (context->next_param) { case UNSTAKE_AMOUNT: handle_amount_received(msg, context); @@ -110,6 +105,23 @@ static void handle_kelp_lst_deposit(ethPluginProvideParameter_t *msg, context_t break; } } + +static void handle_kelp_initiate_withdraw(ethPluginProvideParameter_t *msg, context_t *context) { + switch (context->next_param) { + case TOKEN_ADDR: + copy_address(context->token_addr, msg->parameter, sizeof(context->token_addr)); + context->next_param = UNSTAKE_AMOUNT; + break; + case UNSTAKE_AMOUNT: + handle_amount_received(msg, context); + context->next_param = UNEXPECTED_PARAMETER; + break; + default: + handle_unsupported_param(msg); + break; + } +} + void handle_provide_parameter(ethPluginProvideParameter_t *msg) { context_t *context = (context_t *) msg->pluginContext; // We use `%.*H`: it's a utility function to print bytes. You first give @@ -124,12 +136,10 @@ void handle_provide_parameter(ethPluginProvideParameter_t *msg) { // EDIT THIS: adapt the cases and the names of the functions. switch (context->selectorIndex) { - case ETHX_DEPOSIT_LEGACY: case ETHX_DEPOSIT: handle_ethx_deposit(msg, context); break; - case ETHX_REQUEST_WITHDRAW_LEGACY: case ETHX_REQUEST_WITHDRAW: handle_ethx_request_withdraw(msg, context); break; @@ -138,11 +148,10 @@ void handle_provide_parameter(ethPluginProvideParameter_t *msg) { handle_stake(msg, context); break; - case ETH_MATICX_REQUEST_WITHDRAW: - case POLYGON_CHILDPOOL_REQUEST_MATICX_SWAP: // case BSC_STAKEMANAGER_REQUEST_WITHDRAW: // the selector matches with `ETH_MATICX_REQUEST_WITHDRAW` - case FTM_UNDELEGATE: + case ETH_MATICX_REQUEST_WITHDRAW: + case POLYGON_CHILDPOOL_REQUEST_MATICX_SWAP: handle_unstake(msg, context); break; @@ -152,14 +161,20 @@ void handle_provide_parameter(ethPluginProvideParameter_t *msg) { case POLYGON_CHILDPOOL_SWAP_MATIC_FOR_MATICX_VIA_INSTANT_POOL: case POLYGON_CHILDPOOL_CLAIM_MATICX_SWAP: case BSC_STAKEMANAGER_DEPOSIT: - // case FTM_DEPOSIT: // the selector matches with `BSC_STAKEMANAGER_DEPOSIT` case BSC_STAKEMANAGER_CLAIM_WITHDRAW: - case FTM_WITHDRAW: context->next_param = UNEXPECTED_PARAMETER; break; case KELP_LST_DEPOSIT: handle_kelp_lst_deposit(msg, context); break; + case KELP_INITIATE_WITHDRAW: + handle_kelp_initiate_withdraw(msg, context); + break; + + case KELP_CLAIM_WITHDRAW: + copy_address(context->token_addr, msg->parameter, sizeof(context->token_addr)); + context->next_param = UNEXPECTED_PARAMETER; + break; default: PRINTF("Selector Index not supported: %d\n", context->selectorIndex); diff --git a/src/handle_provide_token.c b/src/handle_provide_token.c index 77658ed..3ff25ef 100644 --- a/src/handle_provide_token.c +++ b/src/handle_provide_token.c @@ -6,6 +6,8 @@ void handle_provide_token(ethPluginProvideInfo_t *msg) { context_t *context = (context_t *) msg->pluginContext; + // FOR KELP_INITIATE_WITHDRAW, assign the ticker if available, + // else it will be ETH, already set during init_contract if (msg->item1) { strlcpy(context->ticker, (char *) msg->item1->token.ticker, sizeof(context->ticker)); } diff --git a/src/handle_query_contract_id.c b/src/handle_query_contract_id.c index 3bcc0ef..af50989 100644 --- a/src/handle_query_contract_id.c +++ b/src/handle_query_contract_id.c @@ -13,21 +13,17 @@ void handle_query_contract_id(ethQueryContractID_t *msg) { // EDIT THIS: Adapt the cases by modifying the strings you pass to `strlcpy`. switch (context->selectorIndex) { case ETHX_DEPOSIT: - case ETHX_DEPOSIT_LEGACY: case ETH_MATICX_SUBMIT: case POLYGON_CHILDPOOL_SWAP_MATIC_FOR_MATICX_VIA_INSTANT_POOL: - // case FTM_DEPOSIT: // the selector matches with `BSC_STAKEMANAGER_DEPOSIT` case BSC_STAKEMANAGER_DEPOSIT: msgVersion = "Stake"; break; + // case BSC_STAKEMANAGER_REQUEST_WITHDRAW: + // the selector matches with `ETH_MATICX_REQUEST_WITHDRAW` case ETHX_REQUEST_WITHDRAW: - case ETHX_REQUEST_WITHDRAW_LEGACY: case ETH_MATICX_REQUEST_WITHDRAW: case POLYGON_CHILDPOOL_REQUEST_MATICX_SWAP: - // case BSC_STAKEMANAGER_REQUEST_WITHDRAW: - // the selector matches with `ETH_MATICX_REQUEST_WITHDRAW` - case FTM_UNDELEGATE: msgVersion = "Unstake"; break; @@ -35,7 +31,6 @@ void handle_query_contract_id(ethQueryContractID_t *msg) { case ETH_MATICX_CLAIM_WITHDRAWAL: case POLYGON_CHILDPOOL_CLAIM_MATICX_SWAP: case BSC_STAKEMANAGER_CLAIM_WITHDRAW: - case FTM_WITHDRAW: msgVersion = "Claim"; break; @@ -48,6 +43,16 @@ void handle_query_contract_id(ethQueryContractID_t *msg) { msgVersion = "Native Restake"; break; + case KELP_INITIATE_WITHDRAW: + strlcpy(msg->name, "Kelp", msg->nameLength); + msgVersion = "Unstake"; + break; + + case KELP_CLAIM_WITHDRAW: + strlcpy(msg->name, "Kelp", msg->nameLength); + msgVersion = "Claim"; + break; + default: PRINTF("Selector index: %d not supported\n", context->selectorIndex); msg->result = ETH_PLUGIN_RESULT_ERROR; diff --git a/src/handle_query_contract_ui.c b/src/handle_query_contract_ui.c index b13605d..69bf438 100644 --- a/src/handle_query_contract_ui.c +++ b/src/handle_query_contract_ui.c @@ -108,6 +108,35 @@ static bool handle_ethx_request_withdraw(ethQueryContractUI_t *msg, context_t *c return ret; } +static bool handle_kelp_initiate_withdraw(ethQueryContractUI_t *msg, context_t *context) { + bool ret = false; + + memset(msg->title, 0, msg->titleLength); + memset(msg->msg, 0, msg->msgLength); + + switch (msg->screenIndex) { + case 0: + strlcpy(msg->title, "Unstake", msg->titleLength); + ret = amountToString(context->amount_received, + sizeof(context->amount_received), + WEI_TO_ETHER, + "RSETH", + msg->msg, + msg->msgLength); + break; + + case 1: + strlcpy(msg->title, "Asset Expected", msg->titleLength); + strlcpy(msg->msg, context->ticker, msg->msgLength); + ret = true; + break; + + default: + PRINTF("Received an invalid screenIndex\n"); + } + return ret; +} + void handle_query_contract_ui(ethQueryContractUI_t *msg) { context_t *context = (context_t *) msg->pluginContext; bool ret = false; @@ -125,11 +154,10 @@ void handle_query_contract_ui(ethQueryContractUI_t *msg) { ret = set_stake_ui(msg, context); break; - case ETH_MATICX_REQUEST_WITHDRAW: - case POLYGON_CHILDPOOL_REQUEST_MATICX_SWAP: // case BSC_STAKEMANAGER_REQUEST_WITHDRAW: // the selector matches with `ETH_MATICX_REQUEST_WITHDRAW` - case FTM_UNDELEGATE: + case ETH_MATICX_REQUEST_WITHDRAW: + case POLYGON_CHILDPOOL_REQUEST_MATICX_SWAP: ret = set_unstake_ui(msg, context); break; @@ -137,27 +165,28 @@ void handle_query_contract_ui(ethQueryContractUI_t *msg) { case ETH_MATICX_CLAIM_WITHDRAWAL: case POLYGON_CHILDPOOL_CLAIM_MATICX_SWAP: case BSC_STAKEMANAGER_CLAIM_WITHDRAW: - case FTM_WITHDRAW: + case KELP_CLAIM_WITHDRAW: ret = set_claim_ui(msg, context); break; case KELP_ETH_DEPOSIT: case POLYGON_CHILDPOOL_SWAP_MATIC_FOR_MATICX_VIA_INSTANT_POOL: - // case FTM_DEPOSIT: // the selector matches with `BSC_STAKEMANAGER_DEPOSIT` case BSC_STAKEMANAGER_DEPOSIT: ret = set_native_token_stake_ui(msg); break; case ETHX_DEPOSIT: - case ETHX_DEPOSIT_LEGACY: ret = handle_ethx_deposit(msg, context); break; case ETHX_REQUEST_WITHDRAW: - case ETHX_REQUEST_WITHDRAW_LEGACY: ret = handle_ethx_request_withdraw(msg, context); break; + case KELP_INITIATE_WITHDRAW: + ret = handle_kelp_initiate_withdraw(msg, context); + break; + default: PRINTF("Selector index: %d not supported\n", context->selectorIndex); } diff --git a/src/staderlabs_plugin.h b/src/staderlabs_plugin.h index eb6db57..adb2f0d 100644 --- a/src/staderlabs_plugin.h +++ b/src/staderlabs_plugin.h @@ -35,16 +35,13 @@ X(BSC_STAKEMANAGER_DEPOSIT, 0xd0e30db0) \ X(BSC_STAKEMANAGER_REQUEST_WITHDRAW, 0x745400c9) \ X(BSC_STAKEMANAGER_CLAIM_WITHDRAW, 0xb13acedd) \ - X(FTM_DEPOSIT, 0xd0e30db0) \ - X(FTM_UNDELEGATE, 0x4f864df4) \ - X(FTM_WITHDRAW, 0x441a3e70) \ X(ETHX_DEPOSIT, 0xb7482509) \ X(ETHX_REQUEST_WITHDRAW, 0x1f7ec122) \ X(ETHX_CLAIM, 0x379607f5) \ - X(ETHX_DEPOSIT_LEGACY, 0xf340fa01) \ - X(ETHX_REQUEST_WITHDRAW_LEGACY, 0xccc143b8) \ X(KELP_LST_DEPOSIT, 0xc3ae1766) \ - X(KELP_ETH_DEPOSIT, 0x72c51c0b) + X(KELP_ETH_DEPOSIT, 0x72c51c0b) \ + X(KELP_INITIATE_WITHDRAW, 0xc8393ba9) \ + X(KELP_CLAIM_WITHDRAW, 0x6dbaf9ee) // Xmacro helpers to define the enum and map // Do not modify ! diff --git a/tests/networks/ethereum/staderlabs/abis/0x62de59c08eb5dae4b7e6f7a8cad3006d6965ec16.json b/tests/networks/ethereum/staderlabs/abis/0x62de59c08eb5dae4b7e6f7a8cad3006d6965ec16.json new file mode 100644 index 0000000..116b4f0 --- /dev/null +++ b/tests/networks/ethereum/staderlabs/abis/0x62de59c08eb5dae4b7e6f7a8cad3006d6965ec16.json @@ -0,0 +1,774 @@ +[ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AmountMustBeGreaterThanZero", + "type": "error" + }, + { + "inputs": [], + "name": "AssetNotSupported", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assetPrice", + "type": "uint256" + } + ], + "name": "AssetPriceMustBeGreaterMinimum", + "type": "error" + }, + { + "inputs": [], + "name": "CallerNotLRTConfigAdmin", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "role", + "type": "string" + } + ], + "name": "CallerNotLRTConfigAllowedRole", + "type": "error" + }, + { + "inputs": [], + "name": "CallerNotLRTConfigOperator", + "type": "error" + }, + { + "inputs": [], + "name": "EthTransferFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ExceedAmountToWithdraw", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAmountToWithdraw", + "type": "error" + }, + { + "inputs": [], + "name": "NoPendingWithdrawals", + "type": "error" + }, + { + "inputs": [], + "name": "QueueEmpty", + "type": "error" + }, + { + "inputs": [], + "name": "QueueFull", + "type": "error" + }, + { + "inputs": [], + "name": "QueueOutOfBounds", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "rsEthPrice", + "type": "uint256" + } + ], + "name": "RsETHPriceMustBeGreaterMinimum", + "type": "error" + }, + { + "inputs": [], + "name": "StrategyNotSupported", + "type": "error" + }, + { + "inputs": [], + "name": "TokenTransferFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ValueAlreadyInUse", + "type": "error" + }, + { + "inputs": [], + "name": "WithdrawalDelayNotPassed", + "type": "error" + }, + { + "inputs": [], + "name": "WithdrawalDelayTooSmall", + "type": "error" + }, + { + "inputs": [], + "name": "WithdrawalLocked", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddressNotAllowed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rsEthAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assetAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rsEThPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assetPrice", + "type": "uint256" + } + ], + "name": "AssetUnlocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "withdrawer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountBurned", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "name": "AssetWithdrawalFinalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "withdrawer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rsETHUnstaked", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "userNonce", + "type": "uint256" + } + ], + "name": "AssetWithdrawalQueued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "depositor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ethAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "sharesAmount", + "type": "uint256" + } + ], + "name": "EtherReceived", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minRsEthAmountToWithdraw", + "type": "uint256" + } + ], + "name": "MinAmountToWithdrawUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "lrtConfig", + "type": "address" + } + ], + "name": "UpdatedLRTConfig", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawalDelayBlocks", + "type": "uint256" + } + ], + "name": "WithdrawalDelayBlocksUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "assetsCommitted", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "completeWithdrawal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "getAvailableAssetAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "availableAssetAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "getExpectedAssetAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "underlyingToReceive", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "requestIndex", + "type": "uint256" + } + ], + "name": "getRequestId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "userIndex", + "type": "uint256" + } + ], + "name": "getUserWithdrawalRequest", + "outputs": [ + { + "internalType": "uint256", + "name": "rsETHAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expectedAssetAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawalStartBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "userNonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "lrtConfigAddr", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "rsETHUnstaked", + "type": "uint256" + } + ], + "name": "initiateWithdrawal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lrtConfig", + "outputs": [ + { + "internalType": "contract ILRTConfig", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "minRsEthAmountToWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "nextLockedNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "requestNonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "nextUnusedNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "receiveFromLRTUnstakingVault", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minRsEthAmountToWithdraw_", + "type": "uint256" + } + ], + "name": "setMinRsEthAmountToWithdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "withdrawalDelayBlocks_", + "type": "uint256" + } + ], + "name": "setWithdrawalDelayBlocks", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "firstExcludedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumAssetPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumRsEthPrice", + "type": "uint256" + } + ], + "name": "unlockQueue", + "outputs": [ + { + "internalType": "uint256", + "name": "rsETHBurned", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assetAmountUnlocked", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "lrtConfigAddr", + "type": "address" + } + ], + "name": "updateLRTConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "userAssociatedNonces", + "outputs": [ + { + "internalType": "uint128", + "name": "_begin", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "_end", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalDelayBlocks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "requestId", + "type": "bytes32" + } + ], + "name": "withdrawalRequests", + "outputs": [ + { + "internalType": "uint256", + "name": "rsETHUnstaked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expectedAssetAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawalStartBlock", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } +] \ No newline at end of file diff --git a/tests/networks/ethereum/staderlabs/b2c.json b/tests/networks/ethereum/staderlabs/b2c.json index ae25261..54c134a 100644 --- a/tests/networks/ethereum/staderlabs/b2c.json +++ b/tests/networks/ethereum/staderlabs/b2c.json @@ -26,11 +26,6 @@ "address": "0xcf5ea1b38380f6af39068375516daf40ed70d299", "contractName": "StaderStakePoolsManager", "selectors": { - "0xf340fa01": { - "erc20OfInterest": [], - "method": "deposit", - "plugin": "Staderlabs" - }, "0xb7482509": { "erc20OfInterest": [], "method": "deposit", @@ -42,11 +37,6 @@ "address": "0x9f0491b32dbce587c50c4c43ab303b06478193a7", "contractName": "UserWithdrawalManager", "selectors": { - "0xccc143b8": { - "erc20OfInterest": [], - "method": "requestWithdraw", - "plugin": "Staderlabs" - }, "0x1f7ec122": { "erc20OfInterest": [], "method": "requestWithdraw", @@ -76,6 +66,26 @@ "plugin": "Staderlabs" } } + }, + { + "address": "0x62de59c08eb5dae4b7e6f7a8cad3006d6965ec16", + "contractName": "LRTWithdrawalManager", + "selectors": { + "0xc8393ba9": { + "erc20OfInterest": [ + "asset" + ], + "method": "initiateWithdrawal", + "plugin": "Staderlabs" + }, + "0x6dbaf9ee": { + "erc20OfInterest": [ + "asset" + ], + "method": "completeWithdrawal", + "plugin": "Staderlabs" + } + } } ], "name": "Staderlabs" diff --git a/tests/networks/fantom/staderlabs/abis/0xb458bfc855ab504a8a327720fcef98886065529b.json b/tests/networks/fantom/staderlabs/abis/0xb458bfc855ab504a8a327720fcef98886065529b.json deleted file mode 100644 index d048cb5..0000000 --- a/tests/networks/fantom/staderlabs/abis/0xb458bfc855ab504a8a327720fcef98886065529b.json +++ /dev/null @@ -1,929 +0,0 @@ -[ - { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "low", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "high", - "type": "uint256" - } - ], - "name": "LogDepositLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ftmxAmount", - "type": "uint256" - } - ], - "name": "LogDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "LogEpochDurationSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vault", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lockupDuration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "LogLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "newValue", - "type": "bool" - } - ], - "name": "LogMaintenancePausedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "newValue", - "type": "bool" - } - ], - "name": "LogUndelegatePausedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wrID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountFTMx", - "type": "uint256" - } - ], - "name": "LogUndelegated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "validatorPicker", - "type": "address" - } - ], - "name": "LogValidatorPickerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vault", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "maturedIndex", - "type": "uint256" - } - ], - "name": "LogVaultHarvested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vault", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "LogVaultOwnerUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vault", - "type": "address" - } - ], - "name": "LogVaultWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "newValue", - "type": "bool" - } - ], - "name": "LogWithdrawPausedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "LogWithdrawalDelaySet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wrID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bitmaskToSkip", - "type": "uint256" - } - ], - "name": "LogWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMAL_UNIT", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FTMX", - "outputs": [ - { - "internalType": "contract IERC20Burnable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_LOCKUP_DURATION", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SFC", - "outputs": [ - { "internalType": "contract ISFC", "name": "", "type": "address" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNLOCKED_REWARD_RATIO", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "allWithdrawalRequests", - "outputs": [ - { "internalType": "uint256", "name": "requestTime", "type": "uint256" }, - { "internalType": "uint256", "name": "poolAmount", "type": "uint256" }, - { - "internalType": "uint256", - "name": "undelegateAmount", - "type": "uint256" - }, - { "internalType": "uint256", "name": "penalty", "type": "uint256" }, - { "internalType": "address", "name": "user", "type": "address" }, - { "internalType": "bool", "name": "isWithdrawn", "type": "bool" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amountFTMx", "type": "uint256" } - ], - "name": "calculatePenalty", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimRewardsAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "currentVaultCount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentVaultPtr", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "epochDuration", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ftmPendingWithdrawal", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExchangeRate", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "ftmAmount", "type": "uint256" }, - { "internalType": "bool", "name": "toIgnore", "type": "bool" } - ], - "name": "getFTMxAmountForFTM", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "vaultIndex", "type": "uint256" } - ], - "name": "getMaturedVault", - "outputs": [ - { "internalType": "address payable", "name": "", "type": "address" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaturedVaultLength", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolBalance", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "vaultIndex", "type": "uint256" } - ], - "name": "getVault", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "wrID", "type": "uint256" } - ], - "name": "getWithdrawalInfo", - "outputs": [ - { - "components": [ - { - "internalType": "address payable", - "name": "vault", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountToUnlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToUndelegate", - "type": "uint256" - } - ], - "internalType": "struct FTMStaking.UndelegateInfo[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "vaultIndex", "type": "uint256" } - ], - "name": "harvestVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC20Burnable", - "name": "_ftmx_", - "type": "address" - }, - { "internalType": "contract ISFC", "name": "_sfc_", "type": "address" }, - { - "internalType": "uint256", - "name": "maxVaultCount_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochDuration_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawalDelay_", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lastKnownEpoch", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "maintenancePaused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxDeposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxVaultCount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minDeposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "nextEligibleTimestamp", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "pickVaultsToUndelegate", - "outputs": [ - { - "components": [ - { - "internalType": "address payable", - "name": "vault", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountToUnlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToUndelegate", - "type": "uint256" - } - ], - "internalType": "struct FTMStaking.UndelegateInfo[]", - "name": "", - "type": "tuple[]" - }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "protocolFeeBIPS", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "low", "type": "uint256" }, - { "internalType": "uint256", "name": "high", "type": "uint256" } - ], - "name": "setDepositLimits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "duration", "type": "uint256" } - ], - "name": "setEpochDuration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bool", "name": "desiredValue", "type": "bool" } - ], - "name": "setMaintenancePaused", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "newFeeBIPS", "type": "uint256" } - ], - "name": "setProtocolFeeBIPS", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newTreasury", "type": "address" } - ], - "name": "setTreasury", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bool", "name": "desiredValue", "type": "bool" } - ], - "name": "setUndelegatePaused", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IValidatorPicker", - "name": "picker", - "type": "address" - } - ], - "name": "setValidatorPicker", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bool", "name": "desiredValue", "type": "bool" } - ], - "name": "setWithdrawPaused", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "delay", "type": "uint256" } - ], - "name": "setWithdrawalDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalFTMWorth", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "treasury", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "wrID", "type": "uint256" }, - { "internalType": "uint256", "name": "amountFTMx", "type": "uint256" }, - { "internalType": "uint256", "name": "minAmountFTM", "type": "uint256" } - ], - "name": "undelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "undelegatePaused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address payable", "name": "vault", "type": "address" }, - { "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "updateVaultOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "validatorPicker", - "outputs": [ - { - "internalType": "contract IValidatorPicker", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "wrID", "type": "uint256" }, - { "internalType": "uint256", "name": "bitmaskToSkip", "type": "uint256" } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "maturedIndex", "type": "uint256" } - ], - "name": "withdrawMatured", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawPaused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawalDelay", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { "stateMutability": "payable", "type": "receive" } -] diff --git a/tests/networks/fantom/staderlabs/b2c.json b/tests/networks/fantom/staderlabs/b2c.json deleted file mode 100644 index 02451fb..0000000 --- a/tests/networks/fantom/staderlabs/b2c.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "chainId": 250, - "contracts": [ - { - "address": "0xb458bfc855ab504a8a327720fcef98886065529b", - "contractName": "FTMStaking", - "selectors": { - "0xd0e30db0": { - "erc20OfInterest": [], - "method": "deposit", - "plugin": "Staderlabs" - }, - "0x4f864df4": { - "erc20OfInterest": [], - "method": "undelegate", - "plugin": "Staderlabs" - }, - "0x441a3e70": { - "erc20OfInterest": [], - "method": "withdraw", - "plugin": "Staderlabs" - } - } - } - ], - "name": "Staderlabs" -} diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00001.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00001.png deleted file mode 100644 index 1d263aa..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00001.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00002.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00002.png deleted file mode 100644 index 4c24343..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00002.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00003.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00003.png deleted file mode 100644 index b9738b4..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00003.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00004.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00004.png deleted file mode 100644 index 62517e8..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00004.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00005.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00005.png deleted file mode 100644 index d00ffb9..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00005.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00007.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00007.png deleted file mode 100644 index 07b4b29..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00007.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00008.png b/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00008.png deleted file mode 100644 index 095bef4..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00008.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00001.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00001.png deleted file mode 100644 index f8d7ed1..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00001.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00002.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00002.png deleted file mode 100644 index 2322ff5..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00002.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00003.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00003.png deleted file mode 100644 index 3d2dc64..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00003.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00004.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00004.png deleted file mode 100644 index b7e3cac..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00004.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00005.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00005.png deleted file mode 100644 index e2cb9fa..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00005.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00007.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00007.png deleted file mode 100644 index c135a4b..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00007.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00008.png b/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00008.png deleted file mode 100644 index 7b71a4d..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00008.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00001.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00001.png deleted file mode 100644 index 911e699..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00001.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00002.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00002.png deleted file mode 100644 index 30f0cec..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00002.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00003.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00003.png deleted file mode 100644 index 79dcca1..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00003.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00004.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00004.png deleted file mode 100644 index f30afe2..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00004.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00001.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00001.png deleted file mode 100644 index fff06c7..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00001.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00002.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00002.png deleted file mode 100644 index 41f278c..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00002.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00003.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00003.png deleted file mode 100644 index 1d2f308..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00003.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00004.png b/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00004.png deleted file mode 100644 index e4e5c5d..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00004.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00001.png b/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00001.png deleted file mode 100644 index 911e699..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00001.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00002.png b/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00002.png deleted file mode 100644 index 30f0cec..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00002.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00003.png b/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00003.png deleted file mode 100644 index 79dcca1..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00003.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00004.png b/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00004.png deleted file mode 100644 index f30afe2..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00004.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00001.png b/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00001.png deleted file mode 100644 index fff06c7..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00001.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00002.png b/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00002.png deleted file mode 100644 index 41f278c..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00002.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00003.png b/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00003.png deleted file mode 100644 index 1d2f308..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00003.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00004.png b/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00004.png deleted file mode 100644 index e4e5c5d..0000000 Binary files a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00004.png and /dev/null differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00000.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00000.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00000.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanos/00000.png diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanos/00001.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00001.png new file mode 100644 index 0000000..a8889a8 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanos/00002.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00002.png new file mode 100644 index 0000000..48d0f86 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00002.png differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00006.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00003.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00006.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanos/00003.png diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanos/00004.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00004.png new file mode 100644 index 0000000..b66bc3c Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00004.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanos/00005.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00005.png new file mode 100644 index 0000000..0e8ca1b Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00005.png differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00009.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00006.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00009.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanos/00006.png diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00010.png b/tests/snapshots/ethereum_kelp_claim_eth_nanos/00007.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_request_withdraw_eth/00010.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanos/00007.png diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00000.png b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00000.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00000.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanosp/00000.png diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00001.png b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00001.png new file mode 100644 index 0000000..460363c Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00002.png b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00002.png new file mode 100644 index 0000000..62fd4e7 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00003.png b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00003.png new file mode 100644 index 0000000..e1452e9 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00003.png differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00005.png b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00004.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00005.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanosp/00004.png diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00006.png b/tests/snapshots/ethereum_kelp_claim_eth_nanosp/00005.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanosp_legacy_request_withdraw_eth/00006.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanosp/00005.png diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00000.png b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00000.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00000.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanox/00000.png diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanox/00001.png b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00001.png new file mode 100644 index 0000000..460363c Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanox/00002.png b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00002.png new file mode 100644 index 0000000..62fd4e7 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_eth_nanox/00003.png b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00003.png new file mode 100644 index 0000000..e1452e9 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00003.png differ diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00005.png b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00004.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00005.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanox/00004.png diff --git a/tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00006.png b/tests/snapshots/ethereum_kelp_claim_eth_nanox/00005.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanosp_legacy_stake_eth/00006.png rename to tests/snapshots/ethereum_kelp_claim_eth_nanox/00005.png diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00000.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00000.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00000.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanos/00000.png diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanos/00001.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00001.png new file mode 100644 index 0000000..a8889a8 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanos/00002.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00002.png new file mode 100644 index 0000000..c410454 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00002.png differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00006.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00003.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00006.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanos/00003.png diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanos/00004.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00004.png new file mode 100644 index 0000000..2129c85 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00004.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanos/00005.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00005.png new file mode 100644 index 0000000..a402456 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00005.png differ diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00009.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00006.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00009.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanos/00006.png diff --git a/tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00010.png b/tests/snapshots/ethereum_kelp_claim_lst_nanos/00007.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanos_legacy_stake_eth/00010.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanos/00007.png diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00000.png b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00000.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00000.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanosp/00000.png diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00001.png b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00001.png new file mode 100644 index 0000000..460363c Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00002.png b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00002.png new file mode 100644 index 0000000..47010a7 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00003.png b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00003.png new file mode 100644 index 0000000..6b87502 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00003.png differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00005.png b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00004.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00005.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanosp/00004.png diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00006.png b/tests/snapshots/ethereum_kelp_claim_lst_nanosp/00005.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanox_legacy_request_withdraw_eth/00006.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanosp/00005.png diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00000.png b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00000.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00000.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanox/00000.png diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanox/00001.png b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00001.png new file mode 100644 index 0000000..460363c Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanox/00002.png b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00002.png new file mode 100644 index 0000000..47010a7 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_claim_lst_nanox/00003.png b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00003.png new file mode 100644 index 0000000..6b87502 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00003.png differ diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00005.png b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00004.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00005.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanox/00004.png diff --git a/tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00006.png b/tests/snapshots/ethereum_kelp_claim_lst_nanox/00005.png similarity index 100% rename from tests/snapshots/ethereum_ethx_nanox_legacy_stake_eth/00006.png rename to tests/snapshots/ethereum_kelp_claim_lst_nanox/00005.png diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00000.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00000.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanos_deposit/00000.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanos/00000.png diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00001.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00001.png new file mode 100644 index 0000000..3ac7050 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00002.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00002.png new file mode 100644 index 0000000..748a5ef Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00003.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00003.png new file mode 100644 index 0000000..3fb2cea Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00003.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00004.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00004.png new file mode 100644 index 0000000..1595331 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00004.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00005.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00005.png new file mode 100644 index 0000000..734e7b2 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00005.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00006.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00006.png new file mode 100644 index 0000000..7307247 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00006.png differ diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00005.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00007.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanos_deposit/00005.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanos/00007.png diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00006.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanos/00008.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanos_deposit/00006.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanos/00008.png diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00000.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00000.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_deposit/00000.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00000.png diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00001.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00001.png new file mode 100644 index 0000000..6c7d10e Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00002.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00002.png new file mode 100644 index 0000000..83a4a4e Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00003.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00003.png new file mode 100644 index 0000000..c94a771 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00003.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00004.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00004.png new file mode 100644 index 0000000..632c2fa Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00004.png differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00005.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00005.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_deposit/00005.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00005.png diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00006.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00006.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_deposit/00006.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanosp/00006.png diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00000.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00000.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_undelegate/00000.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanox/00000.png diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00001.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00001.png new file mode 100644 index 0000000..6c7d10e Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00002.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00002.png new file mode 100644 index 0000000..83a4a4e Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00003.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00003.png new file mode 100644 index 0000000..c94a771 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00003.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00004.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00004.png new file mode 100644 index 0000000..632c2fa Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00004.png differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00005.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00005.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_undelegate/00005.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanox/00005.png diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00006.png b/tests/snapshots/ethereum_kelp_unstake_eth_nanox/00006.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_undelegate/00006.png rename to tests/snapshots/ethereum_kelp_unstake_eth_nanox/00006.png diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00000.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00000.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanos_undelegate/00000.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanos/00000.png diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00001.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00001.png new file mode 100644 index 0000000..3ac7050 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00002.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00002.png new file mode 100644 index 0000000..adc6579 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00003.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00003.png new file mode 100644 index 0000000..49bbb9f Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00003.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00004.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00004.png new file mode 100644 index 0000000..1595331 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00004.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00005.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00005.png new file mode 100644 index 0000000..93dcb75 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00005.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00006.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00006.png new file mode 100644 index 0000000..2f38728 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00006.png differ diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00005.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00007.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanos_undelegate/00005.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanos/00007.png diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00006.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanos/00008.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanos_undelegate/00006.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanos/00008.png diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00000.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00000.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_withdraw/00000.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00000.png diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00001.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00001.png new file mode 100644 index 0000000..6c7d10e Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00002.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00002.png new file mode 100644 index 0000000..f16a51d Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00003.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00003.png new file mode 100644 index 0000000..93fcf44 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00003.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00004.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00004.png new file mode 100644 index 0000000..c206d4f Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00004.png differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00005.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00005.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_withdraw/00005.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00005.png diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00006.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00006.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanosp_withdraw/00006.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanosp/00006.png diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00000.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00000.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanox_deposit/00000.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanox/00000.png diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00001.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00001.png new file mode 100644 index 0000000..6c7d10e Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00001.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00002.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00002.png new file mode 100644 index 0000000..f16a51d Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00002.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00003.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00003.png new file mode 100644 index 0000000..93fcf44 Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00003.png differ diff --git a/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00004.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00004.png new file mode 100644 index 0000000..c206d4f Binary files /dev/null and b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00004.png differ diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00005.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00005.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanox_deposit/00005.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanox/00005.png diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00006.png b/tests/snapshots/ethereum_kelp_unstake_lst_nanox/00006.png similarity index 100% rename from tests/snapshots/fantom_ftmx_nanox_deposit/00006.png rename to tests/snapshots/ethereum_kelp_unstake_lst_nanox/00006.png diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00001.png b/tests/snapshots/fantom_ftmx_nanos_deposit/00001.png deleted file mode 100644 index f8d7ed1..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_deposit/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00002.png b/tests/snapshots/fantom_ftmx_nanos_deposit/00002.png deleted file mode 100644 index 2afc12b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_deposit/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00003.png b/tests/snapshots/fantom_ftmx_nanos_deposit/00003.png deleted file mode 100644 index 6ac0cce..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_deposit/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_deposit/00004.png b/tests/snapshots/fantom_ftmx_nanos_deposit/00004.png deleted file mode 100644 index 8ef155a..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_deposit/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00001.png b/tests/snapshots/fantom_ftmx_nanos_undelegate/00001.png deleted file mode 100644 index 1d263aa..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_undelegate/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00002.png b/tests/snapshots/fantom_ftmx_nanos_undelegate/00002.png deleted file mode 100644 index f6ce4ea..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_undelegate/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00003.png b/tests/snapshots/fantom_ftmx_nanos_undelegate/00003.png deleted file mode 100644 index 6ac0cce..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_undelegate/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_undelegate/00004.png b/tests/snapshots/fantom_ftmx_nanos_undelegate/00004.png deleted file mode 100644 index 8ef155a..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_undelegate/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00000.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00000.png deleted file mode 100644 index 8d84cc7..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00000.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00001.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00001.png deleted file mode 100644 index 9a2b3d0..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00002.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00002.png deleted file mode 100644 index dbfd11e..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00003.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00003.png deleted file mode 100644 index 6ac0cce..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00004.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00004.png deleted file mode 100644 index 8ef155a..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00005.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00005.png deleted file mode 100644 index 1c9156c..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00005.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanos_withdraw/00006.png b/tests/snapshots/fantom_ftmx_nanos_withdraw/00006.png deleted file mode 100644 index ce795f3..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanos_withdraw/00006.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00001.png b/tests/snapshots/fantom_ftmx_nanosp_deposit/00001.png deleted file mode 100644 index fff06c7..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_deposit/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00002.png b/tests/snapshots/fantom_ftmx_nanosp_deposit/00002.png deleted file mode 100644 index c9c70b1..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_deposit/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00003.png b/tests/snapshots/fantom_ftmx_nanosp_deposit/00003.png deleted file mode 100644 index f248f9b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_deposit/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_deposit/00004.png b/tests/snapshots/fantom_ftmx_nanosp_deposit/00004.png deleted file mode 100644 index 7c6b3b5..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_deposit/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00001.png b/tests/snapshots/fantom_ftmx_nanosp_undelegate/00001.png deleted file mode 100644 index 911e699..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00002.png b/tests/snapshots/fantom_ftmx_nanosp_undelegate/00002.png deleted file mode 100644 index ed970e3..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00003.png b/tests/snapshots/fantom_ftmx_nanosp_undelegate/00003.png deleted file mode 100644 index f248f9b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00004.png b/tests/snapshots/fantom_ftmx_nanosp_undelegate/00004.png deleted file mode 100644 index 7c6b3b5..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_undelegate/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00001.png b/tests/snapshots/fantom_ftmx_nanosp_withdraw/00001.png deleted file mode 100644 index b9c5003..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00002.png b/tests/snapshots/fantom_ftmx_nanosp_withdraw/00002.png deleted file mode 100644 index ddc7638..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00003.png b/tests/snapshots/fantom_ftmx_nanosp_withdraw/00003.png deleted file mode 100644 index f248f9b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00004.png b/tests/snapshots/fantom_ftmx_nanosp_withdraw/00004.png deleted file mode 100644 index 7c6b3b5..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanosp_withdraw/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00001.png b/tests/snapshots/fantom_ftmx_nanox_deposit/00001.png deleted file mode 100644 index fff06c7..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_deposit/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00002.png b/tests/snapshots/fantom_ftmx_nanox_deposit/00002.png deleted file mode 100644 index c9c70b1..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_deposit/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00003.png b/tests/snapshots/fantom_ftmx_nanox_deposit/00003.png deleted file mode 100644 index f248f9b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_deposit/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_deposit/00004.png b/tests/snapshots/fantom_ftmx_nanox_deposit/00004.png deleted file mode 100644 index 7c6b3b5..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_deposit/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00000.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00000.png deleted file mode 100644 index 487ea10..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00000.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00001.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00001.png deleted file mode 100644 index 911e699..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00002.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00002.png deleted file mode 100644 index ed970e3..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00003.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00003.png deleted file mode 100644 index f248f9b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00004.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00004.png deleted file mode 100644 index 7c6b3b5..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00005.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00005.png deleted file mode 100644 index 570ce28..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00005.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_undelegate/00006.png b/tests/snapshots/fantom_ftmx_nanox_undelegate/00006.png deleted file mode 100644 index 6578872..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_undelegate/00006.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00000.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00000.png deleted file mode 100644 index 487ea10..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00000.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00001.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00001.png deleted file mode 100644 index b9c5003..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00001.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00002.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00002.png deleted file mode 100644 index ddc7638..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00002.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00003.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00003.png deleted file mode 100644 index f248f9b..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00003.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00004.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00004.png deleted file mode 100644 index 7c6b3b5..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00004.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00005.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00005.png deleted file mode 100644 index 570ce28..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00005.png and /dev/null differ diff --git a/tests/snapshots/fantom_ftmx_nanox_withdraw/00006.png b/tests/snapshots/fantom_ftmx_nanox_withdraw/00006.png deleted file mode 100644 index 6578872..0000000 Binary files a/tests/snapshots/fantom_ftmx_nanox_withdraw/00006.png and /dev/null differ diff --git a/tests/src/eth/ethx/deposit_legacy.test.js b/tests/src/eth/kelp/claimETH.test.js similarity index 52% rename from tests/src/eth/ethx/deposit_legacy.test.js rename to tests/src/eth/kelp/claimETH.test.js index e00487d..5f0e6ff 100644 --- a/tests/src/eth/ethx/deposit_legacy.test.js +++ b/tests/src/eth/kelp/claimETH.test.js @@ -8,30 +8,27 @@ import { txFromEtherscan, } from "../../test.fixture"; -const contractAddr = "0xcf5ea1b38380f6af39068375516daf40ed70d299"; -const pluginName = "staderlabs"; const testNetwork = "ethereum"; -const chainID = 1; -// Test from replayed transaction: https://etherscan.io/tx/0x4e771017864ff34176c8c9fa62fe1950852933345f921dc5316c63554c9bc453 +// Test from replayed transaction: https://etherscan.io/tx/0xa5458f18af5bd00d7bda4332f33af93e0f7cd7294c6715dbf5a4c143f0a1d6e3 const inputData = - "0x02f8980113850550de54dd850550de54dd8301c88a94cf5ea1b38380f6af39068375516daf40ed70d29987038d7ea4c68000a4f340fa01000000000000000000000000ad345b348bd84a4b42a5fde63feb7a29ef2af4e9c080a0a3adf22f4ce9fead664befb0ca33730f3bb8edb1a1d65a7f5275ac9a8622d29ea01a99e171740d723ee61049d7f0465f4e219fca86aaddf06bab02d3400f554242"; + "0x02f89001078439d106808502f335de57830227ce9462de59c08eb5dae4b7e6f7a8cad3006d6965ec1680a46dbaf9ee000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeec080a0e5b528d407765077dc056f703a6b616bff83ed970eb2250615e94347846ad133a040c023c952756e5aa6d25dec78cb7f67f9ebb5f42de588d6e46c34e2976f6308"; nano_models.forEach(function (model) { test( - "[Nano " + model.letter + "] Legacy Deposit ETH", + "[Nano " + model.letter + "] Kelp Claim ETH", zemu(model, async (sim, eth) => { const serializedTx = txFromEtherscan(inputData); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx); - const right_clicks = model.letter === "S" ? 9 : 5; + const right_clicks = model.letter === "S" ? 6 : 4; // Wait for the application to actually load and parse the transaction await waitForAppScreen(sim); // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. await sim.navigateAndCompareSnapshots( ".", - testNetwork + "_ethx_" + model.name + "_legacy_stake_eth", + testNetwork + "_kelp_claim_eth_" + model.name, [right_clicks, 0] ); diff --git a/tests/src/eth/ethx/withdraw_legacy.test.js b/tests/src/eth/kelp/claimLST.test.js similarity index 50% rename from tests/src/eth/ethx/withdraw_legacy.test.js rename to tests/src/eth/kelp/claimLST.test.js index 48ded2f..2e7bcf1 100644 --- a/tests/src/eth/ethx/withdraw_legacy.test.js +++ b/tests/src/eth/kelp/claimLST.test.js @@ -8,30 +8,27 @@ import { txFromEtherscan, } from "../../test.fixture"; -const contractAddr = "0xcf5ea1b38380f6af39068375516daf40ed70d299"; -const pluginName = "staderlabs"; const testNetwork = "ethereum"; -const chainID = 1; -// Test from replayed transaction: https://etherscan.io/tx/0xa7b2f78c84bc5528629d37b56856d47601c42f4d7f1505fa6767bcd090fb5044 +// Test from replayed transaction: https://etherscan.io/tx/0x31a88ec3977a4cd4ab0a105607a9ac1d350e1f2a2148345f6bdf9b583a74518b const inputData = - "0x02f8b30182059585053f837bd185053f837bd18304d7be949f0491b32dbce587c50c4c43ab303b06478193a780b844ccc143b80000000000000000000000000000000000000000000000056a30e2758fb0a40000000000000000000000000087bc2f2ba8c83f412fed5c3151de0ffbdc959984c080a01bf62d962c7e2d888df40f0a61dd9eb6c60ed01e1291ce15b9acbad154e0cf619fc470d4477df1e52cb4030e2f976dc13856d09010d164dd97a5532d59b9d413"; + "0x02f8910181e48439d106808502c0b7a94e8302c6ad9462de59c08eb5dae4b7e6f7a8cad3006d6965ec1680a46dbaf9ee000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38fc001a015b3a4d1d38f492c00322e7a1eef1f044ddfbe0f145031d80470e22ffa63dc24a07605ee5c0b3b1b0d216e10ee28a1db78cd723df9812d3ec2585beaaa9f0844e1"; nano_models.forEach(function (model) { test( - "[Nano " + model.letter + "] Legacy Request Withdraw ETH", + "[Nano " + model.letter + "] Kelp Claim LST", zemu(model, async (sim, eth) => { const serializedTx = txFromEtherscan(inputData); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx); - const right_clicks = model.letter === "S" ? 9 : 5; + const right_clicks = model.letter === "S" ? 6 : 4; // Wait for the application to actually load and parse the transaction await waitForAppScreen(sim); // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. await sim.navigateAndCompareSnapshots( ".", - testNetwork + "_ethx_" + model.name + "_legacy_request_withdraw_eth", + testNetwork + "_kelp_claim_lst_" + model.name, [right_clicks, 0] ); diff --git a/tests/src/eth/kelp/initiateWithdrawalETH.test.js b/tests/src/eth/kelp/initiateWithdrawalETH.test.js new file mode 100644 index 0000000..96a6696 --- /dev/null +++ b/tests/src/eth/kelp/initiateWithdrawalETH.test.js @@ -0,0 +1,39 @@ +import "core-js/stable"; +import "regenerator-runtime"; +import { + waitForAppScreen, + zemu, + nano_models, + serializeTx, + txFromEtherscan, +} from "../../test.fixture"; + +const testNetwork = "ethereum"; +// Test from replayed transaction: https://etherscan.io/tx/0x5a6a235be8865c5989bd5f604e9f4c14c442e5db0ee06b64e93a74ead5b5b14c +const inputData = + "0x02f8b00150839402a08501ccf6aae1830a78d19462de59c08eb5dae4b7e6f7a8cad3006d6965ec1680b844c8393ba9000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000015f021397cf0000c001a0b812d5b2183bd21ccde3765da1ad02a7233f835b01bc3519db9a123f84acbf38a0761578a1e66af567e40dcf4597af674956381fc85db0f2c9881f3f95eb863726"; + +nano_models.forEach(function (model) { + test( + "[Nano " + model.letter + "] Kelp Unstake ETH", + zemu(model, async (sim, eth) => { + const serializedTx = txFromEtherscan(inputData); + + const tx = eth.signTransaction("44'/60'/0'/0", serializedTx); + + const right_clicks = model.letter === "S" ? 7 : 5; + + // Wait for the application to actually load and parse the transaction + await waitForAppScreen(sim); + // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. + await sim.navigateAndCompareSnapshots( + ".", + testNetwork + "_kelp_unstake_eth_" + model.name, + [right_clicks, 0] + ); + + await tx; + }), + 50000 + ); +}); diff --git a/tests/src/eth/kelp/initiateWithdrawalLST.test.js b/tests/src/eth/kelp/initiateWithdrawalLST.test.js new file mode 100644 index 0000000..b2000a3 --- /dev/null +++ b/tests/src/eth/kelp/initiateWithdrawalLST.test.js @@ -0,0 +1,39 @@ +import "core-js/stable"; +import "regenerator-runtime"; +import { + waitForAppScreen, + zemu, + nano_models, + serializeTx, + txFromEtherscan, +} from "../../test.fixture"; + +const testNetwork = "ethereum"; +// Test from replayed transaction: https://etherscan.io/tx/0xa44d01da432225b7ad2cc49b0160d57464439107044af3497a9b71d7677c82c7 +const inputData = + "0x02f8b001318421bef4e984dfce82df83105db09462de59c08eb5dae4b7e6f7a8cad3006d6965ec1680b844c8393ba9000000000000000000000000a35b1b31ce002fbf2058d22f30f95d405200a15b0000000000000000000000000000000000000000000000000f99f5f1987e8000c001a05dd079fce787f4a03da05f8ba68d6a1abe3d094a6985c27dab843e84eff027b9a005fc6255e49140ca4d76477e6a4f3d6ae09d61f83a56655e166e960683d3127e"; + +nano_models.forEach(function (model) { + test( + "[Nano " + model.letter + "] Kelp Unstake LST", + zemu(model, async (sim, eth) => { + const serializedTx = txFromEtherscan(inputData); + + const tx = eth.signTransaction("44'/60'/0'/0", serializedTx); + + const right_clicks = model.letter === "S" ? 7 : 5; + + // Wait for the application to actually load and parse the transaction + await waitForAppScreen(sim); + // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. + await sim.navigateAndCompareSnapshots( + ".", + testNetwork + "_kelp_unstake_lst_" + model.name, + [right_clicks, 0] + ); + + await tx; + }), + 50000 + ); +}); diff --git a/tests/src/fantom/deposit.test.js b/tests/src/fantom/deposit.test.js deleted file mode 100644 index 760ae86..0000000 --- a/tests/src/fantom/deposit.test.js +++ /dev/null @@ -1,47 +0,0 @@ -import "core-js/stable"; -import "regenerator-runtime"; -import { - waitForAppScreen, - zemu, - nano_models, - serializeTx, -} from "../test.fixture"; - -const contractAddr = "0xb458bfc855ab504a8a327720fcef98886065529b"; -const pluginName = "staderlabs"; -const testNetwork = "fantom"; -const chainID = 250; -const signedPlugin = false; -// Test from replayed transaction: https://ftmscan.com/tx/0xe3a07a16873a19be351cacb1c48f7fe23c4b2975ba774e71b26c4992afca1ac0 -// msg.value is hardcoded, hence it will be wrong in test -const inputData = "0xd0e30db0"; - -nano_models.forEach(function (model) { - test( - "[Nano " + model.letter + "] Deposit FTM", - zemu( - model, - async (sim, eth) => { - const serializedTx = serializeTx(contractAddr, inputData, chainID); - - const tx = eth.signTransaction("44'/60'/0'/0/0", serializedTx); - - const right_clicks = model.letter === "S" ? 5 : 5; - - // Wait for the application to actually load and parse the transaction - await waitForAppScreen(sim); - // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. - await sim.navigateAndCompareSnapshots( - ".", - testNetwork + "_ftmx_" + model.name + "_deposit", - [right_clicks, 0] - ); - - await tx; - }, - signedPlugin, - testNetwork - ), - 20000 - ); -}); diff --git a/tests/src/fantom/undelegate.test.js b/tests/src/fantom/undelegate.test.js deleted file mode 100644 index 337e2bb..0000000 --- a/tests/src/fantom/undelegate.test.js +++ /dev/null @@ -1,47 +0,0 @@ -import "core-js/stable"; -import "regenerator-runtime"; -import { - waitForAppScreen, - zemu, - nano_models, - serializeTx, -} from "../test.fixture"; - -const contractAddr = "0xb458bfc855ab504a8a327720fcef98886065529b"; -const pluginName = "staderlabs"; -const testNetwork = "fantom"; -const chainID = 250; -const signedPlugin = false; -// Test from replayed transaction: https://ftmscan.com/tx/0x60130f5baa43bfdad15b79f4ff573b081e9a2f69a64b6db839b7afc71df2903b -const inputData = - "0x4f864df400000000000000000000000000000000000000000000000000011352faaba2bf00000000000000000000000000000000000000000000000ea00bf71b724f800000000000000000000000000000000000000000000000000f6eea29cfd81d7920"; - -nano_models.forEach(function (model) { - test( - "[Nano " + model.letter + "] Unstake FTM", - zemu( - model, - async (sim, eth) => { - const serializedTx = serializeTx(contractAddr, inputData, chainID); - - const tx = eth.signTransaction("44'/60'/0'/0/0", serializedTx); - - const right_clicks = model.letter === "S" ? 5 : 5; - - // Wait for the application to actually load and parse the transaction - await waitForAppScreen(sim); - // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. - await sim.navigateAndCompareSnapshots( - ".", - testNetwork + "_ftmx_" + model.name + "_undelegate", - [right_clicks, 0] - ); - - await tx; - }, - signedPlugin, - testNetwork - ), - 20000 - ); -}); diff --git a/tests/src/fantom/withdraw.test.js b/tests/src/fantom/withdraw.test.js deleted file mode 100644 index 447f6f0..0000000 --- a/tests/src/fantom/withdraw.test.js +++ /dev/null @@ -1,47 +0,0 @@ -import "core-js/stable"; -import "regenerator-runtime"; -import { - waitForAppScreen, - zemu, - nano_models, - serializeTx, -} from "../test.fixture"; - -const contractAddr = "0xb458bfc855ab504a8a327720fcef98886065529b"; -const pluginName = "staderlabs"; -const testNetwork = "fantom"; -const chainID = 250; -const signedPlugin = false; -// Test from replayed transaction: https://ftmscan.com/tx/0x8b5cc5810f4cf8048413ff3f66c32d3c0175e6f159a5c8dce0ce1a2207effc25 -const inputData = - "0x441a3e70000000000000000000000000000000000000000000000000000325c5ddb1a21c0000000000000000000000000000000000000000000000000000000000000000"; - -nano_models.forEach(function (model) { - test( - "[Nano " + model.letter + "] Withdraw FTM", - zemu( - model, - async (sim, eth) => { - const serializedTx = serializeTx(contractAddr, inputData, chainID); - - const tx = eth.signTransaction("44'/60'/0'/0/0", serializedTx); - - const right_clicks = model.letter === "S" ? 5 : 5; - - // Wait for the application to actually load and parse the transaction - await waitForAppScreen(sim); - // Navigate the display by pressing the right button `right_clicks` times, then pressing both buttons to accept the transaction. - await sim.navigateAndCompareSnapshots( - ".", - testNetwork + "_ftmx_" + model.name + "_withdraw", - [right_clicks, 0] - ); - - await tx; - }, - signedPlugin, - testNetwork - ), - 20000 - ); -});