%lang starknet
from starkware.cairo.common.math import signed_div_rem
from starkware.cairo.common.math_cmp import RC_BOUND
@viewfunc sum(arr_len : felt, arr : felt*) -> (res : felt):
if arr_len == 0:
return (0)
end
let (sum_of_rest) = sum(arr_len=arr_len - 1, arr=arr + 1)
return ([arr] + sum_of_rest)
end
%lang starknet
from starkware.cairo.common.math import signed_div_rem
from starkware.cairo.common.math_cmp import RC_BOUND
@viewfunc sum(arr_len : felt, arr : felt*) -> (res : felt):
if arr_len == 0:
return (0)
end
let (sum_of_rest) = sum(arr_len=arr_len - 1, arr=arr + 1)
return ([arr] + sum_of_rest)
end
%lang starknet
from starkware.cairo.common.math import
signed_div_rem
from starkware.cairo.common.math_cmp
import RC_BOUND
@view
func sum(arr_len : felt, arr : felt*) ->
(res : felt):
if arr_len == 0:
return (0)
Use the menu tabs to navigate the latest Starknet data, or type in any address, transaction, block, or message hash in Voyager’s search bar, and you'll be taken straight there.
Shows latest blocks and their status, along with pending and accepted blocks.
Shows transactions in reverse chronological order.
Shows deployed contracts in reverse chronological order.
Shows declared classes in reverse chronological order.
Displays latest messages following the Starknet L1-L2 messaging protocol.
Shows events emitted by contracts to notify applications about changes in their state.
Displays transaction trends, contract and class growth over time, and Cairo 1 adoption statistics.
Voyager allows browsing Starknet in Mainnet, Goerli testnet 1 and 2.
The Contract view is packed with contract specific details. See its transactions, messages, events and get a rundown of the ERC20 tokens held in that contract. Since Starknet implements account abstraction by default, all accounts are smart contracts, and the contract view provides deep insight on those properties.

In the tab Read contract, you can see and trigger the view functions of the contract, to check its state. With the Write Contract tab, our partnership with ArgentX wallet enables you to start transactions to trigger functions that change the contract's state.

In the Code section, Voyager displays the bytecode of that contract, and can also show the contract’s human-readable source code. In order to show the source code, Voyager provides the Contract Verification Tool, where anyone can upload the source code for a contract deployed to a specific address. Voyager compiles and verifies it against the on-chain bytecode and after that, the source code is available to read in the Code tab, with source code verification status at the top of the page.
Verifying a smart contract

The Transaction view provides deep insights into the anatomy of a transaction. Users land on the overview tab which provides essential information. Explore the transaction more in-depth by browsing to its internal calls, the included events or messages!
PS: Voyager comes with a slick dark-mode!
Transaction view
