# VSC Asset Mapping ### Components - Chain Key (vTSS) - Asset Registry defined by [here](/lJf_WHQ7Q9qNWe7ndhch9w) ### State 2.0 **Config** 2.0.1 `chain_bridge_contract` -> contractId[string] 2.0.2 `chain_key` -> signingKey[secp256k1] 2.0.3 `asset_registry` -> contractId[string] 2.0.4 `base_fee` -> uint256 2.1 **System** 2.1.1 `active_supply` -> `uint256` *total supply of VSC asset on the network* 2.1.2 2.2 **NAM** - *Native asset mapping* 2.2.1 `balances` -> map[string]uint256 2.2.2 `observed_txs` -> map[string]bool 2.2.2 `utxos` -> map[string]{address string, amount uint64} 2.2.3 `utxo_spends` -> map[string]signedUtxo ```golang= type SignedUtxo struct { Inputs []any Witness any } //Hashes to signable data ``` 2.3 **AMR** - *Address mapping registry* 2.3.1 `accounts` -> `map[string]map[blockchainId]AccountInfo` ```golang= type AccountInfo struct { modified_at uint64 address Caip10Address } ``` ### Functions 3.1.1 `map` → *Arguments: [deposit proof] Receives deposit information with instructions, and maps equivalent token amount to wallet address* 3.1.2 `unmap` → *Arguments: [to, from, amount] Unmaps token and sends equivalent tokens to the L1 address* 3.1.3 `transfer` → *Arguments [to, from, amount, memo]* 3.1.4 `burn` → *Burns tokens from an account* 3.2 **Safety Interface** 3.2.1 `si_withdraw` - *converts mapped assets into L1 unmapped asset* 3.2.2 `si_hive_rate` - *the conversion rate between mapped token and Hive* 3.3 **Token Interface** 3.3.1 `decimals` → <code>func() uint256</code> 3.4 **UTXO Chains** 3.4.1 `index_utxo` → `func(any)` 3.4.2 `register_addr` → `func(script []byte)` *Registers a deposit address with valid namespace data and destination information. Note: this will usually get triggerd when profile registration happens*
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up