Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
c66156f3
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c66156f3
编写于
9月 13, 2017
作者:
D
Daniel Larimer
提交者:
GitHub
9月 13, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #424 from brianjohnson5972/215_native_abi_serialization
Native ABI Serialization Unit Tests
上级
a21f2d20
abf65ff7
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
585 addition
and
27 deletion
+585
-27
libraries/native_contract/include/eos/native_contract/native_contract_chain_initializer.hpp
...eos/native_contract/native_contract_chain_initializer.hpp
+2
-0
libraries/native_contract/native_contract_chain_initializer.cpp
...ies/native_contract/native_contract_chain_initializer.cpp
+34
-27
tests/tests/abi_tests.cpp
tests/tests/abi_tests.cpp
+549
-0
未找到文件。
libraries/native_contract/include/eos/native_contract/native_contract_chain_initializer.hpp
浏览文件 @
c66156f3
...
...
@@ -19,6 +19,8 @@ public:
virtual
void
register_types
(
chain
::
chain_controller
&
chain
,
chainbase
::
database
&
db
)
override
;
virtual
std
::
vector
<
chain
::
Message
>
prepare_database
(
chain
::
chain_controller
&
chain
,
chainbase
::
database
&
db
)
override
;
static
types
::
Abi
eos_contract_abi
();
};
}
}
// namespace eos::native_contract
...
...
libraries/native_contract/native_contract_chain_initializer.cpp
浏览文件 @
c66156f3
...
...
@@ -54,6 +54,39 @@ void native_contract_chain_initializer::register_types(chain_controller& chain,
SET_APP_HANDLER
(
eos
,
eos
,
unlinkauth
);
}
types
::
Abi
native_contract_chain_initializer
::
eos_contract_abi
()
{
types
::
Abi
eos_abi
;
eos_abi
.
types
.
push_back
(
types
::
TypeDef
{
"AccountName"
,
"Name"
}
);
eos_abi
.
types
.
push_back
(
types
::
TypeDef
{
"ShareType"
,
"Int64"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"transfer"
),
"transfer"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"lock"
),
"lock"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"unlock"
),
"unlock"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"claim"
),
"claim"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"okproducer"
),
"okproducer"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"setproducer"
),
"setproducer"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"setproxy"
),
"setproxy"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"linkauth"
),
"linkauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"unlinkauth"
),
"unlinkauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"updateauth"
),
"updateauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"deleteauth"
),
"deleteauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"newaccount"
),
"newaccount"
}
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
transfer
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
lock
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
unlock
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
claim
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
okproducer
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
setproducer
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
setproxy
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
updateauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
linkauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
unlinkauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
deleteauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
newaccount
>::
type
()
);
return
eos_abi
;
}
std
::
vector
<
chain
::
Message
>
native_contract_chain_initializer
::
prepare_database
(
chain_controller
&
chain
,
chainbase
::
database
&
db
)
{
std
::
vector
<
chain
::
Message
>
messages_to_process
;
...
...
@@ -68,33 +101,7 @@ std::vector<chain::Message> native_contract_chain_initializer::prepare_database(
a
.
creation_date
=
genesis
.
initial_timestamp
;
if
(
name
==
config
::
EosContractName
)
{
types
::
Abi
eos_abi
;
eos_abi
.
types
.
push_back
(
types
::
TypeDef
{
"AccountName"
,
"Name"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"transfer"
),
"transfer"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"lock"
),
"lock"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"unlock"
),
"unlock"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"claim"
),
"claim"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"okproducer"
),
"okproducer"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"setproducer"
),
"setproducer"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"setproxy"
),
"setproxy"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"linkauth"
),
"linkauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"unlinkauth"
),
"unlinkauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"updateauth"
),
"updateauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"deleteauth"
),
"deleteauth"
}
);
eos_abi
.
actions
.
push_back
(
types
::
Action
{
Name
(
"newaccount"
),
"newaccount"
}
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
transfer
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
lock
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
unlock
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
claim
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
okproducer
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
setproducer
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
setproxy
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
updateauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
linkauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
unlinkauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
deleteauth
>::
type
()
);
eos_abi
.
structs
.
push_back
(
eos
::
types
::
GetStruct
<
eos
::
types
::
newaccount
>::
type
()
);
a
.
set_abi
(
eos_abi
);
a
.
set_abi
(
eos_contract_abi
());
}
});
db
.
create
<
native
::
eos
::
BalanceObject
>
([
&
name
,
liquidBalance
](
auto
&
b
)
{
...
...
tests/tests/abi_tests.cpp
浏览文件 @
c66156f3
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录