---
# System prepended metadata

title: Sophia types in JS SDK

---

# Sophia types in JS SDK



| Type | Sophia | JS |
|------|--------|----|
|  int    |  ` add_two(one: int, two: int)`      | `sum(1 , 2)`   |
|  address    |  ` set_owner(owner: address)`        |  `set_owner("ak_1337...")`   |
|  bool    |  `is_it_true(answer : bool)`      |  `is_it_true(true)`  |
|  bits    |  `give_me_bits(input : bits)`      |  `give_me_bits([1,0,0,1,1,0])`  |
|  bytes    | `get_bytes(test : bytes(3))`       | `get_bytes(["0x01","0x1f", "0x10"])`   |
|  string    | `hello_world(say_hello : string)`       |  `hello_world("Hello!")`  |
|  list    |  `have_a_few(candy : list(string))`      |  `have_a_few(["Skittles", "M&Ms", "JellyBelly"])`  |
|  functions    |   (Higher order) functions are not allowed in`entrypoint` params     |    |
|  tuple    |  `a_few_things(things : (string * int * map(address, bool)))`      | `a_few_things(["hola", 3, {"ak_1337...": true}])`   |
|  record    |   `record user = {`<br /> &nbsp; &nbsp; &nbsp; &nbsp; `name: string,` <br /> &nbsp; &nbsp; &nbsp; &nbsp; `surname: string` <br /> &nbsp; &nbsp; `}` <br />  <br />  `entrypoint golden_record(input: user) : string =` <br /> &nbsp; &nbsp; &nbsp; &nbsp; `input.surname`    |  `golden_record({"name": "Alfred", "surname": "Mustermann"})`  |
| map     |  `balances(values : map(address, int))`      |  `balances({"ak_1337...": 123, "ak_FCKGW...": 321, "ak_Rm5U...": 999})`  |
| option()     |     `entrypoint number_defined(value : option(int)) : bool = ` <br />  &nbsp; &nbsp; &nbsp; &nbsp; `switch(value)` <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `Some(int) => true` <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;   `None => false`       |  `number_defined(1337)`  |
| hash     |  `a_gram(of : hash)`      | `//32 bytes, eg. a1 == 1 byte` <br />  `a_gram(af01...490f)`  |
| signature     |        |    |
| Chain.ttl     | `entrypoint time_remaining(value : Chain.ttl) `       |  ?  |
| oracle('a, 'b)     |    ?    |  ?  |
| oracle_query('a, 'b)     |   ?     |  ?  |
| contract     |        |    |