Registration
getNameAvailability(names)
Check the availability of multiple cluster names
const names = ["foobar", "namethatdoesntexist"];
const cluster = await clusters.getNameAvailability(names);
Response
[
{
"name": "foobar",
"isAvailable": false
},
{
"name": "namethatdoesntexist",
"isAvailable": true
}
]
getRegistrationTransaction(names, sender, network)
Get the transaction data for registering a cluster so that a user can sign it
network
sender
The sender's address
names
{ name: string; amountWei?: string }[]
bidAmountWei (optional) is always in ETH and defaults to 0.01 ETH
referralClusterId
(optional)
The cluster id that is referring this registration
Example
const names = [
{ "name": "namethatdoesntexist1" },
{ "name": "namethatdoesntexist2" }
]
const sender = "0x0000000000000000000000000000000000000001";
const cluster = await clusters.getRegistrationTransactionEvm(names, sender, "1");
Response
{
"type": "evm",
"gasToken": {
"symbol": "ETH",
"decimals": 18
},
"transactionData": {
"to": "0x00000000000e1a99dddd5610111884278bdbda1d",
"data": "0x40bee835000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000026e616d6574686174646f65736e746578697374310000000000000000000000006e616d6574686174646f65736e74657869737432000000000000000000000000",
"value": "20000000000000000"
},
"registrationFee": "20000000000000000",
"bridgeFee": "0",
"names": [
{
"name": "namethatdoesntexist1",
"amountWei": "10000000000000000",
"amount": "10000000000000000"
},
{
"name": "namethatdoesntexist2",
"amountWei": "10000000000000000",
"amount": "10000000000000000"
}
]
}
Names unavailable
{
"status": 500,
"message": "1 or more names are unavailable"
}
Bridge Failure
{
"status": 500,
"message": "lz quote failed. most likely caused by wallets having insufficient balances"
}
Example
const names = [
{ "name": "namethatdoesntexist1" },
{ "name": "namethatdoesntexist2" }
]
const sender = "1nc1nerator11111111111111111111111111111111";
const cluster = await clusters.getRegistrationTransactionSolana(names, sender);
Response
Notice when using solana, transactionData
is an array of transactions instead of a single object on other networks. This is because only one name is supported per transaction at the moment when using solana.
{
"type": "solana",
"gasToken": {
"symbol": "SOL"
},
"transactionData": [
"gAEAAgQAM5ByjTQRYHm9yRG//wDb1E0uzcz3nKbhADjhAAAAAC/u4TnLEmhvVrNvLTdpdpVdJLegH99q7vYkM2iDi+hFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFSlNamSkhBk0k6HFg2jh8fDW13bySu4HkH6hAQQVEjZdvwyMMJHbJTNyHX/nuAnbanfNbTqWDof5avLEj3/dwAgICAAEMAgAAAFR9jwgAAAAAAwEAqgF7InR5cGUiOiJiaWQiLCJuYW1lIjoibmFtZXRoYXRkb2VzbnRleGlzdDEiLCJ3ZWkiOjEwMDAwMDAwMDAwMDAwMDAwLCJ0aW1lc3RhbXAiOjE3NDMwMDgwOTcsInNpZ25hdHVyZSI6ImViM2NhNjBkMDE5OWQwNWVkMzVkNGJjNGFhNTI1Yzk4MmVlYzI1M2I4MjIyMzE0MjBhNzNlZGQ1NzAzOWVmYmMifQA=",
"gAEAAgQAM5ByjTQRYHm9yRG//wDb1E0uzcz3nKbhADjhAAAAAC/u4TnLEmhvVrNvLTdpdpVdJLegH99q7vYkM2iDi+hFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFSlNamSkhBk0k6HFg2jh8fDW13bySu4HkH6hAQQVEjZdvwyMMJHbJTNyHX/nuAnbanfNbTqWDof5avLEj3/dwAgICAAEMAgAAAFR9jwgAAAAAAwEAqgF7InR5cGUiOiJiaWQiLCJuYW1lIjoibmFtZXRoYXRkb2VzbnRleGlzdDIiLCJ3ZWkiOjEwMDAwMDAwMDAwMDAwMDAwLCJ0aW1lc3RhbXAiOjE3NDMwMDgwOTcsInNpZ25hdHVyZSI6ImViM2NhNjBkMDE5OWQwNWVkMzVkNGJjNGFhNTI1Yzk4MmVlYzI1M2I4MjIyMzE0MjBhNzNlZGQ1NzAzOWVmYmMifQA="
],
"registrationFee": "287242920",
"bridgeFee": "0",
"names": [
{
"name": "namethatdoesntexist1",
"amountWei": "10000000000000000",
"amount": "143621460"
},
{
"name": "namethatdoesntexist2",
"amountWei": "10000000000000000",
"amount": "143621460"
}
]
}
Names unavailable
{
"status": 500,
"error": "names_unavailable",
"message": "1 or more names are unavailable"
}
Bridge Failure
{
"status": 500,
"error": "lz_quote_fail",
"message": "lz quote failed. most likely caused by wallets having insufficient balances"
}
getTransactionStatus(tx)
Get the status of a specific transaction hash.
For now, if you registered more than one name in a transaction, it'll only give you the status of the first name.
Example
const cluster = await clusters.getTransactionStatus("0xffea3b29c64016772b7d3194b3c3899a62191e654990b6e3393b410667102284");
Response
type status = 'not_found' | 'pending' | 'invalid' | 'finalized'
{
"tx": "0xffea3b29c64016772b7d3194b3c3899a62191e654990b6e3393b410667102284",
"status": "finalized"
}
Last updated