From 9af1ed8987ccfe5eb838b4c76d00bfedfcd4b830 Mon Sep 17 00:00:00 2001 From: Jamie Harding Date: Thu, 30 Jan 2025 12:57:56 +0100 Subject: [PATCH] add vault and tests --- crates/js_api/src/subgraph/vault.rs | 16 +++++++++------- packages/orderbook/test/js_api/vault.test.ts | 19 ++----------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/crates/js_api/src/subgraph/vault.rs b/crates/js_api/src/subgraph/vault.rs index 545a2f47c..ed951c102 100644 --- a/crates/js_api/src/subgraph/vault.rs +++ b/crates/js_api/src/subgraph/vault.rs @@ -55,17 +55,19 @@ pub async fn get_vault_balance_changes( /// Returns a string of the calldata #[wasm_bindgen(js_name = "getVaultDepositCalldata")] pub async fn get_vault_deposit_calldata( - rpc_url: &str, - order_id: &str, - output_index: u8, + token_address: &str, + vault_id: &str, deposit_amount: &str, ) -> Result { let deposit_amount = validate_amount(deposit_amount)?; - let order = get_sg_order(rpc_url, order_id).await?; - let index = validate_io_index(&order, false, output_index)?; + let token = Address::from_str(token_address)?; + let vault_id = U256::from_str(vault_id)?; - let (deposit_args, _) = - get_deposit_and_transaction_args(rpc_url, &order, index, deposit_amount)?; + let deposit_args = DepositArgs { + token, + amount: deposit_amount, + vault_id, + }; Ok(to_value(&Bytes::copy_from_slice( &deposit_args.get_deposit_calldata().await?, diff --git a/packages/orderbook/test/js_api/vault.test.ts b/packages/orderbook/test/js_api/vault.test.ts index d45e448aa..f11169b15 100644 --- a/packages/orderbook/test/js_api/vault.test.ts +++ b/packages/orderbook/test/js_api/vault.test.ts @@ -238,26 +238,11 @@ describe('Rain Orderbook JS API Package Bindgen Vault Tests', async function () await mockServer.forPost('/sg4').thenReply(200, JSON.stringify({ data: { order } })); let calldata: string = await getVaultDepositCalldata( - mockServer.url + '/sg4', - 'order1', - 0, + vault1.token.address, + vault1.vaultId, '500' ); assert.equal(calldata.length, 330); - - try { - await getVaultDepositCalldata(mockServer.url + '/sg4', 'order1', 99, '500'); - assert.fail('expected to reject, but resolved'); - } catch (e) { - assert.equal((e as Error).message, 'Invalid output index'); - } - - try { - await getVaultDepositCalldata(mockServer.url + '/sg4', 'order1', 0, '0'); - assert.fail('expected to reject, but resolved'); - } catch (error) { - assert.equal((error as Error).message, 'Invalid amount'); - } }); it('should get withdraw calldata for a vault', async () => {