GID controller abi doc
ExecuteMsg
1. Commit commitment
ExecuteMsg::Commit
2. Domain register
ExecuteMsg::Register
Json Parameters
name type data type description owmer optional string domain owner domain required object domain information
domain enum
- domain::TopLevel
name type data type description names required array/string register names duration_type required string domain duration. year/permanent secret required string register secret address optional string ref address in commitemnt resolver optional string resolver contract address
- domain::SecondLevel
name type data type description owmer required array/string second level domain owner root_name required string top level domain name
- domain::Reverse
name type data type description name optional string reverse name
Example call
gotabitd tx wasm execute $CONTROLLER_CONTRACT $NODE "{"register":{"domain":{"top_level":{"names":["TEST_NAME"],"duration_type":"year","secret":"gid_secret","resolver":"registry_address","address":"alice_addr"}},"owner":"alice"}}" --from wallet $TXFLAG -y
3. Register new domain by the name(only owner)
ExecuteMsg::OwnerRegister
Json Parameters
name type data type description names required array/string register names duration_type required integer domain duration. 0/year. 1/permanent owmer required string domain owner resolver optional string resolver contract address
Example call
gotabitd tx wasm execute $CONTROLLER_CONTRACT $NODE "{"owner_register":{"names":["alice"],"owner":"alice","duration_type":"year","resolver":"registry_address"}}" --from wallet $TXFLAG -y
4. Set contract config(only admin)
ExecuteMsg::SetConfig
Json Parameters
name type data type description max_commitment_age required integer max commitemnt age min_commitment_age required integer min commitemnt age tier_prices required array/tuple(integer, integer, integer) tier prices registrar_address required string registrar contract address owner required string contract owner enable_registration required bool enable registration level1 required tuple(integer, integer, integer) level1 info level2 required tuple(integer, integer, integer) level2 info level3 required tuple(integer, integer, integer) level3 info token_uri optional string domain token uri Example call
gotabitd tx wasm execute $CONTROLLER_CONTRACT $NODE "{"set_config":{"max_commitment_age":120,"min_commitment_age":20,"tier_prices":[[4,640000000,640000000],[5,160000000,160000000],[18446744073709551615,5000000,5000000]],"registrar_address":"new_registrar_address","owner":"new_owner","enable_registration":true,"level1":[9,4294967295,0],"level2":[3,2147483647,0],"level3":[1,0,0],"token_uri":"https://nft.gid.io"}}" --from wallet $TXFLAG -y
5. Withdraw register fee(only admin)
ExecuteMsg::Withdraw
6. Renew by the name
ExecuteMsg::Renew
7. Renew by the name(only owner)
ExecuteMsg::OwnerRenew
8. Set enable registration(only admin)
ExecuteMsg::SetEnableRegistration
9. Add reserved name (only admin)
ExecuteMsg::AddReservedNames
10. Remove reserved name (only admin)
ExecuteMsg::RemoveReservedNames
11. Remove reverse record by caller
ExecuteMsg::RemoveReverseRecord
QueryMsg
1. Commit commitment
QueryMsg::GetCommitment
Json Parameters
name type data type description name required string domain name owner required string domain owner secret required string register secret address optional string ref address in commitemnt resolver optional string resolver contract address
Binary Reponse
name data type description commitment string commitment
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"get_commitment":{"names":["TEST_NAME"],"duration_type":"year","secret":"gid_secret","resolver":"registry_address","address":"alice_addr"}}" --from wallet $TXFLAG -y
2. Commitment timestamp
QueryMsg::CommitmentTimestamp
Json Parameters
name type data type description name required string commitment name
Binary Reponse
name data type description timestamp integer commitment timestamp
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"commitment_timestamp":{"commitment": "COMMITMENT_NAME""}}" --from wallet $TXFLAG -y
3. Rent price
QueryMsg::RentPrice
Json Parameters
name type data type description name required string domain name duration_type required string reg duration. year/permanent
Binary Reponse
name data type description price integer rent price
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"rent_price":{"name": "alice", "duration_type": "year"}}" --from wallet $TXFLAG -y
4. Commitment age
QueryMsg::CommitmentAge
5. Min registration duration
QueryMsg::MinRegistrationDuration
6. Get domain tier price
QueryMsg::GetPrice
7. Get registrar address
QueryMsg::Registrar
8. Get contract owner
QueryMsg::Owner
9. Get reverse record
QueryMsg::GetReverseRecord
Json Parameters
name type data type description address required string reverse address
Binary Reponse
name data type description node bytes reverse node name strign reverse name
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"get_reverse_record":{"address": "GOTABIT_ADDRESS""}}" --from wallet $TXFLAG -y
10. Get domain info by name
QueryMsg::GetNameInfo
Json Parameters
name type data type description name required string domain name
Binary Reponse
name data type description token_id string domain token id owner string domain owner resolver string resovler expires integer domain expires(second)
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"name_info":{"name": "alice"}}" --from wallet $TXFLAG -y
11. Get domain name preview
QueryMsg::GetNameInfo
Json Parameters
name type data type description name required string domain name
Binary Reponse
name data type description is_valid_name bool is valid name token_id string domain token id node_hash bytes node hash label bytes domain name label is_available label is available is_reserved integer is reserved name
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"name_preview":{"name": "alice"}}" --from wallet $TXFLAG -y
12. Get contract config
QueryMsg::GetConfig
Json Parameters
None
Binary Reponse
name data type description max_commitment_age integer max commitemnt age min_commitment_age integer min commitemnt age tier_prices array/tuple(integer, integer, integer) tier prices registrar_address string registrar contract address registry_address string registry_address contract address resolver_address string resolver_address contract address owner string contract owner enable_registration bool enable registration level1 tuple(integer, integer, integer) level1 info level2 tuple(integer, integer, integer) level2 info level3 tuple(integer, integer, integer) level3 info token_uri string domain token uri
Example call
gotabitd tx wasm query $CONTROLLER_CONTRACT $NODE "{"get_config":{}}" --from wallet $TXFLAG -y