Documentation ¶
Index ¶
Examples ¶
Constants ¶
const AiBlocksTomlMaxSize = 100 * 1024
AiBlocksTomlMaxSize is the maximum size of aiblocks.toml file
const WellKnownPath = "/.well-known/aiblocks.toml"
WellKnownPath represents the url path at which the aiblocks.toml file should exist to conform to the federation protocol.
Variables ¶
var DefaultClient = &Client{HTTP: http.DefaultClient}
DefaultClient is a default client using the default parameters
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { // HTTP is the http client used when resolving a AiBlocks.toml file HTTP HTTP // UseHTTP forces the client to resolve against servers using plain HTTP. // Useful for debugging. UseHTTP bool }
Client represents a client that is capable of resolving a AiBlocks.toml file using the internet.
func (*Client) GetAiBlocksToml ¶
GetAiBlocksToml returns aiblocks.toml file for a given domain
Example ¶
ExampleGetTOML gets the aiblocks.toml file for coins.asia
_, err := DefaultClient.GetAiBlocksToml("coins.asia") if err != nil { log.Fatal(err) }
Output:
type ClientInterface ¶
type Currency ¶
type Currency struct { Code string `toml:"code"` CodeTemplate string `toml:"code_template"` Issuer string `toml:"issuer"` Status string `toml:"status"` DisplayDecimals int `toml:"display_decimals"` Name string `toml:"name"` Desc string `toml:"desc"` Conditions string `toml:"conditions"` Image string `toml:"image"` FixedNumber int `toml:"fixed_number"` MaxNumber int `toml:"max_number"` IsUnlimited bool `toml:"is_unlimited"` IsAssetAnchored bool `toml:"is_asset_anchored"` AnchorAsset string `toml:"anchor_asset"` RedemptionInstructions string `toml:"redemption_instructions"` CollateralAddresses []string `toml:"collateral_addresses"` CollateralAddressMessages []string `toml:"collateral_address_messages"` CollateralAddressSignatures []string `toml:"collateral_address_signatures"` Regulated string `toml:"regulated"` ApprovalServer string `toml:"APPROVAL_SERVER"` ApprovalCriteria string `toml:"APPROVAL_CRITERIA"` }
type MockClient ¶
MockClient is a mockable aiblockstoml client.
func (*MockClient) GetAiBlocksToml ¶
func (m *MockClient) GetAiBlocksToml(domain string) (*Response, error)
GetAiBlocksToml is a mocking a method
func (*MockClient) GetAiBlocksTomlByAddress ¶
func (m *MockClient) GetAiBlocksTomlByAddress(address string) (*Response, error)
GetAiBlocksTomlByAddress is a mocking a method
type Principal ¶
type Principal struct { Name string `toml:"name"` Email string `toml:"email"` Keybase string `toml:"keybase"` Telegram string `toml:"telegram"` Twitter string `toml:"twitter"` Github string `toml:"github"` IdPhotoHash string `toml:"id_photo_hash"` VerificationPhotoHash string `toml:"verification_photo_hash"` }
type Response ¶
type Response struct { Version string `toml:"VERSION"` NetworkPassphrase string `toml:"NETWORK_PASSPHRASE"` FederationServer string `toml:"FEDERATION_SERVER"` AuthServer string `toml:"AUTH_SERVER"` TransferServer string `toml:"TRANSFER_SERVER"` TransferServer0024 string `toml:"TRANSFER_SERVER_0024"` KycServer string `toml:"KYC_SERVER"` WebAuthEndpoint string `toml:"WEB_AUTH_ENDPOINT"` SigningKey string `toml:"SIGNING_KEY"` MillenniumUrl string `toml:"MILLENNIUM_URL"` Accounts []string `toml:"ACCOUNTS"` UriRequestSigningKey string `toml:"URI_REQUEST_SIGNING_KEY"` DirectPaymentServer string `toml:"DIRECT_PAYMENT_SERVER"` OrgName string `toml:"ORG_NAME"` OrgDba string `toml:"ORG_DBA"` OrgUrl string `toml:"ORG_URL"` OrgLogo string `toml:"ORG_LOGO"` OrgDescription string `toml:"ORG_DESCRIPTION"` OrgPhysicalAddress string `toml:"ORG_PHYSICAL_ADDRESS"` OrgPhysicalAddressAttestation string `toml:"ORG_PHYSICAL_ADDRESS_ATTESTATION"` OrgPhoneNumber string `toml:"ORG_PHONE_NUMBER"` OrgPhoneNumberAttestation string `toml:"ORG_PHONE_NUMBER_ATTESTATION"` OrgKeybase string `toml:"ORG_KEYBASE"` OrgTwitter string `toml:"ORG_TWITTER"` OrgGithub string `toml:"ORG_GITHUB"` OrgOfficialEmail string `toml:"ORG_OFFICIAL_EMAIL"` OrgLicensingAuthority string `toml:"ORG_LICENSING_AUTHORITY"` OrgLicenseType string `toml:"ORG_LICENSE_TYPE"` OrgLicenseNumber string `toml:"ORG_LICENSE_NUMBER"` Principals []Principal `toml:"PRINCIPALS"` Currencies []Currency `toml:"CURRENCIES"` Validators []Validator `toml:"VALIDATORS"` }
SEP-1 commit https://github.com/aiblocks/aiblocks-protocol/blob/f8993e36fa6b5b8bba1254c21c2174d250af4958/ecosystem/sep-0001.md
func GetAiBlocksToml ¶
GetAiBlocksToml returns aiblocks.toml file for a given domain
func GetAiBlocksTomlByAddress ¶
GetAiBlocksTomlByAddress returns aiblocks.toml file of a domain fetched from a given address