EnviDa Protocol
Search
⌃K

Market

Create

Description:

This function creates a new market.

Previous Steps:

Steps:

  1. 1.
    Call the market/create_market endpoint with the following request body:
  • seed: the seed of the account that will pay for the transaction.
  • market_id: the market identifier.

Example Input:

{
"seed": "//Alice",
"market_id": 1
}

Expected Output:

{
"market_id": 1,
"who": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"
}
  • who: the account address associated with the market.
  • market_id: the market identifier.

Create Market Rate

Description:

This function creates a new market rate.

Previous Steps:

Steps:

  1. 1.
    Call the market/create_market_rate endpoint with the following request body:
  • seed: the seed of the account that will pay for the transaction.
  • market_id: the market identifier
  • market_rate_id: the market rate identifier
  • rates:
    • rates: an array of the requirements that the transaction needs to fullfilled.
    • metadata: additional information about the rates.

Example Input:

{
"seed": "//Alice",
"market_id": 1,
"market_rate_id": 1,
"rates": {
"rates": [
{
"class_id": 2000,
"asset_id": 1,
"action": {
"Transfer": 1
},
"from": "Market",
"to": "Buyer"
},
{
"class_id": 2000,
"asset_id": 2,
"action": {
"Mint": 1
},
"from": "Market",
"to": "Buyer"
},
{
"class_id": 3000,
"asset_id": 1,
"action": {
"Has": [
"GreaterEqualThan",
5000
]
},
"from": "Buyer",
"to": "Market"
},
{
"class_id": 3000,
"asset_id": 2,
"action": {
"Transfer": 5
},
"from": "Buyer",
"to": "Market"
},
{
"class_id": 3000,
"asset_id": 3,
"action": {
"Burn": 50
},
"from": "Buyer",
"to": "Market"
},
{
"class_id": 4000,
"asset_id": 1,
"action": {
"Transfer": 2
},
"from": "Market",
"to": {
"Account": "//Alice"
}
},
{
"class_id": 4000,
"asset_id": 2,
"action": {
"Transfer": 1
},
"from": "Buyer",
"to": {
"Account": "//Alice"
}
}
],
"metadata": []
}
}

Expected Output:

{
"market_id": 1,
"market_rate_id": 1,
"who": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"
}
  • who: the account address associated with the market.
  • market_id: the market identifier.
  • market_rate_id: the market rate identifier.

Deposit Assets

Description:

This function deposits a given amount of assets in the market.

Previous Steps:

Steps:

  1. 1.
    Call the market/deposit_assets endpoint with the following request body:
  • seed: the seed of the account that will pay for the transaction.
  • market_id: the market identifier
  • market_rate_id: the market rate identifier
  • amount: the specific amount of assets to be deposited.

Example Input:

{
"seed": "//Alice",
"market_id": 1,
"market_rate_id": 1,
"amount": 1000
}

Expected Output:

{
"who": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",
"market_id": 1,
"market_rate_id": 1,
"amount": 1000,
"balances": [],
"success": true
}
  • who: the account address associated with the market.
  • market_id: the market identifier.
  • market_rate_id: the market rate identifier.
  • amount: the specific amount of assets deposited.
  • balances: an array of the results of each operation after the deposit
  • success: an indicator to see if the deposited was successful

Exchange Assets

Description:

This function deposits a given amount of assets in the market.

Previous Steps:

Steps:

  1. 1.
    Call the market/exchange_assets endpoint with the following request body:
  • seed: the seed of the account that will pay for the transaction.
  • market_id: the market identifier
  • market_rate_id: the market rate identifier
  • amount: the specific amount of assets to be deposited.

Example Input:

{
"seed": "//Bob",
"market_id": 1,
"market_rate_id": 1,
"amount": 1000
}

Expected Output:

{
"buyer": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty",
"market_id": 1,
"market_rate_id": 1,
"amount": 1000,
"balances": [
{
"rate": {
"class_id": 1,
"asset_id": 1,
"action": "Mint",
"amount": 1000,
"from": "Market",
"to": "Buyer"
},
"balance": 1000000
}
],
"success": true
}
  • buyer: the account address associated with the market.
  • market_id: the market identifier.
  • market_rate_id: the market rate identifier.
  • amount: the specific amount of assets deposited.
  • balances: an array of the results of each operation after the deposit
  • success: an indicator to see if the deposited was successful