# new Server(serverURL, domain, optsopt) → {void}
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
serverURL |
string
|
The federation server URL (ex. |
|
domain |
string
|
Domain this server represents |
|
opts |
Api.Options
|
<optional> |
Options object |
void
Methods
# async resolveAccountId(accountId) → {Promise.<module:Federation.Api.Record>}
Given an account ID, get their federation record if the user was found
Parameters:
Name | Type | Description |
---|---|---|
accountId |
string
|
Account ID (ex. |
Will throw an error if the federation server returns an invalid memo value.
Will throw an error if the federation server's response exceeds the allowed maximum size.
Will throw an error if the server query fails with an improper response.
A promise that resolves to the federation record
Promise.<module:Federation.Api.Record>
# async resolveAddress(address) → {Promise.<module:Federation.Api.Record>}
Get the federation record if the user was found for a given Stellar address
Parameters:
Name | Type | Description |
---|---|---|
address |
string
|
Stellar address (ex. |
Will throw an error if the federated address does not contain a domain, or if the server object was not instantiated with a domain
parameter
A promise that resolves to the federation record
Promise.<module:Federation.Api.Record>
# async resolveTransactionId(transactionId) → {Promise.<module:Federation.Api.Record>}
Given a transactionId, get the federation record if the sender of the transaction was found
Parameters:
Name | Type | Description |
---|---|---|
transactionId |
string
|
Transaction ID (ex. |
Will throw an error if the federation server returns an invalid memo value.
Will throw an error if the federation server's response exceeds the allowed maximum size.
Will throw an error if the server query fails with an improper response.
A promise that resolves to the federation record
Promise.<module:Federation.Api.Record>
# async static createForDomain(domain, optsopt) → {Promise.<module:Federation.Api.Record>}
Creates a FederationServer
instance based on information from
stellar.toml
file for a given domain.
If stellar.toml
file does not exist for a given domain or it does not
contain information about a federation server Promise will reject.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
domain |
string
|
Domain to get federation server for |
|
opts |
module:Federation.Api.Options
|
<optional> |
Options object |
Will throw an error if the domain's stellar.toml file does not contain a federation server field.
A promise that resolves to the federation record
Promise.<module:Federation.Api.Record>
Example
StellarSdk.FederationServer.createForDomain('acme.com')
.then(federationServer => {
// federationServer.resolveAddress('bob').then(...)
})
.catch(error => {
// stellar.toml does not exist or it does not contain information about federation server.
});
# async static resolve(value, optsopt) → {Promise.<module:Federation.Api.Record>}
A helper method for handling user inputs that contain destination
value.
It accepts two types of values:
- For Stellar address (ex.
bob*stellar.org
) it splits Stellar address and then tries to find information about federation server instellar.toml
file for a given domain. It returns aPromise
which resolves if federation server exists and user has been found and rejects in all other cases. - For Account ID (ex.
GB5XVAABEQMY63WTHDQ5RXADGYF345VWMNPTN2GFUDZT57D57ZQTJ7PS
) it returns aPromise
which resolves if Account ID is valid and rejects in all other cases. Please note that this method does not check if the account actually exists in a ledger.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
value |
string
|
Stellar Address (ex. |
|
opts |
object
|
<optional> |
Options object |
Will throw an error if the provided account ID is not a valid Ed25519 public key.
A promise that resolves to the federation record
Promise.<module:Federation.Api.Record>
Example
StellarSdk.FederationServer.resolve('bob*stellar.org')
.then(federationRecord => {
// {
// account_id: 'GB5XVAABEQMY63WTHDQ5RXADGYF345VWMNPTN2GFUDZT57D57ZQTJ7PS',
// memo_type: 'id',
// memo: 100
// }
});