Please enable JavaScript.
Coggle requires JavaScript to display documents.
aurora-eth-connector :check:, aurora-engine-migration-tool main - Coggle…
aurora-eth-connector :check:
admin_controlled.rs :check:
assert_access_right
short cut: :lock: :check:
get_paused_flags :check:
set_paused_flags :check:
is_paused :check:
assert_not_paused :check:
set_access_right :check:
get_access_right :check:
assert_owner_access_right :check:
is_owner :check:
connector.rs
connector_impl.rs
EthConnector
FinishDepositCallArg :check:
deposit :check:
deposit_event.rs :check:
parse_on_transfer_message
Мы делим сообщение на два. И первая часть должна быть аккаунт, которому мы переводим. Собственно сообщение должно быть аккаунт, куда мы переводим... А вторая часть это fee и куда переводим.
Вообще это супер страннова-то, но допустим... что поделать. Вот почему-то relayer всегда должен быть закодирован, ну допустим. eth_address -- это всегда 20 байт, а fee всегда 32 little_endinan :check:
from_log_entry_data :check:
fetch_log_entry_data
Вообще, выглядит, как достаточно стандартный способ парсить логи. Тут я особо в подробности вдаваться не буду. :check:
parse_event_message_and_prepare_token_message :check:
prepare_message_for_on_transfer
Парсим адрес получателя и это более менее единственное, что мы делаем.
Единственное что, возможно стоит сделать reorder, что бы было в том же порядке, что и кодируется. :check:
event_params :check:
get_recipient() :check:
encode() :check:
errors.rs
lib.rs :check:
EthConnectorContract
StorageKey :check:
new :check:
register_if_not_exists
symbol :pencil2:
Увеличиваем счетсик и
регестрируем аккаунт :check:
is_used_proof :check:
is_used_event :check:
get_bridge_prover :check:
FungibleTokeCore :check:
ft_transfer :pencil2: :check:
ft_transfer_call :check:
internal_ft_transfer_call :pencil2: :check:
ft_resolve_transfer :check:
Функция возвращает, сколько было переведено
ft_total_supply :check:
ft_balance_of :check:
EngineFungibleToken
engine_ft_transfer :lock: :pencil2: :check:
engine_ft_transfer_call :lock: :check:
KnownEngineAccountsManagement :check:
set_engine_account :lock: :check:
remove_engine_account :lock: :check:
get_engine_accounts :check:
EngineStorageManager :check:
engine_storage_deposit :lock:
Слово в слово стандартная реализация, только prdecessor_account заменили на sender_id
:check:
internal_storage_balance_of
Всегда возвращается min as total и 0 как avaliable
Функция точно такая же, как и стандартная. Видимо мы хотим сэкономить газа и передавать аккаунт по ссылке, а не копируя...
И эта функция приватная...
:check:
engine_storage_withdraw :lock:
Тоже слово в слова, как стандартная реализация, только заменили на sender_id :check:
engine_storage_unregister :lock:
:check:
internal_storage_unregister
В точности стандартная реализация, с добавлением sender_id :check:
FungibleTokenMetadataProvider :check:
ft_metadata :check:
FungibleTokenStatistic :check:
get_accounts_counter :check:
AdminControlled :check:
get_paused_flags :check:
set_paused_flags :check:
set_access_right :check:
get_access_right :check:
is_owner :check:
Withdraw :check:
withdraw :check:
EngineConnectorWithdraw :check:
engine_withdraw :lock: :check:
Deposit
deposit :check:
FundsFinish :check:
finish_deposit :check:
mint_eth_on_near :pencil2:
Регестрируем аккаунт если надо и переводим токены :check:
record_proof :check:
is_used_proofs :check:
Migration :check:
migrate :check:
check_migration_correctness :check:
log_entry.rs
migration.rs
proof.rs
types.rs
aurora-engine-migration-tool main
parse
BlockData
block_height
value
indexer
migrate :check:
Migration::new :check:
rpc::Client::new
JsonRpcClient -- NEar RPC
unresolved_blocks --вот что это такое
Условно, какие-то блоки могут не существовать и это ок. И мы зачем-то храним этот список. :check:
MigrationConfig
Передаем название контракта и
его секретный ключ
signer_account_id == contrat
:check:
StateData::try_from_slice :check:
FungiableToken
Из интересного, тут есть
total_eth_supply_on_near и
total_eth_supply_on_aurora
и нужно понять как с этим обращаться аккуратно :check:
Migration::run :check:
commit_migrate :check:
check_migration
Вообще вывод в конце
супер странный, но блин, на корректность особо не влияет. :check:
MigrationCheckResult :check:
prepare-migrate-indexed :check:
Возможно стоит проверить, что данные для индексирования правильные.
prepare_indexed :check:
IndexerData
Указывается
first_block,
last_block
current_block
missed_blocks
Это видимо с какого момента по какой всё индексируется. :check:
IndexedData
accounts
proofs
logs
logs -- не используется,
вот и забьем на эту часть.
IndexedResultLog
block_height
actions
ActionResultLog??
Вот что это такое??
Ладно, давай-те проверим, используем ли мы logs