code.vegaprotocol.io/vega@v0.79.0/protos/sources/vega/assets.proto (about) 1 syntax = "proto3"; 2 3 package vega; 4 5 option go_package = "code.vegaprotocol.io/vega/protos/vega"; 6 7 // Vega representation of an external asset 8 message Asset { 9 enum Status { 10 // Default value, always invalid 11 STATUS_UNSPECIFIED = 0; 12 // Asset is proposed and under vote 13 STATUS_PROPOSED = 1; 14 // Asset has been rejected from governance 15 STATUS_REJECTED = 2; 16 // Asset is pending listing from the bridge 17 STATUS_PENDING_LISTING = 3; 18 // Asset is fully usable in the network 19 STATUS_ENABLED = 4; 20 } 21 22 // Internal identifier of the asset. 23 string id = 1; 24 // Definition of the external source for this asset. 25 AssetDetails details = 2; 26 // Status of the asset. 27 Status status = 3; 28 } 29 30 // Vega representation of an external asset 31 message AssetDetails { 32 reserved 3; 33 34 // Name of the asset (e.g: Great British Pound). 35 string name = 1; 36 // Symbol of the asset (e.g: GBP). 37 string symbol = 2; 38 // Number of decimal / precision handled by this asset. 39 uint64 decimals = 4; 40 // Minimum economically meaningful amount in the asset. 41 string quantum = 5; 42 43 // Source of the asset 44 oneof source { 45 // Vega built-in asset. 46 BuiltinAsset builtin_asset = 101; 47 // Ethereum ERC20 asset. 48 ERC20 erc20 = 102; 49 } 50 } 51 52 // Vega internal asset 53 message BuiltinAsset { 54 // Maximum amount that can be requested by a party through the built-in asset faucet at a time. 55 string max_faucet_amount_mint = 1; 56 } 57 58 // ERC20 token based asset, living on the ethereum network 59 message ERC20 { 60 // Address of the contract for the token, on the ethereum network. 61 string contract_address = 1; 62 // Lifetime limits deposit per address 63 // note: this is a temporary measure that can be changed by governance. 64 string lifetime_limit = 2; 65 // Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. 66 // There’s no limit on the size of a withdrawal 67 // note: this is a temporary measure that can be changed by governance. 68 string withdraw_threshold = 3; 69 // Chain ID the asset originated from. 70 string chain_id = 4; 71 } 72 73 // Changes to apply on an existing asset. 74 message AssetDetailsUpdate { 75 reserved 1, 2, 3, 4; 76 // Minimum economically meaningful amount in the asset. 77 string quantum = 5; 78 79 // Source of the asset update 80 oneof source { 81 // Ethereum ERC20 asset update. 82 ERC20Update erc20 = 101; 83 } 84 } 85 86 message ERC20Update { 87 // Lifetime limits deposit per address. 88 // This will be interpreted against the asset decimals. 89 // note: this is a temporary measure that can be changed by governance. 90 string lifetime_limit = 1; 91 // Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. 92 // There’s no limit on the size of a withdrawal 93 // note: this is a temporary measure that can be changed by governance. 94 string withdraw_threshold = 2; 95 }