Market Proposal [Testnet Incentive / Fairground Governance games]

Market proposals / Sense Check
#######################

I propose the creation of the following (3x3) market matrix.
The trading pairs involved are:
tEURO/tUSDC [DONE]
Vega/tUSDC [TO-DO]
Vega/tBTC [TO-DO]

Markets Parameters

Market: Futures [spots to be investigated from docs later in case possible]
Base/Transction assets: [tEuro, Vega]
Quote/Denomination: [tUSDC, tBTC]

Settlement: in tUSDC

Markets names: [tEURO/tUSDC, Vega/tUSDC, Vega/tBTC]
Markets codes: [tEUROtUSDC, VegatUSDC, VegatBTC]

PS. Additional mandatory and optional parameters to be defined and decided upon.
Also the trading matrix market creation is not exhaustive. But it was worth mentioning to explain the motive and potential incentives associated with it.

Team: zwiftscka#4911 and building ti is still ongoing. Everyone interested is welcome to hop on.

The pairs are intending to provide zero market movement exposure for funds transfer into Vega platform. Also it is intended to cover FX exchange and some of the most liquid markets. Additionally, it is an indirect way to pump more liquidity into Vega token itself.

3 Likes

[How-To] Assets market data:

  1. cd ./sample-api-scripts

  2. source credentials [you need to load the data in credentials, if it is your first time, you go there and fill your credentials used for wallet creation]
    You can control variables are set by example, run, echo $WALLET_NAME

3.now run the python script for fetching and printing the asset of interest.
You should know, the script default fetches and prints all assets and at the end presents the default search tDAI. Meaning, you do not have to change script, just read your asset of interest from the output

1 Like

All potential settlement assets market data:

$ python ./get-assets/get-assets.py
Assets:
{
  "assets": [
    {
      "details": {
        "builtinAsset": {
          "maxFaucetAmountMint": "5000000000"
        },
        "decimals": "5",
        "name": "XYZ (\u03b1 alpha)",
        "quantum": "1",
        "symbol": "XYZalpha",
        "totalSupply": "10000000000000000000000000000"
      },
      "id": "XYZalpha",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "builtinAsset": {
          "maxFaucetAmountMint": "100000000000"
        },
        "decimals": "5",
        "name": "XYZ (\u03b2 beta)",
        "quantum": "1",
        "symbol": "XYZbeta",
        "totalSupply": "1000000000"
      },
      "id": "XYZbeta",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "builtinAsset": {
          "maxFaucetAmountMint": "100000000000"
        },
        "decimals": "5",
        "name": "XYZ (\u03b4 delta)",
        "quantum": "1",
        "symbol": "XYZdelta",
        "totalSupply": "1000000000"
      },
      "id": "XYZdelta",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "builtinAsset": {
          "maxFaucetAmountMint": "100000000000"
        },
        "decimals": "5",
        "name": "XYZ (\u03b5 epsilon)",
        "quantum": "1",
        "symbol": "XYZepsilon",
        "totalSupply": "1000000000"
      },
      "id": "XYZepsilon",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "builtinAsset": {
          "maxFaucetAmountMint": "100000000000"
        },
        "decimals": "5",
        "name": "XYZ (\u03b3 gamma)",
        "quantum": "1",
        "symbol": "XYZgamma",
        "totalSupply": "1000000000"
      },
      "id": "XYZgamma",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0x920B2375BCAC8cCDfDEFD74426c55C48e0304e4F",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Tim Token (Vega)",
        "quantum": "1",
        "symbol": "TIM",
        "totalSupply": "1000000000000000000000000000"
      },
      "id": "2282ffc06a557173d297739305cc69f6444cdbbb1089df7d9aef32bbfd735ba1",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0xf700Ce952B6EA11c01b43e5579C6D63286ff8CF0",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Taker Reward Token (Vega)",
        "quantum": "1",
        "symbol": "TAK",
        "totalSupply": "1000000000000000000000000000"
      },
      "id": "449dbfb66e7a444c485b4fdc77ddc6bbf81abbf7c8e247ac299c25e9557b99cf",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "5",
        "erc20": {
          "contractAddress": "0xC912F059b4eCCEF6C969B2E0e2544A1A2581C094",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "tBTC TEST",
        "quantum": "1",
        "symbol": "tBTC",
        "totalSupply": "21000000"
      },
      "id": "5cfa87844724df6069b94e4c8a6f03af21907d7bc251593d08e4251043ee9f7c",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "5",
        "erc20": {
          "contractAddress": "0xF4A2bcC43D24D14C4189Ef45fCf681E870675333",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "tDAI TEST",
        "quantum": "1",
        "symbol": "tDAI",
        "totalSupply": "21000000"
      },
      "id": "6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "5",
        "erc20": {
          "contractAddress": "0xD52b6C949E35A6E4C64b987B1B192A8608931a7b",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "tEURO TEST",
        "quantum": "1",
        "symbol": "tEURO",
        "totalSupply": "21000000"
      },
      "id": "8b52d4a3a4b0ffe733cddbc2b67be273816cfeb6ca4c8b339bac03ffba08e4e4",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0xD2f21E37e78dD91b60FE3dD74A112e1a53b33057",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Liquidity Reward Token (Vega)",
        "quantum": "1",
        "symbol": "LIQ",
        "totalSupply": "1000000200000000000000000000"
      },
      "id": "98032ba34576f8012de9b822e1da3ed4b6223a4f4e05f573002d441ffb4bf314",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "5",
        "erc20": {
          "contractAddress": "0x3773A5c7aFF77e014cBF067dd31801b4C6dc4136",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "tUSDC TEST",
        "quantum": "1",
        "symbol": "tUSDC",
        "totalSupply": "21000000"
      },
      "id": "993ed98f4f770d91a796faab1738551193ba45c62341d20597df70fea6704ede",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0x5a16941cca2Db4AcdFC28Ac77a3e9652Fdf102e1",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Steve Token (Vega)",
        "quantum": "1",
        "symbol": "STE",
        "totalSupply": "1000000000000000000000000000"
      },
      "id": "ba98cdeeec849a053e60cc03808e91e90d9d2e62425c76a590617b95ad41a066",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0x5E4b9aDA947130Fc320a144cd22bC1641e5c9d81",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Woz Token (Vega)",
        "quantum": "1",
        "symbol": "WOZ",
        "totalSupply": "1000000000000000000000000000"
      },
      "id": "ce3fb1ab0717f0adbce019d7aef53aacdbadefe2d30ad1647b55f134d4072c90",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0x8ec701DA58394F5d2c8C2873D31039454D5845C1",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Maker Reward Token (Vega)",
        "quantum": "1",
        "symbol": "MAK",
        "totalSupply": "1000000000000000000000000000"
      },
      "id": "ebcd94151ae1f0d39a4bde3b21a9c7ae81a80ea4352fb075a92e07608d9c953d",
      "status": "STATUS_ENABLED"
    },
    {
      "details": {
        "decimals": "18",
        "erc20": {
          "contractAddress": "0xDc335304979D378255015c33AbFf09B60c31EBAb",
          "lifetimeLimit": "0",
          "withdrawThreshold": "0"
        },
        "name": "Vega (testnet)",
        "quantum": "1",
        "symbol": "VEGA",
        "totalSupply": "64999723000000000000000000"
      },
      "id": "fc7fd956078fb1fc9db5c19b88f0874c4299b2a7639ad05a47a28c0aef291b55",
      "status": "STATUS_ENABLED"
    }
  ]
}

Found an asset with symbol tDAI:
6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61


Asset by ID:
{
  "asset": {
    "details": {
      "decimals": "5",
      "erc20": {
        "contractAddress": "0xF4A2bcC43D24D14C4189Ef45fCf681E870675333",
        "lifetimeLimit": "0",
        "withdrawThreshold": "0"
      },
      "name": "tDAI TEST",
      "quantum": "1",
      "symbol": "tDAI",
      "totalSupply": "21000000"
    },
    "id": "6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61",
    "status": "STATUS_ENABLED"
  }
}

[NB]

I may be running an older version (older commit ) of the scripts locally.
In case you are missing the rationale attribute in the proposal submission, just add,
“rationale”: {
“description”: “New market BTCDAI”
},
to “proposalSubmission”: {}

There are so much going on here

still a lot to come.

I will post what will make and try to make everyone be able to replicate what is going on

1 Like

Okay, will love o see what’s under the hood. :blush:

Is there need to list all settlement assets in Vega?
We should rather focus on the Settlement asset we are proposing Like the tUSDC as proposed.

i am using tUSDC or intending to. The asset does already exist. The market data is listed above. Also listed above how to retrieve it and everything in there

I am working right now on the formalisation. But also produce guides in meanwhile for everyone to get enough insight about what going on and be able to reproduce it

Wow

A lot to deal with.
This looks different from the other proposals?

Can’t understand a thing

1 Like

just bare with me. I need some more time, as i am preparing final things. I need to test them myself. Then i will post further guides, and template. And i assure you will be able to reproduce, run and learn by doing it all. Next time you will be helping others

1 Like

Sure, i will be waiting on your propose to take shape. Thanks.

Are you the only one working on this proposal ?
How can I contribute?

yes!! at the moment. I have decided to start already and then let people hop on while running.
I am testing right now the tEURO/tUSDC. i will post everything later. I am fixing some errors. had at least 4, got 3 out of the way. And i am working on 1.

I have been screening three sources for code. I am trying to have final working version. The script i am going to post, will be a template for everyone to run. Then i will be helping others execute. By the time i will appreciate, feedbacks and we can move together towards voting and the other steps

also i am running everything locally on VScode, which is a little bit harder.
But you can the same on updated versions of the scripts on gitcode linked in the documentations (i will share as well). And be much more comfortable :smiley:

Update#00

The code runs without any error.
The tx gets signed and while awaiting the blockchain approval it gets rejected.
It is now on the netrok end and not the code itself.

I will hit discord and get feedbacks to forward.


Signed market proposal and sent to Vega
Waiting for blockchain…
Your proposal has been STATE_REJECTED!
Due to: PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET
Further details: party general account missing when trying to create a bond account


Update#01

I think i found the problem.
The settlement field in the code reads the asset using the variable “found_asset_id”
{
“quoteName”: “tUSDC”,
“settlementAsset”: found_asset_id,
}

The code uses tDAI as an placeholder example.
I am going to change it to my settlement tUSDC and make the “find assets” section fetch tUSDC into the “found_asset_id” variable

Update#02 [Proposal is here]

Please vote and complete 1 task already
You do have 3 days to vote. Please ask other people you know to finish the incentive voting step

Proposal page:

ps. Do not forget to faucet Vega on Ropsten and deposit it on Vega network to be able to vote. If depositing is not enough, then go to https://token.fairground.wtf
and associate some of your deposited Vega. then you are ready to go for sure

Next post is about, what you need to do to get a formal proposal and get it on the chain. Any questions will be welcome. I invite so many people to start the journey. Get your hand dirty. Test and get used to the power of Vega.