提交 36f05168 编写于 作者: W Wang Zhi

add hddlock contract

上级 0cb90831
......@@ -32,6 +32,7 @@ add_subdirectory(payloadless)
add_subdirectory(integration_test)
add_subdirectory(hddpool)
add_subdirectory(hdddeposit)
add_subdirectory(hddlock)
file(GLOB SKELETONS RELATIVE ${CMAKE_SOURCE_DIR}/contracts "skeleton/*")
......
file(GLOB ABI_FILES "*.abi")
configure_file("${ABI_FILES}" "${CMAKE_CURRENT_BINARY_DIR}" COPYONLY)
add_wast_executable(TARGET hddlock
INCLUDE_FOLDERS ${STANDARD_INCLUDE_FOLDERS}
LIBRARIES libc++ libc eosiolib
DESTINATION_FOLDER ${CMAKE_CURRENT_BINARY_DIR}
)
{
"version": "eosio::abi/1.0",
"types": [{
"new_type_name": "account_name",
"type": "name"
}],
"structs": [
{
"name": "init",
"base": "",
"fields": [
]
},
{
"name": "addrule",
"base": "",
"fields": [
{"name":"id", "type":"uint64"},
{"name":"times", "type":"uint64[]"},
{"name":"percentage", "type":"uint8[]"},
{"name":"desc", "type":"string"}
]
}
],
"actions": [
{
"name": "init",
"type": "init",
"ricardian_contract": ""
},
{
"name": "addrule",
"type": "addrule",
"ricardian_contract": ""
}
],
"tables": [
],
"ricardian_clauses": [],
"variants": []
}
\ No newline at end of file
#include "hddlock.hpp"
#include <eosiolib/action.hpp>
#include <eosiolib/chain.h>
#include <eosiolib/symbol.hpp>
#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>
#include <eosiolib/serialize.hpp>
#include <eosiolib/multi_index.hpp>
//#include <eosio.token/eosio.token.hpp>
//#include <eosio.system/eosio.system.hpp>
using namespace eosio;
void hddlock::init() {
}
void hddlock::addrule(uint64_t id, std::vector<uint64_t>& times, std::vector<uint8_t>& percentage, std::string& desc) {
eosio_assert(times.size() >= 2, "invalidate size of times array");
eosio_assert(times.size() == percentage.size(), "times and percentage in different size.");
}
EOSIO_ABI( hddlock, (init)(addrule))
#include <eosiolib/eosio.hpp>
#include <eosiolib/asset.hpp>
#include <eosiolib/singleton.hpp>
#include <eosiolib/symbol.hpp>
using eosio::name;
using eosio::asset;
using eosio::multi_index;
using eosio::indexed_by;
using eosio::const_mem_fun;
class hddlock : public eosio::contract {
public:
using contract::contract;
void init();
void addrule(uint64_t id, std::vector<uint64_t>& times, std::vector<uint8_t>& percentage, std::string& desc);
private:
struct lockrule {
uint64_t ruleid;
uint64_t primary_key()const { return ruleid; }
};
typedef multi_index<N(lockrule), lockrule> lockrule_table;
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册