# Getting Invalid struct AssetId error in TS sdk

**URL:** <https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812>\
**Category:** TypeScript SDK\
**Created:** [December 3, 2023, 10:40pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812 "2023-12-03T22:40:13Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![sway](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sway/32/103_2.png) [@sway](https://forum.fuel.network/u/sway)\
**Post date:** [December 3, 2023, 10:40pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/1 "2023-12-03T22:40:13Z")

</div>

I have a contract with getter `get_max_abs_position_size` that takes trades address and token assetId, after building abi I got two of those types that are equivalent to AssetId and Address in Rust SDK

```auto
export type AddressInput = { value: string };
export type AssetIdInput = { value: string };

```

So I implemented func simulation this way

```auto
	const result = await clearingHouse.functions
			.get_max_abs_position_size(addressInput, baseAsset)
			.addContracts([
				contracts?.accountBalanceAbi,
				contracts?.proxyAbi,
				contracts?.clearingHouseAbi,
				contracts?.vaultAbi,
				contracts?.insuranceFundAbi,
			])
			.simulate();

```

But it fails with this error

 ![image](https://us1.discourse-cdn.com/flex022/uploads/fuel/original/2X/1/1649ec22f956cfe0e259927e81a812b5d9f3b236.png)

Logs of my arguments

```auto
{value: '0x46553ae0c503dbd4a0a545280a4fe43ca8951a6a364131df8cc7a271c0cf2693'} 
{value: '0x26829bff466f19001665597228458372fd57cbd325864c7118b5eb5441c42157'}

```

---

<div class="post-metadata">

**Author:** ![danielbate](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/danielbate/32/1617_2.png) [@danielbate](https://forum.fuel.network/u/danielbate)\
**Post date:** [December 4, 2023, 3:13pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/2 "2023-12-04T15:13:57Z")

</div>

Good find @sway , we are incorrectly encoding this type. I’ve created an issue for it, you can track the progress [here](https://github.com/FuelLabs/fuels-ts/issues/1475).

---

<div class="post-metadata">

**Author:** ![sway](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sway/32/103_2.png) [@sway](https://forum.fuel.network/u/sway)\
**Post date:** [December 4, 2023, 8:57pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/3 "2023-12-04T20:57:53Z")

</div>

cool, maybe you can provide me fuels version with a fix? It’s really blocking me atm, same way fix for typegen was done in “fuels”: “0.0.0-pr-1468-20231129113808”

---

<div class="post-metadata">

**Author:** ![danielbate](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/danielbate/32/1617_2.png) [@danielbate](https://forum.fuel.network/u/danielbate)\
**Post date:** [December 4, 2023, 9:19pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/4 "2023-12-04T21:19:56Z")

</div>

Of course, please use `fuels@pr-1476` 🙂

---

<div class="post-metadata">

**Author:** ![danielbate](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/danielbate/32/1617_2.png) [@danielbate](https://forum.fuel.network/u/danielbate)\
**Post date:** [December 4, 2023, 9:23pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/5 "2023-12-04T21:23:51Z")

</div>

@sway Would be great if you could confirm if that PR version solves it for you also.

---

<div class="post-metadata">

**Author:** ![sway](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sway/32/103_2.png) [@sway](https://forum.fuel.network/u/sway)\
**Post date:** [December 4, 2023, 9:30pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/6 "2023-12-04T21:30:07Z")

</div>

> [@danielbate](#):
>
> `pr-1476`

It doesn’t

 ![image](https://us1.discourse-cdn.com/flex022/uploads/fuel/original/2X/7/7e55a354d71d996e47a6f466a104af2f83e99847.png)

---

<div class="post-metadata">

**Author:** ![danielbate](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/danielbate/32/1617_2.png) [@danielbate](https://forum.fuel.network/u/danielbate)\
**Post date:** [December 4, 2023, 9:31pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/7 "2023-12-04T21:31:38Z")

</div>

Please try `fuels@0.0.0-pr-1476-20231204212753`

---

<div class="post-metadata">

**Author:** ![sway](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sway/32/103_2.png) [@sway](https://forum.fuel.network/u/sway)\
**Post date:** [December 4, 2023, 9:45pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/8 "2023-12-04T21:45:00Z")

</div>

> [@danielbate](#):
>
> fuels@0.0.0-pr-1476-20231204212753

I got a different error, I am not sure if it’s related to wrong call, because there is nothing much to do wrong in simulate

```ts
updateMaxValueForMarket = async (clearingHouse: ClearingHouseAbi) => {
		this.setMaxAbsPositionSize({ long: new BN(71428571), short: new BN(71428571) });
		const { tradeStore, accountStore } = this.rootStore;
		const addressInput = accountStore.addressInput;
		const baseAsset = { value: TOKENS_BY_SYMBOL.BTC.assetId };
		const contracts = tradeStore.contractsToRead;
		if (addressInput == null || contracts == null) return;

		const result = await clearingHouse.functions
			.get_max_abs_position_size(addressInput, baseAsset)
			.addContracts([
				contracts?.accountBalanceAbi,
				contracts?.proxyAbi,
				contracts?.clearingHouseAbi,
				contracts?.vaultAbi,
				contracts?.insuranceFundAbi,
			])
			.simulate();
		console.log("result", result.value);
	};

```

---

<div class="post-metadata">

**Author:** ![sway](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sway/32/103_2.png) [@sway](https://forum.fuel.network/u/sway)\
**Post date:** [December 4, 2023, 9:45pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/9 "2023-12-04T21:45:32Z")

</div>

![image](https://us1.discourse-cdn.com/flex022/uploads/fuel/original/2X/2/266f9f13693f4d91a7c10d8f509934085d94ff55.png)  
this error

---

<div class="post-metadata">

**Author:** ![danielbate](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/danielbate/32/1617_2.png) [@danielbate](https://forum.fuel.network/u/danielbate)\
**Post date:** [December 5, 2023, 2:24pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/10 "2023-12-05T14:24:10Z")

</div>

With the above example I am not able to recreate the problem. Are you able to reproduce in a minimalistic repository?

---

<div class="post-metadata">

**Author:** ![sway](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sway/32/103_2.png) [@sway](https://forum.fuel.network/u/sway)\
**Post date:** [December 5, 2023, 3:01pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/11 "2023-12-05T15:01:55Z")

</div>

Sure, here it is

> <https://github.com/compolabs/spark/blob/e865af1065684dfc8f01a53a4acad136f954910c/frontend/src/screens/TradeScreen/PerpTradeVm.tsx#L77>

---

<div class="post-metadata">

**Author:** ![danielbate](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/danielbate/32/1617_2.png) [@danielbate](https://forum.fuel.network/u/danielbate)\
**Post date:** [December 5, 2023, 3:40pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/12 "2023-12-05T15:40:11Z")

</div>

Okay so given this error is of type `Revert` we know that it is happening inside the script call (something within the contract), we know that the `AssetId` encoding fix is working. So the above issue has been resolved and let’s deal with the issue with the contract in isolation, outside of this forum post.

---

<div class="post-metadata">

**Author:** ![sandusky](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/sandusky/32/1313_2.png) [@sandusky](https://forum.fuel.network/u/sandusky)\
**Post date:** [December 5, 2023, 10:10pm UTC](https://forum.fuel.network/t/getting-invalid-struct-assetid-error-in-ts-sdk/3812/13 "2023-12-05T22:10:38Z")

</div>


