Расширение внедряет контентный скрипт содержащий переменную с веб3 провайдером: vizonator.
Любое действие направляется к исполнительной логике расширения, которое проверяет сохранённые правила для автоматического подтверждения или отказа в действии. Если правил для конкретного сайта не было найдено — расширение спросит пользователя об утверждении запроса.
Эта документация больше для фронтенд разработчиков на javascript.
Доступные операции
Типы операций: подпись и исполнение операций, запрос данных расширения, запросы через API.
Каждая операция запрашивает разные виды правил. Если пользователь отметил галочкой запомнить своё решение, расширение сохранит это для конкретного сайта.
- get_account (extension data)
- get_settings (extension data)
- get_custom_account (API)
- get_account_history (API)
- account_metadata
- award
- committee_vote_request
- custom
- delegate_vesting_shares
- passwordless_auth
- transfer
- transfer_to_vesting
- withdraw_vesting
get_account
Запрашиваемые правила: account
Запрашивает информацию о текущем аккаунт у расширения: логин, уровень энергии, заполнены ли ключи для шифрования заметок (memo) и управления активами (active).
vizonator.get_account(function(error,result){
let el=$(".vizonator_callback.test_get_account");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text(JSON.stringify(result,null,2));
}
});
get_settings
Запрашиваемые правила: settings
Запрашивает настройки расширения: шаг энергии, затрачиваемая операцией награждения энергия по умолчанию, темный режим, выбранный язык.
vizonator.get_settings(function(error,result){
let el=$(".vizonator_callback.test_get_settings");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text(JSON.stringify(result,null,2));
}
});
get_custom_account
Запрашиваемые правила: account, api
API запрос по любому аккаунту VIZ с счетчиком для кастомного (custom) протокола. Если аккаунт пустой или булево ложь (false) — запрашивает аккаунт пользователя.
let account="on1x";
let protocol="V";//can be empty
vizonator.get_custom_account(account,protocol,function(error,result){
let el=$(".vizonator_callback.test_get_custom_account");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text(JSON.stringify(result,null,2));
}
});
get_account_history
Запрашиваемые правила: account, api
API запрос для получения истории операций любого аккаунта VIZ. Если аккаунт пустой или булево ложь (false) — запрашивает аккаунт пользователя.
let account="on1x";
let from=-1;//from the latest activity
let limit=5;
vizonator.get_account_history(account,from,limit,function(error,result){
let el=$(".vizonator_callback.test_get_account_history");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text(JSON.stringify(result,null,2));
}
});
account_metadata
Запрашиваемые правила: meta, regular, account
Перезаписывает/обновляет информацию об метаданных аккаунта. Обычно используется для модификации профиля (в начале — получение метаданных из блокчейна, после — изменение их структуры, наконец — запись данных в блокчейн этой операцией).
let metadata="{}";//be careful, this operation will be clear account metadata
vizonator.account_metadata({json:metadata},function(error,result){
let el=$(".vizonator_callback.test_account_metadata");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
award
Запрашиваемые правила: award, regular
Дополнительные параметры: beneficiaries (бенефициары, структура в виде массива аккаунтов с процентом получаемой награды [[«account1»,4000],[«account2»,6000]]), custom_sequence (used by social gateways), force_memo_encoding (принудительное шифрование заметки).
Результат содержит объект с свойством approximate_amount в виде дробного значения. Оно содержит приблизительное количество социального капитала которым был награжден получатель.
vizonator.award({receiver:"on1x",energy:500,memo:"Vizonator docs"},function(error,result){
let el=$(".vizonator_callback.test_award");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text(JSON.stringify(result));
}
});
committee_vote_request
Запрашиваемые правила: committee, regular
Голосует за активную заявку в ДАО VIZ. Параметр процент голоса (vote_percent) может быт в диапазоне от -10000 (-100.00%) до 10000 (100.00%).
vizonator.committee_vote_request({request_id:5,vote_percent:10000},function(error,result){
let el=$(".vizonator_callback.test_committee_vote_request");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
custom
Запрашиваемые правила: custom, protocol_*, regular*, active*
Отправляет json данные кастомного (custom) протокола в блокчейн. Тип доступа (authority) может быть как активным (active), так и обычным (regular).
let authority_type="regular";//can be "active"
let protocol_id="test";
let json_data='{"hello":"world"}';
vizonator.custom({authority:authority_type,id:protocol_id,json:json_data},function(error,result){
let el=$(".vizonator_callback.test_custom");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
delegate_vesting_shares
Запрашиваемые правила: delegate, active
Делегирование социального капитала другому аккаунту или разделегирование. Влияет на эффективность награждений и весу голоса в ДАО.
let amount="1.000000 SHARES";//"0.000000 SHARES" for undelegate
vizonator.delegate_vesting_shares({delegatee:"on1x",vesting_shares:amount},function(error,result){
let el=$(".vizonator_callback.test_delegate_vesting_shares");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
passwordless_auth
Запрашиваемые правила: auth, account, regular*, active*
Подписывает уникальную строку для беспарольного доказательства аутентификации. Строка содержит домен сайта, тип доступа, аккаунт и временную отметку в формате unixtime. Сайт обрабатывает полученную строку, верифицирует подпись и должен кэшировать ее с двух-минутной экспирацией, чтобы блокировать попытки авторизации от других источников (в случае MITM атаки).
let authority_type="regular";//can be "active"
vizonator.passwordless_auth({authority:authority_type},function(error,result){
let el=$(".vizonator_callback.test_passwordless_auth");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text(JSON.stringify(result,null,2));
}
});
transfer
Запрашиваемые правила: transfer, active
Запрашивает у пользователя перевод определенного количества viz. Может запросить принудительное шифрование заметки.
let amount="0.001 VIZ";
let memo="Vizonator docs";
let force_encoding=false;//can be boolean true for force encoding by shared memo key
vizonator.transfer({to:"committee",amount:amount,memo,force_memo_encoding:force_encoding},function(error,result){
let el=$(".vizonator_callback.test_transfer");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
transfer_to_vesting
Запрашиваемые правила: vesting, active
Запрашивает у пользователя перевод суммы viz в социальный капитал.
vizonator.transfer_to_vesting({to:"committee",amount:"0.001 VIZ"},function(error,result){
let el=$(".vizonator_callback.test_transfer_to_vesting");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
withdraw_vesting
Запрашиваемые правила: vesting, active
Запрашивает у пользователя вывод из социального капитала определенную сумму в viz.
vizonator.withdraw_vesting({vesting_shares:"10.000000 SHARES"},function(error,result){
let el=$(".vizonator_callback.test_withdraw_vesting");//debug element
if(error){
el.text("Error: "+JSON.stringify(error));
}
else{
el.text("Result: "+JSON.stringify(result));
}
});
Наградить автора поста