# OPEN Platform API
# User API
# Get current user
To get current user use this code:
curl "https://api.openfuture.io/api/users/current"
-H "Authorization: OPEN_KEY"
Response:
{
"id": 1,
"credits": 0,
"openKeys": [{
"value": "op_pk_5ea7197b-af53-49a7-87e4-6fc41fa1e97c",
"enabled": true,
"expiredDate": "2018-08-07T12:05:08.293+0000"
}]
}
The endpoint gets current user.
# HTTP Request
GET https://api.openfuture.io/api/users/current
# User dto attributes:
Attribute | Type | Description |
---|---|---|
id | Long | The user`s id |
credits | Integer | The user`s balance in Ethereum |
openKeys | OpenKeyDto[] | The user`s openKeys |
# OpenKey API
A OpenKey can be presented through the following JSON:
{
"value": "op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472",
"enabled": true,
"expiredDate": "2018-08-07T12:05:08.293+0000"
}
# OpenKey dto attributes:
Attribute | Type | Description |
---|---|---|
value | String | The openKey`s value |
enabled | Boolean | The openKey is activated or deactivated |
expiredDate | Date | The date when openKey will expire |
# Generate token
To generate a new openKey use this code:
curl "https://api.openfuture.io/api/keys"
-X POST
-H "Authorization: OPEN_KEY"
-d '{
"expireDate": "2018-08-07T12:05:08.293+0000"
}'
Response is presented like of OpenKeyDto
The endpoint generates a new openKey.
# HTTP Request
POST https://api.openfuture.io/api/keys
# Get tokens
To get openKeys:
curl "https://api.openfuture.io/api/keys"
-H "Authorization: OPEN_KEY"
Response is presented like array of OpenKeyDto
The endpoint gets an array of openKeys.
# HTTP Request
GET https://api.openfuture.io/api/keys
# Disable token
To disable an openKey:
curl "https://api.openfuture.io/api/keys/op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472"
-X DELETE
-H "Authorization: OPEN_KEY"
Response is presented like OpenKeyDto
The endpoint disable an openKey.
# HTTP Request
DELETE https://api.openfuture.io/api/keys/op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472
# Transaction API
When performing any method of a smart contract Open Platform catches the corresponding event.
Events can be presented through the following JSONs:
# Events
{
"activated": false,
"type": "ACTIVATED_SCAFFOLD"
}
# Activate scaffold event attributes:
Attribute | Type | Description |
---|---|---|
activated | Boolean | Activated or deactivated scaffold |
type | EventType | The type of event |
{
"userAddress": "0x00000000000000000000000000000000",
"partnerShare": 10,
"type": "ADDED_SHARE_HOLDER"
}
# Added Share Holder event attributes:
Attribute | Type | Description |
---|---|---|
userAddress | String | The address of share holder |
partnerShare | BigInteger | Share of profits |
type | EventType | The type of event |
{
"userAddress": "0x00000000000000000000000000000000",
"type": "DELETED_SHARE_HOLDER"
}
# Deleted Share Holder event attributes:
Attribute | Type | Description |
---|---|---|
userAddress | String | The address of share holder |
type | EventType | The type of event |
{
"userAddress": "0x00000000000000000000000000000000",
"partnerShare": 10,
"type": "EDITED_SHARE_HOLDER"
}
# Edited Share Holder event attributes:
Attribute | Type | Description |
---|---|---|
userAddress | String | The address of share holder |
partnerShare | BigInteger | Share of profits |
type | EventType | The type of event |
{
"amount": 1000,
"toAddress": "0x00000000000000000000000000000000",
"type": "FUNDS_DEPOSITED"
}
# Funds Deposited event attributes:
Attribute | Type | Description |
---|---|---|
amount | BigInteger | The amount of money |
toAddress | String | The address to |
type | EventType | The type of event |
{
"userAddress": "0x00000000000000000000000000000000",
"amount": 1000,
"type": "PAYED_FOR_SHARE_HOLDER"
}
# Payed For Share Holder event attributes:
Attribute | Type | Description |
---|---|---|
userAddress | String | The address of share holder |
amount | BigInteger | The amount of money |
type | EventType | The type of event |
{
"customerAddress": "0x00000000000000000000000000000000",
"transactionAmount": 10,
"scaffoldTransactionIndex": 10,
"properties": {
"userId": 5,
"type": "male"
},
"type": "PAYMENT_COMPLETED"
}
# Payment Completed event attributes:
Attribute | Type | Description |
---|---|---|
customerAddress | String | The address of customer |
transactionAmount | BigInteger | The amount of money which customer puts |
scaffoldTransactionIndex | BigInteger | The number of transaction |
properties | MAP | The properties which customer created for scaffold |
type | EventType | The type of event |
# Event types:
- ACTIVATED_SCAFFOLD
- ADDED_SHARE_HOLDER
- EDITED_SHARE_HOLDER
- DELETED_SHARE_HOLDER
- FUNDS_DEPOSITED
- PAYED_FOR_SHARE_HOLDER
- PAYMENT_COMPLETED
# Get all transactions
To get all transactions use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/transactions"
-H "Authorization: OPEN_KEY"
Response:
{
"totalCount": 1,
"list": [
{
"scaffold": {
"address": "0x1c297f40beb075936d6dbe4b245b92736667ecb1",
"user": {
"id": 1,
"credits": 0,
"openKeys": [
{
"value": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
"enabled": true,
"expiredDate": null
}
]
},
"abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
"developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
"description": "any_description",
"fiatAmount": "123",
"currency": "USD",
"conversionAmount": "0.2139521163",
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
],
"enabled": false
},
"event": {
"userAddress": "0x00000000000000000000000000000000",
"amount": 1000,
"type": "PAYED_FOR_SHARE_HOLDER"
},
"type": "type of transaction"
}
]
}
The endpoint gets all transactions.
# HTTP Request
GET https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/transactions
# Response dto attributes:
Attribute | Type | Description |
---|---|---|
totalCount | Integer | The count of scaffolds |
list | TransactionDto[] | The scaffold`s transactions |
# Transaction dto attributes:
Attribute | Type | Description |
---|---|---|
scaffold | ScaffoldDto | The user`s scaffold |
event | Event | The event which came with transaction |
type | String | The type of transaction |
# Scaffold API
A Scaffold can be presented through the following JSON:
{
"address": "0x1c297f40beb075936d6dbe4b245b92738867ecb1",
"user": {
"id": 1,
"credits": 0,
"openKeys": [
{
"value": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
"enabled": true,
"expiredDate": null
}
]
},
"abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
"developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
"description": "any_description",
"fiatAmount": "123",
"currency": "USD",
"conversionAmount": "0.2139521163",
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
],
"enabled": false
}
The primary means of interacting with the Scaffolds is through the OPEN Developer Dashboard, it is also possible to make changes using the OPEN Platform API.
# Scaffold dto attributes:
Attribute | Type | Description |
---|---|---|
address | String | The scaffold`s address |
user | UserDto[] | The information about user |
abi | String | The scafford`s interface |
developerAddress | String | The address of developer`s wallet |
description | String | The scaffold`s description |
fiatAmount | String | The constant cost of scaffold |
currency | String | The scaffold`s currency |
conversionAmount | String | The dynamic cost of scaffold in Ethereum |
version | ScaffoldVersion | Version of scaffold : [V1, V2, ...] |
properties | ScaffoldPropertyDto[] | The scaffold`s properties |
enabled | Boolean | The scaffold is activated or deactivated |
# Scaffold property dto attributes:
Attribute | Type | Description |
---|---|---|
name | String | The property name |
type | String | The property type: [STRING, NUMBER, BOOLEN] |
defaultValue | String | The property value |
# Get all scaffolds
To get all scaffolds use this code:
curl "https://api.openfuture.io/api/scaffolds"
-H "Authorization: OPEN_KEY"
Response:
{
"totalCount": 1,
"list": [
{
"address": "0x1c297f40beb075936d6dbe4b245b92736667ecb1",
"user": {
"id": 1,
"credits": 0,
"openKeys": [
{
"value": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
"enabled": true,
"expiredDate": null
}
]
},
"abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
"developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
"description": "any_description",
"fiatAmount": "123",
"currency": "USD",
"conversionAmount": "0.2139521163",
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
],
"enabled": false
}
]
}
The endpoint gets all scaffolds.
# HTTP Request
GET https://api.openfuture.io/api/scaffolds
# Response dto attributes:
Attribute | Type | Description |
---|---|---|
totalCount | Integer | The count of scaffolds |
list | ScaffoldDto[] | The user`s scaffolds |
# Get scaffold
To get scaffold use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000"
-H "Authorization: OPEN_KEY"
Response is presented like ScaffoldDto
The endpoint gets user`s scaffold.
# HTTP Request
GET https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000
# Compile scaffold
To compile scaffold use this code:
curl "https://api.openfuture.io/api/scaffolds/doCompile"
-X POST
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
-d '{
"openKey": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
]
}'
Response:
{
"abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"property_name\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"property_name\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"property_name\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
"bin": "6...604052306007600061fffffffffffffffffffff80838360005b838110156102045780820151818401526020810190506101e9565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b5084810383528a818151815260200191508051906020019080838360005b8381101561026a57808201518184015260208101905061024f565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b50848103825289818151815260200191508051906020019080838360005b838110156102d05780820151818401526020810190506102b5565b50505050905090810190601f1680156102fd5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561031e57600080fd5b6103346004808035906020019091905050610f4a565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156103ef5780601f106103c4576101008083540402835291602001916103ef565b820191906000526020600020905b8154815290600101906020018083116103d257829003601f168201915b5050935050505060405180910390f35b341561040a57600080fd5b610412610f9c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610452578082015181840152602081019050610437565b50505050905090810190601f16801561047f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049857600080fd5b6104a061103a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e05780820151818401526020810190506104c5565b5050505090a81c09c91c7fffd70329d20d3908713c80029"
}
The endpoint compiles scaffold.
# HTTP Request
POST https://api.openfuture.io/api/scaffolds/doCompile
# Request attributes:
Attribute | Type | Description |
---|---|---|
openKey | String | The openKey`s value |
properties | ScaffoldPropertyDto[] | The scaffold`s properties |
# Response attributes:
Attribute | Type | Description |
---|---|---|
abi | String | The scaffold`s interface |
bin | String | The scaffold`s binary |
# Deploy scaffold
To deploy scaffold use this code:
curl "https://api.openfuture.io/api/scaffolds/doDeploy"
-X POST
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
-d '{
"openKey": "op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472",
"developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
"description": "any_description"
"fiatAmount": "123",
"currency": "USD",
"conversionAmount": 0.2139521163,
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
]
}'
Response is presented like ScaffoldDto
The endpoint deploys scaffold.
# HTTP Request
POST https://api.openfuture.io/api/scaffolds/doDeploy
# Request attributes:
Attribute | Type | Description |
---|---|---|
openKey | String | The openKey`s value |
developerAddress | String | The address of developer`s wallet |
description | String | The scaffold`s description |
fiatAmount | String | The constant cost of scaffold |
currency | String | The scaffold`s currency |
conversionAmount | String | The dynamic cost of scaffold in Ethereum |
properties | ScaffoldPropertyDto[] | The scaffold`s properties |
# Save scaffold
To save scaffold use this code:
curl "https://api.openfuture.io/api/scaffolds"
-X POST
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
-d '{
"address": "0x1c297f40beb075936d6dbe4b245b92738867ecb1",
"abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
"openKey": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
"developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
"description": "any_description",
"fiatAmount": "123",
"currency": "USD",
"conversionAmount": "0.2139521163",
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
]
}'
Response is presented like ScaffoldDto
The endpoint saves scaffold.
# HTTP Request
POST https://api.openfuture.io/api/scaffolds
# Request attributes:
Attribute | Type | Description |
---|---|---|
abi | String | The scaffold`s interface |
address | String | The scaffold`s address |
openKey | String | The openKey`s value |
developerAddress | String | The address of developer`s wallet |
description | String | The scaffold`s description |
fiatAmount | String | The constant cost of scaffold |
currency | String | The scaffold`s currency |
conversionAmount | String | The dynamic cost of scaffold in Ethereum |
properties | ScaffoldPropertyDto[] | The scaffold`s properties |
# Set webhook
To set webhook use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000"
-X PATCH
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
-d '{
"webHook": "https://zensoft.io"
}'
Response is presented like ScaffoldDto
The endpoint sets webhook.
# HTTP Request
PATCH https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000
# Request attributes:
Attribute | Type | Description |
---|---|---|
webHook | String | The url for webhook |
# Get scaffold`s summary
To get scaffold`s summary use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/summary"
-H "Authorization: OPEN_KEY"
Response:
{
"scaffold": {
"address": "0x46D8975abD0fF552e9c06d705Ce021e065BAc772",
"user": {
"id": 15,
"credits": 0,
"openKeys": [
{
"value": "op_pk_698d8d9f-af1a-4db7-9a29-d1536ea50a3b",
"enabled": true,
"expiredDate": null
},
{
"value": "op_pk_2da2a2fd-bac3-4a67-b251-b3a10e072074",
"enabled": true,
"expiredDate": null
}
],
"roles": [
{
"key": "ROLE_MASTER"
}
]
},
"abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"fiatCurrency\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"activated\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"}],\"name\":\"deleteShareHolder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"},{\"name\":\"_partnerShare\",\"type\":\"uint256\"}],\"name\":\"editShareHolder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"buy_currency\",\"type\":\"bytes32\"},{\"name\":\"user_id\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"shareHolderAddresses\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"},{\"name\":\"_partnerShare\",\"type\":\"uint256\"}],\"name\":\"addShareHolder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"buy_currency\",\"type\":\"bytes32\"},{\"name\":\"user_id\",\"type\":\"bytes32\"}],\"name\":\"payDeveloper\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getShareHolderAddressAndShareAtIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"partners\",\"outputs\":[{\"name\":\"share\",\"type\":\"uint256\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"}],\"name\":\"getHoldersShare\",\"outputs\":[{\"name\":\"partnerShare\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getShareHolderAtIndex\",\"outputs\":[{\"name\":\"shareHolderAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getShareHolderCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_platformAddress\",\"type\":\"address\"},{\"name\":\"_fiatAmount\",\"type\":\"bytes32\"},{\"name\":\"_fiatCurrency\",\"type\":\"bytes32\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"buy_currency\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"user_id\",\"type\":\"bytes32\"}],\"name\":\"PaymentCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_toAddress\",\"type\":\"address\"}],\"name\":\"FundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"ActivationScaffold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_shareHolderAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_share\",\"type\":\"uint256\"}],\"name\":\"ShareHolderEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_userAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"PaidForShareHolder\",\"type\":\"event\"}]",
"description": "test2",
"fiatAmount": "10",
"currency": "USD",
"conversionAmount": "0.020753993",
"developerAddress": "0x57E2FdEff9Be5af5Fe924f77a5404093C8561C7D",
"webHook": null,
"properties": [
{
"name": "buy_currency",
"type": "STRING",
"defaultValue": "+5"
},
{
"name": "user_id",
"type": "STRING",
"defaultValue": null
}
],
"version": "V2"
},
"transactionIndex": 0,
"tokenBalance": 0,
"enabled": false,
"shareHolders": []
}
The endpoint gets scaffold`s summary.
# HTTP Request
GET https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/summary
# Scaffold summary dto attributes:
Attribute | Type | Description |
---|---|---|
scaffold | ScaffoldDto[] | Information about the scaffold |
transactionIndex | Int | Transaction index |
tokenBalance | Int | Open Token count on the scaffold |
enabled | Boolean | The scaffold is enabled or disabled |
shareHolders | ShareHolderDto[] | Scaffold shareholders |
# Deactivate scaffold
To deactivate scaffold use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/doDeactivate"
-X DELETE
-H "Authorization: OPEN_KEY"
Response is presented like ScaffoldSummaryDto
The endpoint deactivates scaffold.
# HTTP Request
POST https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/doDeactivate
# Activate scaffold
To activate scaffold use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000"
-X POST
-H "Authorization: OPEN_KEY"
# Get quota
To get quota use this code:
curl "https://api.openfuture.io/api/scaffolds/quota"
-H "Authorization: OPEN_KEY"
Response:
{
"currentCount": 1,
"limitCount": 10
}
OPEN Platform has limit on the maximum possible count of deactivated scaffolds. The default is 10 scaffolds.
The endpoint gets quota.
# HTTP Request
GET https://api.openfuture.io/api/scaffolds/quota
# Scaffold quota dto attributes:
Attribute | Type | Description |
---|---|---|
currentCount | Long | The count of deactivated scaffolds |
limitCount | Long | The max possible count of deactivated scaffolds |
# Scaffold Templates API
# Get templates
To get all scaffold templates use this code:
curl "https://api.openfuture.io/api/scaffolds/templates"
-H "Authorization: OPEN_KEY"
Response:
{
"name":"name",
"developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
"description": "any_description",
"fiatAmount": "123",
"currency": "USD",
"conversionAmount": "0.2139521163",
"webHook":"http://localhost.com",
"properties": [
{
"name": "property_name",
"type": "STRING",
"defaultValue": "property_value"
}
]
}
The endpoint gets all scaffold templates.
# HTTP Request
GET https://api.openfuture.io/api/scaffolds/templates
# Response attributes:
Attribute | Type | Description |
---|---|---|
name | String | The openKey`s value |
developerAddress | String | The address of developer`s wallet |
description | String | The scaffold`s description |
fiatAmount | String | The constant cost of scaffold |
currency | String | The scaffold`s currency |
conversionAmount | String | The dynamic cost of scaffold in Ethereum |
webHook | String | The url for webhook |
properties | ScaffoldPropertyDto[] | The scaffold`s properties |
# Share Holder API
# Add Share Holder
To add share holder use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders"
-X POST
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
-d '{
"address": "0x1c297f40beb075936d6dbe4b245b92738867ecb1",
"percent": 30
}'
The endpoint adds new share holder.
# HTTP Request
POST https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders
# Request attributes:
Attribute | Type | Description |
---|---|---|
address | String | The address of wallet of share holder |
percent | String | The percentage of income |
# Update Share Holder
To update share holder use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}"
-X PUT
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
-d '{
"percent": 30
}'
The endpoint edits share holder.
# HTTP Request
PUT https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}
# Request attributes:
Attribute | Type | Description |
---|---|---|
percent | String | The percentage of income |
# Remove Share Holder
To delete share holder use this code:
curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}"
-X DELETE
-H "Authorization: OPEN_KEY"
-H "Content-Type: application/json"
The endpoint removes share holder.
# HTTP Request
DELETE https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}
# Errors
Exception response:
{
"status": 400,
"message": "Method Argument Not Valid",
"errors": [
{
"code": "Size"
"field": "password",
},
{
"code": "PasswordsEqualsConstraint"
}
]
}
The OPEN Platform API uses the following error format:
# Exception response:
The attributes:
Attribute | Type | Description |
---|---|---|
status | Integer | Http code |
message | String | Description error |
errors | ErrorDto[] | Array error objects |
# Error dto:
The attributes:
Attribute | Type | Description |
---|---|---|
code | String | Description error |
field | String | The name of field - optional |
# Error Statuses:
Error Status | Meaning |
---|---|
400 | Bad Request - Your request is invalid. |
401 | Unauthorized - Your API key is wrong. |
403 | Forbidden - You don`t have an appropriate roles. |
404 | Not Found - The specified OPEN Platform could not be found. |
405 | Method Not Allowed - You tried to access a OPEN Platform with an invalid method. |
406 | Not Acceptable - You requested a format that isn't json. |
409 | Conflict - Conflicts are in database |
500 | Internal Server Error - We had a problem with our server. Try again later. |
# Scaffold Versions
We support different scaffold versions.
Versions available:
- V1
- V2
Function permissions:
- Developer - the function can only be called by developer address, the owner of Scaffold. Set when contract is contract created.
- All - everyone can call function.
# Scaffold V1:
# Added
Function | Description | Permissions | Input | Output |
---|---|---|---|---|
payDeveloper | - Payments for a Scaffold at a price specified by the developer. The contract accepts only the exact Scaffold amount. When successful payment is made, Scaffold withdraw corresponding funds to a developer, shareholders, if exist, and fee to the platform. Corresponding events are also created | all | custom Scaffold parameters, witch set developer when create contract | no output |
addShareHolder | - Allows developer to add shareholders. Share will be paid when a customer pays the Scaffold. Event is also created. | developer | shareholder address, share in percents | no output |
editShareHolder | - Edit existing shareholder's share. Event is also created. | developer | shareholder address, new share in percents | no output |
deleteShareHolder | - Delete existing shareholder. Event is also created. | developer | shareholder address | no output |
getScaffoldSummary | - Get current state of Scaffold. Returns main Scaffold variables. | all | no input | fiat amount, fiat currency, scaffold amount, scaffold transaction index, developer address, OPEN token balance |
deactivate | - Deactivate Scaffold contract. Contract withdraw all OPEN tokens to developer address. Customers can not pay for Scaffold until activate contract again. Managing shareholders developer can in any status. Deactivating event is also created. | developer | no input | no output |
# Scaffold V2:
# Added
Function | Description | Permissions | Input | Output |
---|---|---|---|---|
activate | - Set Scaffold to active mode for allowing payments for contract. Need transfer 10 OPEN tokens to contract for activating. Activation flag is present in Scaffold summary. Also activating event is created. | developer | no input | no output |
# Changed
Function | Description | Permissions | Input | Output |
---|---|---|---|---|
getScaffoldSummary | - An activation flag has been added to display the current status of the contract. | all | no input | fiat amount, fiat currency, scaffold amount, scaffold transaction index, developer address, OPEN token balance, activated |