Playground IDE: Transaction build error. {"ownerId":"Field is required"}

Hi,

i get the error message

Transaction build error. {"ownerId":"Field is required"}

When trying to deploy a contract via https://testing.playground.aepps.com

Please help :slight_smile: this is my contract

contract Identity =
  record state = {
    name : string,
    age : int
    }

  function init() = {
    name = "Andrew",
    age = 30
    }
    
  public function getState() : string =
    state.name
    
  public stateful function setState(n : string, a : int) =
    put(state{name = n, age=a})
1 Like

Hey @emin,

This issue is related to the generalized accounts. The account which is provided in the default playground configuration was generalized by the community, and these accounts are not supported yet. By the end of this week support for them will be provided, and we will update the account in the playground.

As a workaround, for now, you can just use another account which is not generalized and everything will work as expected.

Best,
Martin

2 Likes

How can i check if an account is generalized or not. Does the node API return anything here to identify this?

To check the properties of an account you can simply send a GET request to this URL:
node_url/v2/accounts/account_address

For example for the testnet and the playground default address is this:
https://sdk-testnet.aepps.com/v2/accounts/ak_6A2vcm1Sz6aqJezkLCssUXcyZTX7X8D5UwbuS2fRJr9KkYpRU.

The return data from the call in Postman is this:
{ "auth_fun": "add_to_number", "balance": 811193097223266796526, "contract_id": "ct_21tCooXGgLatMYEkXAgHczh3WwH1upzmNWCM9JHYQYu8mqt2ck", "id": "ak_6A2vcm1Sz6aqJezkLCssUXcyZTX7X8D5UwbuS2fRJr9KkYpRU", "kind": "generalized", "nonce": 13013 }

The field kind describes the type of the account.

Best,
Martin

2 Likes

This should work out of the box at playground and the IDE should not throw that error when people start playing around with it. Can you fix that?

I can fix it, but I can’t guarantee that the community and users won’t again generalize the account which I will provide. A fix for the generalized accounts will provided by the sdk team, but the task is a bit complicated.

Martin

Why is aepp / tool without any changes and without a problem? How is it different from playground?

https://testnet.contracts.aepps.com

The address of the contract aepp is changed but is not yet generalized by the community, that’s why it is working. I can update the playground address also.

Martin

1 Like

Most of the people don’t understand the reason why its not working. There is no explanation whatsoever. I’d prefer that it “just works” instead of throwing an error -or- that there is a very clear and easy explanation on “how to” use it when opening the tool.

This said: if you can make it working, please update it and make it working, i’m sure many like me would appreciate it.

Thank you @MartinG!

Emin

What does this mean? Can you explain?

So the solution for now is to change the Playground account to a non-generalized account. Correct?

Yes, already working on this, we will release today.

not yet generalized by the community means that the community members haven’t already transferred the account to generalized one, which should not be done because the GA accounts are not yet supported. The issue was the same with the contracts aepp, because someone made it generalized, because the PK and SK are exposed in the application just like in the playground.

Anyway, we are working on the fix and I will post here when we deploy new version of the tool.

Best and sorry for the inconvenience,
Martin

1 Like