Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
4e9e7064
Commit
4e9e7064
authored
Dec 10, 2018
by
heyubin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add by hyb for bug
parent
d23433af
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
304 additions
and
198 deletions
+304
-198
multisig.go
plugin/dapp/multisig/commands/multisig.go
+2
-3
action.go
plugin/dapp/multisig/executor/action.go
+3
-3
exec.go
plugin/dapp/multisig/executor/exec.go
+2
-2
exec_del_local.go
plugin/dapp/multisig/executor/exec_del_local.go
+2
-2
exec_local.go
plugin/dapp/multisig/executor/exec_local.go
+2
-2
exec_test.go
plugin/dapp/multisig/executor/exec_test.go
+14
-11
multisig.go
plugin/dapp/multisig/executor/multisig.go
+30
-12
multisig.proto
plugin/dapp/multisig/proto/multisig.proto
+14
-4
jrpc_channel_test.go
plugin/dapp/multisig/rpc/jrpc_channel_test.go
+2
-2
rpc.go
plugin/dapp/multisig/rpc/rpc.go
+2
-2
multisig.pb.go
plugin/dapp/multisig/types/multisig.pb.go
+231
-155
No files found.
plugin/dapp/multisig/commands/multisig.go
View file @
4e9e7064
...
...
@@ -516,12 +516,11 @@ func createMultiSigAccTransferIn(cmd *cobra.Command, args []string) {
fmt
.
Fprintln
(
os
.
Stderr
,
types
.
ErrAmount
)
return
}
params
:=
&
mty
.
MultiSigExecTransfer
{
params
:=
&
mty
.
MultiSigExecTransfer
To
{
Symbol
:
symbol
,
Amount
:
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
,
Note
:
note
,
Execname
:
execer
,
From
:
""
,
To
:
to
,
}
var
res
string
...
...
@@ -573,7 +572,7 @@ func createMultiSigAccTransferOut(cmd *cobra.Command, args []string) {
fmt
.
Fprintln
(
os
.
Stderr
,
types
.
ErrAmount
)
return
}
params
:=
&
mty
.
MultiSigExecTransfer
{
params
:=
&
mty
.
MultiSigExecTransfer
From
{
Symbol
:
symbol
,
Amount
:
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
,
Note
:
note
,
...
...
plugin/dapp/multisig/executor/action.go
View file @
4e9e7064
...
...
@@ -201,7 +201,7 @@ func (a *action) MultiSigOwnerOperate(AccOwnerOperate *mty.MultiSigOwnerOperate)
//MultiSigExecTransferFrom 首先判断转账的额度是否大于每日限量,小于就直接执行交易,调用ExecTransferFrozen进行转账
//大于每日限量只需要将交易信息记录
//合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
func
(
a
*
action
)
MultiSigExecTransferFrom
(
multiSigAccTransfer
*
mty
.
MultiSigExecTransfer
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
action
)
MultiSigExecTransferFrom
(
multiSigAccTransfer
*
mty
.
MultiSigExecTransfer
From
)
(
*
types
.
Receipt
,
error
)
{
//首先从statedb中获取MultiSigAccAddr的状态信息
multiSigAccAddr
:=
multiSigAccTransfer
.
From
...
...
@@ -247,7 +247,7 @@ func (a *action) MultiSigExecTransferFrom(multiSigAccTransfer *mty.MultiSigExecT
//MultiSigExecTransferTo 将合约中外部账户转账上的Execname.Symbol资产转到多重签名账户上,from:Addr --->to:multiSigAddr
// from地址使用tx中的签名的地址,payload中from地址不使用在 TransferTo交易中
func
(
a
*
action
)
MultiSigExecTransferTo
(
execTransfer
*
mty
.
MultiSigExecTransfer
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
action
)
MultiSigExecTransferTo
(
execTransfer
*
mty
.
MultiSigExecTransfer
To
)
(
*
types
.
Receipt
,
error
)
{
//from地址校验必须不是多重签名账户地址
multiSigAccFrom
,
_
:=
getMultiSigAccFromDb
(
a
.
db
,
a
.
fromaddr
)
...
...
@@ -728,7 +728,7 @@ func (a *action) receiptMultiSigTx(multiSigTx *mty.MultiSigTx, owner *mty.Owner,
}
//确认并执行转账交易:区分submitTx和confirmtx阶段。
func
(
a
*
action
)
executeTransferTx
(
multiSigAcc
*
mty
.
MultiSig
,
newMultiSigTx
*
mty
.
MultiSigTx
,
transfer
*
mty
.
MultiSigExecTransfer
,
confOwner
*
mty
.
Owner
,
subOrConfirm
bool
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
action
)
executeTransferTx
(
multiSigAcc
*
mty
.
MultiSig
,
newMultiSigTx
*
mty
.
MultiSigTx
,
transfer
*
mty
.
MultiSigExecTransfer
From
,
confOwner
*
mty
.
Owner
,
subOrConfirm
bool
)
(
*
types
.
Receipt
,
error
)
{
//获取对应资产的每日限额信息
var
findindex
int
...
...
plugin/dapp/multisig/executor/exec.go
View file @
4e9e7064
...
...
@@ -34,13 +34,13 @@ func (m *MultiSig) Exec_MultiSigConfirmTx(payload *mty.MultiSigConfirmTx, tx *ty
}
//Exec_MultiSigExecTransferTo 合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
func
(
m
*
MultiSig
)
Exec_MultiSigExecTransferTo
(
payload
*
mty
.
MultiSigExecTransfer
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
func
(
m
*
MultiSig
)
Exec_MultiSigExecTransferTo
(
payload
*
mty
.
MultiSigExecTransfer
To
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
m
,
tx
,
int32
(
index
))
return
action
.
MultiSigExecTransferTo
(
payload
)
}
//Exec_MultiSigExecTransferFrom 合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
func
(
m
*
MultiSig
)
Exec_MultiSigExecTransferFrom
(
payload
*
mty
.
MultiSigExecTransfer
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
func
(
m
*
MultiSig
)
Exec_MultiSigExecTransferFrom
(
payload
*
mty
.
MultiSigExecTransfer
From
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
m
,
tx
,
int32
(
index
))
return
action
.
MultiSigExecTransferFrom
(
payload
)
}
plugin/dapp/multisig/executor/exec_del_local.go
View file @
4e9e7064
...
...
@@ -62,7 +62,7 @@ func (m *MultiSig) ExecDelLocal_MultiSigConfirmTx(payload *mty.MultiSigConfirmTx
}
//ExecDelLocal_MultiSigExecTransferTo 合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
func
(
m
*
MultiSig
)
ExecDelLocal_MultiSigExecTransferTo
(
payload
*
mty
.
MultiSigExecTransfer
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
m
*
MultiSig
)
ExecDelLocal_MultiSigExecTransferTo
(
payload
*
mty
.
MultiSigExecTransfer
To
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
&
types
.
LocalDBSet
{},
nil
}
...
...
@@ -75,7 +75,7 @@ func (m *MultiSig) ExecDelLocal_MultiSigExecTransferTo(payload *mty.MultiSigExec
}
//ExecDelLocal_MultiSigExecTransferFrom 合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
func
(
m
*
MultiSig
)
ExecDelLocal_MultiSigExecTransferFrom
(
payload
*
mty
.
MultiSigExecTransfer
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
m
*
MultiSig
)
ExecDelLocal_MultiSigExecTransferFrom
(
payload
*
mty
.
MultiSigExecTransfer
From
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
&
types
.
LocalDBSet
{},
nil
}
...
...
plugin/dapp/multisig/executor/exec_local.go
View file @
4e9e7064
...
...
@@ -65,7 +65,7 @@ func (m *MultiSig) ExecLocal_MultiSigConfirmTx(payload *mty.MultiSigConfirmTx, t
}
//ExecLocal_MultiSigExecTransferTo 合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
func
(
m
*
MultiSig
)
ExecLocal_MultiSigExecTransferTo
(
payload
*
mty
.
MultiSigExecTransfer
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
m
*
MultiSig
)
ExecLocal_MultiSigExecTransferTo
(
payload
*
mty
.
MultiSigExecTransfer
To
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
&
types
.
LocalDBSet
{},
nil
}
...
...
@@ -79,7 +79,7 @@ func (m *MultiSig) ExecLocal_MultiSigExecTransferTo(payload *mty.MultiSigExecTra
}
//ExecLocal_MultiSigExecTransferFrom 合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
func
(
m
*
MultiSig
)
ExecLocal_MultiSigExecTransferFrom
(
payload
*
mty
.
MultiSigExecTransfer
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
m
*
MultiSig
)
ExecLocal_MultiSigExecTransferFrom
(
payload
*
mty
.
MultiSigExecTransfer
From
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
&
types
.
LocalDBSet
{},
nil
}
...
...
plugin/dapp/multisig/executor/exec_test.go
View file @
4e9e7064
...
...
@@ -764,16 +764,15 @@ func testMultiSigAccConfirmTx(t *testing.T, driver drivers.Driver, env execEnv,
//合约内转账到多重签名账户
func
testMultiSigAccExecTransferTo
(
t
*
testing
.
T
,
driver
drivers
.
Driver
,
env
execEnv
,
multiSigAddr
string
)
{
params
:=
&
mty
.
MultiSigExecTransfer
{
params
:=
&
mty
.
MultiSigExecTransfer
To
{
Symbol
:
Symbol
,
Amount
:
InAmount
,
Note
:
"testMultiSigAccExecTransferTo"
,
Execname
:
Asset
,
From
:
AddrD
,
To
:
multiSigAddr
,
}
tx
,
_
:=
multiSigExecTransfer
(
params
,
false
)
tx
,
_
:=
multiSigExecTransfer
To
(
params
,
false
)
tx
,
_
=
signTx
(
tx
,
PrivKeyD
)
receipt
,
err
:=
driver
.
Exec
(
tx
,
env
.
index
)
...
...
@@ -837,7 +836,7 @@ func testMultiSigAccExecTransferTo(t *testing.T, driver drivers.Driver, env exec
//合约内转账到多重签名账户
func
testMultiSigAccExecTransferFrom
(
t
*
testing
.
T
,
driver
drivers
.
Driver
,
env
execEnv
,
multiSigAddr
string
)
{
params
:=
&
mty
.
MultiSigExecTransfer
{
params
:=
&
mty
.
MultiSigExecTransfer
From
{
Symbol
:
Symbol
,
Amount
:
OutAmount
,
Note
:
"testMultiSigAccExecTransferFrom"
,
...
...
@@ -846,7 +845,7 @@ func testMultiSigAccExecTransferFrom(t *testing.T, driver drivers.Driver, env ex
To
:
AddrD
,
}
tx
,
_
:=
multiSigExecTransfer
(
params
,
true
)
tx
,
_
:=
multiSigExecTransfer
From
(
params
,
true
)
tx
,
_
=
signTx
(
tx
,
PrivKeyB
)
receipt
,
err
:=
driver
.
Exec
(
tx
,
env
.
index
)
...
...
@@ -993,20 +992,24 @@ func multiSigConfirmTx(parm *mty.MultiSigConfirmTx) (*types.Transaction, error)
}
return
types
.
CreateFormatTx
(
types
.
ExecName
(
mty
.
MultiSigX
),
types
.
Encode
(
multiSig
))
}
func
multiSigExecTransfer
(
parm
*
mty
.
MultiSigExecTransfer
,
fromOrTo
bool
)
(
*
types
.
Transaction
,
error
)
{
func
multiSigExecTransfer
To
(
parm
*
mty
.
MultiSigExecTransferTo
,
fromOrTo
bool
)
(
*
types
.
Transaction
,
error
)
{
if
parm
==
nil
{
return
nil
,
types
.
ErrInvalidParam
}
if
fromOrTo
{
multiSig
:=
&
mty
.
MultiSigAction
{
Ty
:
mty
.
ActionMultiSigExecTransferFrom
,
Value
:
&
mty
.
MultiSigAction_MultiSigExecTransferFrom
{
MultiSigExecTransferFrom
:
parm
},
Ty
:
mty
.
ActionMultiSigExecTransferTo
,
Value
:
&
mty
.
MultiSigAction_MultiSigExecTransferTo
{
MultiSigExecTransferTo
:
parm
},
}
return
types
.
CreateFormatTx
(
types
.
ExecName
(
mty
.
MultiSigX
),
types
.
Encode
(
multiSig
))
}
func
multiSigExecTransferFrom
(
parm
*
mty
.
MultiSigExecTransferFrom
,
fromOrTo
bool
)
(
*
types
.
Transaction
,
error
)
{
if
parm
==
nil
{
return
nil
,
types
.
ErrInvalidParam
}
multiSig
:=
&
mty
.
MultiSigAction
{
Ty
:
mty
.
ActionMultiSigExecTransfer
To
,
Value
:
&
mty
.
MultiSigAction_MultiSigExecTransfer
To
{
MultiSigExecTransferTo
:
parm
},
Ty
:
mty
.
ActionMultiSigExecTransfer
From
,
Value
:
&
mty
.
MultiSigAction_MultiSigExecTransfer
From
{
MultiSigExecTransferFrom
:
parm
},
}
return
types
.
CreateFormatTx
(
types
.
ExecName
(
mty
.
MultiSigX
),
types
.
Encode
(
multiSig
))
}
plugin/dapp/multisig/executor/multisig.go
View file @
4e9e7064
...
...
@@ -104,14 +104,23 @@ func (m *MultiSig) CheckTx(tx *types.Transaction, index int) error {
return
nil
}
//MultiSigExecTransfer 交易的检测
if
ato
,
ok
:=
payload
.
(
*
mty
.
MultiSigExecTransfer
);
ok
{
//MultiSigExecTransfer
To
交易的检测
if
ato
,
ok
:=
payload
.
(
*
mty
.
MultiSigExecTransfer
To
);
ok
{
if
err
:=
address
.
CheckAddress
(
ato
.
GetTo
());
err
!=
nil
{
return
types
.
ErrInvalidAddress
}
//assets check
return
mty
.
IsAssetsInvalid
(
ato
.
GetExecname
(),
ato
.
GetSymbol
())
}
//MultiSigExecTransferFrom 交易的检测
if
ato
,
ok
:=
payload
.
(
*
mty
.
MultiSigExecTransferFrom
);
ok
{
if
err
:=
address
.
CheckAddress
(
ato
.
GetTo
());
err
!=
nil
{
return
types
.
ErrInvalidAddress
}
//assets check
return
mty
.
IsAssetsInvalid
(
ato
.
GetExecname
(),
ato
.
GetSymbol
())
}
return
nil
}
func
checkAccountCreateTx
(
ato
*
mty
.
MultiSigAccCreate
)
error
{
...
...
@@ -377,16 +386,26 @@ func (m *MultiSig) saveMultiSigTransfer(tx *types.Transaction, SubmitOrConfirm,
if
err
!=
nil
{
panic
(
err
)
}
multiSigTransfer
:=
&
mty
.
MultiSigExecTransfer
{}
var
to
string
var
execname
string
var
symbol
string
var
amount
int64
//addr-->multiSigAccAddr
//multiSigAccAddr-->addr
if
SubmitOrConfirm
{
if
action
.
Ty
==
mty
.
ActionMultiSigExecTransferTo
&&
action
.
GetMultiSigExecTransferTo
()
!=
nil
{
multiSigTransfer
=
action
.
GetMultiSigExecTransferTo
()
tx
:=
action
.
GetMultiSigExecTransferTo
()
to
=
tx
.
To
execname
=
tx
.
Execname
symbol
=
tx
.
Symbol
amount
=
tx
.
Amount
}
else
if
action
.
Ty
==
mty
.
ActionMultiSigExecTransferFrom
&&
action
.
GetMultiSigExecTransferFrom
()
!=
nil
{
multiSigTransfer
=
action
.
GetMultiSigExecTransferFrom
()
tx
:=
action
.
GetMultiSigExecTransferFrom
()
to
=
tx
.
To
execname
=
tx
.
Execname
symbol
=
tx
.
Symbol
amount
=
tx
.
Amount
}
else
{
return
set
,
nil
}
...
...
@@ -409,16 +428,15 @@ func (m *MultiSig) saveMultiSigTransfer(tx *types.Transaction, SubmitOrConfirm,
return
nil
,
err
}
if
multiSigTx
.
TxType
==
mty
.
TransferOperate
{
multiSigTransfer
=
payload
.
GetMultiSigExecTransferFrom
()
tx
:=
payload
.
GetMultiSigExecTransferFrom
()
to
=
tx
.
To
execname
=
tx
.
Execname
symbol
=
tx
.
Symbol
amount
=
tx
.
Amount
}
else
{
return
set
,
nil
}
}
to
:=
multiSigTransfer
.
To
execname
:=
multiSigTransfer
.
Execname
symbol
:=
multiSigTransfer
.
Symbol
amount
:=
multiSigTransfer
.
Amount
kv
,
err
:=
updateAddrReciver
(
m
.
GetLocalDB
(),
to
,
execname
,
symbol
,
amount
,
addOrRollback
)
if
err
!=
nil
{
return
set
,
err
...
...
plugin/dapp/multisig/proto/multisig.proto
View file @
4e9e7064
...
...
@@ -77,8 +77,8 @@ message MultiSigAction {
MultiSigOwnerOperate
multiSigOwnerOperate
=
2
;
MultiSigAccOperate
multiSigAccOperate
=
3
;
MultiSigConfirmTx
multiSigConfirmTx
=
4
;
//确认或者撤销已确认
MultiSigExecTransfer
multiSigExecTransferTo
=
5
;
//合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
MultiSigExecTransfer
multiSigExecTransferFrom
=
6
;
//合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
MultiSigExecTransfer
To
multiSigExecTransferTo
=
5
;
//合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
MultiSigExecTransfer
From
multiSigExecTransferFrom
=
6
;
//合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
}
int32
Ty
=
7
;
...
...
@@ -109,10 +109,10 @@ message MultiSigAccOperate {
bool
operateFlag
=
4
;
}
//多重签名合约中账户之间转币操作:增加一个from的字段实现MultiSigAddr
<
--->addr之间的转账
//多重签名合约中账户之间转币操作:增加一个from的字段实现MultiSigAddr--->addr之间的转账
//需要判断from地址是否是多重签名地址
//将MultiSig合约中from地址上execname+symbol的资产转移到to地址
message
MultiSigExecTransfer
{
message
MultiSigExecTransfer
From
{
string
symbol
=
1
;
int64
amount
=
2
;
string
note
=
3
;
...
...
@@ -120,6 +120,16 @@ message MultiSigExecTransfer {
string
to
=
5
;
string
from
=
6
;
}
//多重签名合约中账户之间转币操作: addr --->MultiSigAddr之间的转账
//需要判断to地址是否是多重签名地址
//将MultiSig合约中签名地址上execname+symbol的资产转移到to地址
message
MultiSigExecTransferTo
{
string
symbol
=
1
;
int64
amount
=
2
;
string
note
=
3
;
string
execname
=
4
;
string
to
=
5
;
}
//多重签名账户withdraw交易的确认或者取消确认
//multisigaccaddr:多重签名账户地址
...
...
plugin/dapp/multisig/rpc/jrpc_channel_test.go
View file @
4e9e7064
...
...
@@ -107,11 +107,11 @@ func testCreateMultiSigConfirmTxCmd(t *testing.T, jrpc *jsonclient.JSONClient) e
return
jrpc
.
Call
(
"multisig.MultiSigConfirmTx"
,
params
,
nil
)
}
func
testCreateMultiSigAccTransferInCmd
(
t
*
testing
.
T
,
jrpc
*
jsonclient
.
JSONClient
)
error
{
params
:=
&
mty
.
MultiSigExecTransfer
{}
params
:=
&
mty
.
MultiSigExecTransfer
To
{}
return
jrpc
.
Call
(
"multisig.MultiSigAccTransferInTx"
,
params
,
nil
)
}
func
testCreateMultiSigAccTransferOutCmd
(
t
*
testing
.
T
,
jrpc
*
jsonclient
.
JSONClient
)
error
{
params
:=
&
mty
.
MultiSigExecTransfer
{}
params
:=
&
mty
.
MultiSigExecTransfer
From
{}
return
jrpc
.
Call
(
"multisig.MultiSigAccTransferOutTx"
,
params
,
nil
)
}
...
...
plugin/dapp/multisig/rpc/rpc.go
View file @
4e9e7064
...
...
@@ -65,7 +65,7 @@ func (c *Jrpc) MultiSigConfirmTx(param *mty.MultiSigConfirmTx, result *interface
}
// MultiSigAccTransferInTx :构造在多重签名合约中转账到多重签名账户的交易
func
(
c
*
Jrpc
)
MultiSigAccTransferInTx
(
param
*
mty
.
MultiSigExecTransfer
,
result
*
interface
{})
error
{
func
(
c
*
Jrpc
)
MultiSigAccTransferInTx
(
param
*
mty
.
MultiSigExecTransfer
To
,
result
*
interface
{})
error
{
if
param
==
nil
{
return
types
.
ErrInvalidParam
}
...
...
@@ -78,7 +78,7 @@ func (c *Jrpc) MultiSigAccTransferInTx(param *mty.MultiSigExecTransfer, result *
}
// MultiSigAccTransferOutTx :构造在多重签名合约中从多重签名账户转账的交易
func
(
c
*
Jrpc
)
MultiSigAccTransferOutTx
(
param
*
mty
.
MultiSigExecTransfer
,
result
*
interface
{})
error
{
func
(
c
*
Jrpc
)
MultiSigAccTransferOutTx
(
param
*
mty
.
MultiSigExecTransfer
From
,
result
*
interface
{})
error
{
if
param
==
nil
{
return
types
.
ErrInvalidParam
}
...
...
plugin/dapp/multisig/types/multisig.pb.go
View file @
4e9e7064
...
...
@@ -470,11 +470,11 @@ type MultiSigAction_MultiSigConfirmTx struct {
}
type
MultiSigAction_MultiSigExecTransferTo
struct
{
MultiSigExecTransferTo
*
MultiSigExecTransfer
`protobuf:"bytes,5,opt,name=multiSigExecTransferTo,proto3,oneof"`
MultiSigExecTransferTo
*
MultiSigExecTransfer
To
`protobuf:"bytes,5,opt,name=multiSigExecTransferTo,proto3,oneof"`
}
type
MultiSigAction_MultiSigExecTransferFrom
struct
{
MultiSigExecTransferFrom
*
MultiSigExecTransfer
`protobuf:"bytes,6,opt,name=multiSigExecTransferFrom,proto3,oneof"`
MultiSigExecTransferFrom
*
MultiSigExecTransfer
From
`protobuf:"bytes,6,opt,name=multiSigExecTransferFrom,proto3,oneof"`
}
func
(
*
MultiSigAction_MultiSigAccCreate
)
isMultiSigAction_Value
()
{}
...
...
@@ -524,14 +524,14 @@ func (m *MultiSigAction) GetMultiSigConfirmTx() *MultiSigConfirmTx {
return
nil
}
func
(
m
*
MultiSigAction
)
GetMultiSigExecTransferTo
()
*
MultiSigExecTransfer
{
func
(
m
*
MultiSigAction
)
GetMultiSigExecTransferTo
()
*
MultiSigExecTransfer
To
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
MultiSigAction_MultiSigExecTransferTo
);
ok
{
return
x
.
MultiSigExecTransferTo
}
return
nil
}
func
(
m
*
MultiSigAction
)
GetMultiSigExecTransferFrom
()
*
MultiSigExecTransfer
{
func
(
m
*
MultiSigAction
)
GetMultiSigExecTransferFrom
()
*
MultiSigExecTransfer
From
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
MultiSigAction_MultiSigExecTransferFrom
);
ok
{
return
x
.
MultiSigExecTransferFrom
}
...
...
@@ -637,7 +637,7 @@ func _MultiSigAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
msg
:=
new
(
MultiSigExecTransfer
)
msg
:=
new
(
MultiSigExecTransfer
To
)
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
MultiSigAction_MultiSigExecTransferTo
{
msg
}
return
true
,
err
...
...
@@ -645,7 +645,7 @@ func _MultiSigAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
msg
:=
new
(
MultiSigExecTransfer
)
msg
:=
new
(
MultiSigExecTransfer
From
)
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
MultiSigAction_MultiSigExecTransferFrom
{
msg
}
return
true
,
err
...
...
@@ -888,10 +888,10 @@ func (m *MultiSigAccOperate) GetOperateFlag() bool {
return
false
}
//多重签名合约中账户之间转币操作:增加一个from的字段实现MultiSigAddr
<
--->addr之间的转账
//多重签名合约中账户之间转币操作:增加一个from的字段实现MultiSigAddr--->addr之间的转账
//需要判断from地址是否是多重签名地址
//将MultiSig合约中from地址上execname+symbol的资产转移到to地址
type
MultiSigExecTransfer
struct
{
type
MultiSigExecTransfer
From
struct
{
Symbol
string
`protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
Amount
int64
`protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
Note
string
`protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"`
...
...
@@ -903,73 +903,147 @@ type MultiSigExecTransfer struct {
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
MultiSigExecTransfer
)
Reset
()
{
*
m
=
MultiSigExecTransfer
{}
}
func
(
m
*
MultiSigExecTransfer
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
MultiSigExecTransfer
)
ProtoMessage
()
{}
func
(
*
MultiSigExecTransfer
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
m
*
MultiSigExecTransfer
From
)
Reset
()
{
*
m
=
MultiSigExecTransferFrom
{}
}
func
(
m
*
MultiSigExecTransfer
From
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
MultiSigExecTransfer
From
)
ProtoMessage
()
{}
func
(
*
MultiSigExecTransfer
From
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
10
}
}
func
(
m
*
MultiSigExecTransfer
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_MultiSigExecTransfer
.
Unmarshal
(
m
,
b
)
func
(
m
*
MultiSigExecTransfer
From
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_MultiSigExecTransfer
From
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
MultiSigExecTransfer
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_MultiSigExecTransfer
.
Marshal
(
b
,
m
,
deterministic
)
func
(
m
*
MultiSigExecTransfer
From
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_MultiSigExecTransfer
From
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
MultiSigExecTransfer
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_MultiSigExecTransfer
.
Merge
(
m
,
src
)
func
(
m
*
MultiSigExecTransfer
From
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_MultiSigExecTransfer
From
.
Merge
(
m
,
src
)
}
func
(
m
*
MultiSigExecTransfer
)
XXX_Size
()
int
{
return
xxx_messageInfo_MultiSigExecTransfer
.
Size
(
m
)
func
(
m
*
MultiSigExecTransfer
From
)
XXX_Size
()
int
{
return
xxx_messageInfo_MultiSigExecTransfer
From
.
Size
(
m
)
}
func
(
m
*
MultiSigExecTransfer
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_MultiSigExecTransfer
.
DiscardUnknown
(
m
)
func
(
m
*
MultiSigExecTransfer
From
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_MultiSigExecTransfer
From
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_MultiSigExecTransfer
proto
.
InternalMessageInfo
var
xxx_messageInfo_MultiSigExecTransfer
From
proto
.
InternalMessageInfo
func
(
m
*
MultiSigExecTransfer
)
GetSymbol
()
string
{
func
(
m
*
MultiSigExecTransfer
From
)
GetSymbol
()
string
{
if
m
!=
nil
{
return
m
.
Symbol
}
return
""
}
func
(
m
*
MultiSigExecTransfer
)
GetAmount
()
int64
{
func
(
m
*
MultiSigExecTransfer
From
)
GetAmount
()
int64
{
if
m
!=
nil
{
return
m
.
Amount
}
return
0
}
func
(
m
*
MultiSigExecTransfer
)
GetNote
()
string
{
func
(
m
*
MultiSigExecTransfer
From
)
GetNote
()
string
{
if
m
!=
nil
{
return
m
.
Note
}
return
""
}
func
(
m
*
MultiSigExecTransfer
)
GetExecname
()
string
{
func
(
m
*
MultiSigExecTransfer
From
)
GetExecname
()
string
{
if
m
!=
nil
{
return
m
.
Execname
}
return
""
}
func
(
m
*
MultiSigExecTransfer
)
GetTo
()
string
{
func
(
m
*
MultiSigExecTransfer
From
)
GetTo
()
string
{
if
m
!=
nil
{
return
m
.
To
}
return
""
}
func
(
m
*
MultiSigExecTransfer
)
GetFrom
()
string
{
func
(
m
*
MultiSigExecTransfer
From
)
GetFrom
()
string
{
if
m
!=
nil
{
return
m
.
From
}
return
""
}
//多重签名合约中账户之间转币操作: addr --->MultiSigAddr之间的转账
//需要判断to地址是否是多重签名地址
//将MultiSig合约中签名地址上execname+symbol的资产转移到to地址
type
MultiSigExecTransferTo
struct
{
Symbol
string
`protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
Amount
int64
`protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
Note
string
`protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"`
Execname
string
`protobuf:"bytes,4,opt,name=execname,proto3" json:"execname,omitempty"`
To
string
`protobuf:"bytes,5,opt,name=to,proto3" json:"to,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
MultiSigExecTransferTo
)
Reset
()
{
*
m
=
MultiSigExecTransferTo
{}
}
func
(
m
*
MultiSigExecTransferTo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
MultiSigExecTransferTo
)
ProtoMessage
()
{}
func
(
*
MultiSigExecTransferTo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
11
}
}
func
(
m
*
MultiSigExecTransferTo
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_MultiSigExecTransferTo
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
MultiSigExecTransferTo
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_MultiSigExecTransferTo
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
MultiSigExecTransferTo
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_MultiSigExecTransferTo
.
Merge
(
m
,
src
)
}
func
(
m
*
MultiSigExecTransferTo
)
XXX_Size
()
int
{
return
xxx_messageInfo_MultiSigExecTransferTo
.
Size
(
m
)
}
func
(
m
*
MultiSigExecTransferTo
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_MultiSigExecTransferTo
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_MultiSigExecTransferTo
proto
.
InternalMessageInfo
func
(
m
*
MultiSigExecTransferTo
)
GetSymbol
()
string
{
if
m
!=
nil
{
return
m
.
Symbol
}
return
""
}
func
(
m
*
MultiSigExecTransferTo
)
GetAmount
()
int64
{
if
m
!=
nil
{
return
m
.
Amount
}
return
0
}
func
(
m
*
MultiSigExecTransferTo
)
GetNote
()
string
{
if
m
!=
nil
{
return
m
.
Note
}
return
""
}
func
(
m
*
MultiSigExecTransferTo
)
GetExecname
()
string
{
if
m
!=
nil
{
return
m
.
Execname
}
return
""
}
func
(
m
*
MultiSigExecTransferTo
)
GetTo
()
string
{
if
m
!=
nil
{
return
m
.
To
}
return
""
}
//多重签名账户withdraw交易的确认或者取消确认
//multisigaccaddr:多重签名账户地址
//transactionid:多重签名账户上的withdraw交易的内部id
...
...
@@ -986,7 +1060,7 @@ func (m *MultiSigConfirmTx) Reset() { *m = MultiSigConfirmTx{} }
func
(
m
*
MultiSigConfirmTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
MultiSigConfirmTx
)
ProtoMessage
()
{}
func
(
*
MultiSigConfirmTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
1
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
2
}
}
func
(
m
*
MultiSigConfirmTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1041,7 +1115,7 @@ func (m *ReqMultiSigAccs) Reset() { *m = ReqMultiSigAccs{} }
func
(
m
*
ReqMultiSigAccs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqMultiSigAccs
)
ProtoMessage
()
{}
func
(
*
ReqMultiSigAccs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
2
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
3
}
}
func
(
m
*
ReqMultiSigAccs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1087,7 +1161,7 @@ func (m *ReplyMultiSigAccs) Reset() { *m = ReplyMultiSigAccs{} }
func
(
m
*
ReplyMultiSigAccs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyMultiSigAccs
)
ProtoMessage
()
{}
func
(
*
ReplyMultiSigAccs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
3
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
4
}
}
func
(
m
*
ReplyMultiSigAccs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1127,7 +1201,7 @@ func (m *ReqMultiSigAccInfo) Reset() { *m = ReqMultiSigAccInfo{} }
func
(
m
*
ReqMultiSigAccInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqMultiSigAccInfo
)
ProtoMessage
()
{}
func
(
*
ReqMultiSigAccInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
4
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
5
}
}
func
(
m
*
ReqMultiSigAccInfo
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1172,7 +1246,7 @@ func (m *ReplyMultiSigAccInfo) Reset() { *m = ReplyMultiSigAccInfo{} }
func
(
m
*
ReplyMultiSigAccInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyMultiSigAccInfo
)
ProtoMessage
()
{}
func
(
*
ReplyMultiSigAccInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
5
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
6
}
}
func
(
m
*
ReplyMultiSigAccInfo
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1251,7 +1325,7 @@ func (m *ReqMultiSigTxids) Reset() { *m = ReqMultiSigTxids{} }
func
(
m
*
ReqMultiSigTxids
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqMultiSigTxids
)
ProtoMessage
()
{}
func
(
*
ReqMultiSigTxids
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
6
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
7
}
}
func
(
m
*
ReqMultiSigTxids
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1319,7 +1393,7 @@ func (m *ReplyMultiSigTxids) Reset() { *m = ReplyMultiSigTxids{} }
func
(
m
*
ReplyMultiSigTxids
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyMultiSigTxids
)
ProtoMessage
()
{}
func
(
*
ReplyMultiSigTxids
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
7
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
8
}
}
func
(
m
*
ReplyMultiSigTxids
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1367,7 +1441,7 @@ func (m *ReqMultiSigTxInfo) Reset() { *m = ReqMultiSigTxInfo{} }
func
(
m
*
ReqMultiSigTxInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqMultiSigTxInfo
)
ProtoMessage
()
{}
func
(
*
ReqMultiSigTxInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
8
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
1
9
}
}
func
(
m
*
ReqMultiSigTxInfo
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1413,7 +1487,7 @@ func (m *ReplyMultiSigTxInfo) Reset() { *m = ReplyMultiSigTxInfo{} }
func
(
m
*
ReplyMultiSigTxInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyMultiSigTxInfo
)
ProtoMessage
()
{}
func
(
*
ReplyMultiSigTxInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
19
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
20
}
}
func
(
m
*
ReplyMultiSigTxInfo
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1455,7 +1529,7 @@ func (m *ReqMultiSigAccUnSpentToday) Reset() { *m = ReqMultiSigAccUnSpen
func
(
m
*
ReqMultiSigAccUnSpentToday
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqMultiSigAccUnSpentToday
)
ProtoMessage
()
{}
func
(
*
ReqMultiSigAccUnSpentToday
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
0
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
1
}
}
func
(
m
*
ReqMultiSigAccUnSpentToday
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1508,7 +1582,7 @@ func (m *ReplyUnSpentAssets) Reset() { *m = ReplyUnSpentAssets{} }
func
(
m
*
ReplyUnSpentAssets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyUnSpentAssets
)
ProtoMessage
()
{}
func
(
*
ReplyUnSpentAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
1
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
2
}
}
func
(
m
*
ReplyUnSpentAssets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1548,7 +1622,7 @@ func (m *UnSpentAssets) Reset() { *m = UnSpentAssets{} }
func
(
m
*
UnSpentAssets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UnSpentAssets
)
ProtoMessage
()
{}
func
(
*
UnSpentAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
2
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
3
}
}
func
(
m
*
UnSpentAssets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1595,7 +1669,7 @@ func (m *ReceiptMultiSig) Reset() { *m = ReceiptMultiSig{} }
func
(
m
*
ReceiptMultiSig
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptMultiSig
)
ProtoMessage
()
{}
func
(
*
ReceiptMultiSig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
3
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
4
}
}
func
(
m
*
ReceiptMultiSig
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1636,7 +1710,7 @@ func (m *ReceiptOwnerAddOrDel) Reset() { *m = ReceiptOwnerAddOrDel{} }
func
(
m
*
ReceiptOwnerAddOrDel
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptOwnerAddOrDel
)
ProtoMessage
()
{}
func
(
*
ReceiptOwnerAddOrDel
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
4
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
5
}
}
func
(
m
*
ReceiptOwnerAddOrDel
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1694,7 +1768,7 @@ func (m *ReceiptOwnerModOrRep) Reset() { *m = ReceiptOwnerModOrRep{} }
func
(
m
*
ReceiptOwnerModOrRep
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptOwnerModOrRep
)
ProtoMessage
()
{}
func
(
*
ReceiptOwnerModOrRep
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
5
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
6
}
}
func
(
m
*
ReceiptOwnerModOrRep
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1758,7 +1832,7 @@ func (m *ReceiptWeightModify) Reset() { *m = ReceiptWeightModify{} }
func
(
m
*
ReceiptWeightModify
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptWeightModify
)
ProtoMessage
()
{}
func
(
*
ReceiptWeightModify
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
6
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
7
}
}
func
(
m
*
ReceiptWeightModify
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1816,7 +1890,7 @@ func (m *ReceiptDailyLimitOperate) Reset() { *m = ReceiptDailyLimitOpera
func
(
m
*
ReceiptDailyLimitOperate
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptDailyLimitOperate
)
ProtoMessage
()
{}
func
(
*
ReceiptDailyLimitOperate
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
7
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
8
}
}
func
(
m
*
ReceiptDailyLimitOperate
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1880,7 +1954,7 @@ func (m *ReceiptConfirmTx) Reset() { *m = ReceiptConfirmTx{} }
func
(
m
*
ReceiptConfirmTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptConfirmTx
)
ProtoMessage
()
{}
func
(
*
ReceiptConfirmTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
8
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
2
9
}
}
func
(
m
*
ReceiptConfirmTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1929,7 +2003,7 @@ func (m *ReceiptAccDailyLimitUpdate) Reset() { *m = ReceiptAccDailyLimit
func
(
m
*
ReceiptAccDailyLimitUpdate
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptAccDailyLimitUpdate
)
ProtoMessage
()
{}
func
(
*
ReceiptAccDailyLimitUpdate
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
29
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
30
}
}
func
(
m
*
ReceiptAccDailyLimitUpdate
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -1988,7 +2062,7 @@ func (m *ReceiptMultiSigTx) Reset() { *m = ReceiptMultiSigTx{} }
func
(
m
*
ReceiptMultiSigTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptMultiSigTx
)
ProtoMessage
()
{}
func
(
*
ReceiptMultiSigTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
0
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
1
}
}
func
(
m
*
ReceiptMultiSigTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2063,7 +2137,7 @@ func (m *ReceiptTxCountUpdate) Reset() { *m = ReceiptTxCountUpdate{} }
func
(
m
*
ReceiptTxCountUpdate
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptTxCountUpdate
)
ProtoMessage
()
{}
func
(
*
ReceiptTxCountUpdate
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
1
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
2
}
}
func
(
m
*
ReceiptTxCountUpdate
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2111,7 +2185,7 @@ func (m *MultiSigTxOwner) Reset() { *m = MultiSigTxOwner{} }
func
(
m
*
MultiSigTxOwner
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
MultiSigTxOwner
)
ProtoMessage
()
{}
func
(
*
MultiSigTxOwner
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
2
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
3
}
}
func
(
m
*
MultiSigTxOwner
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2164,7 +2238,7 @@ func (m *Uint64) Reset() { *m = Uint64{} }
func
(
m
*
Uint64
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Uint64
)
ProtoMessage
()
{}
func
(
*
Uint64
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
3
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
4
}
}
func
(
m
*
Uint64
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2206,7 +2280,7 @@ func (m *AccountAssets) Reset() { *m = AccountAssets{} }
func
(
m
*
AccountAssets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AccountAssets
)
ProtoMessage
()
{}
func
(
*
AccountAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
4
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
5
}
}
func
(
m
*
AccountAssets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2262,7 +2336,7 @@ func (m *ReqAccAssets) Reset() { *m = ReqAccAssets{} }
func
(
m
*
ReqAccAssets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqAccAssets
)
ProtoMessage
()
{}
func
(
*
ReqAccAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
5
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
6
}
}
func
(
m
*
ReqAccAssets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2315,7 +2389,7 @@ func (m *ReplyAccAssets) Reset() { *m = ReplyAccAssets{} }
func
(
m
*
ReplyAccAssets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyAccAssets
)
ProtoMessage
()
{}
func
(
*
ReplyAccAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
6
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
7
}
}
func
(
m
*
ReplyAccAssets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2357,7 +2431,7 @@ func (m *AccAssets) Reset() { *m = AccAssets{} }
func
(
m
*
AccAssets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AccAssets
)
ProtoMessage
()
{}
func
(
*
AccAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
7
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
8
}
}
func
(
m
*
AccAssets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2411,7 +2485,7 @@ func (m *Assets) Reset() { *m = Assets{} }
func
(
m
*
Assets
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Assets
)
ProtoMessage
()
{}
func
(
*
Assets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
8
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
3
9
}
}
func
(
m
*
Assets
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2458,7 +2532,7 @@ func (m *AccAddress) Reset() { *m = AccAddress{} }
func
(
m
*
AccAddress
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AccAddress
)
ProtoMessage
()
{}
func
(
*
AccAddress
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
39
}
return
fileDescriptor_62b8b91adf3febfa
,
[]
int
{
40
}
}
func
(
m
*
AccAddress
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
...
...
@@ -2497,7 +2571,8 @@ func init() {
proto
.
RegisterType
((
*
MultiSigAccCreate
)(
nil
),
"types.MultiSigAccCreate"
)
proto
.
RegisterType
((
*
MultiSigOwnerOperate
)(
nil
),
"types.MultiSigOwnerOperate"
)
proto
.
RegisterType
((
*
MultiSigAccOperate
)(
nil
),
"types.MultiSigAccOperate"
)
proto
.
RegisterType
((
*
MultiSigExecTransfer
)(
nil
),
"types.MultiSigExecTransfer"
)
proto
.
RegisterType
((
*
MultiSigExecTransferFrom
)(
nil
),
"types.MultiSigExecTransferFrom"
)
proto
.
RegisterType
((
*
MultiSigExecTransferTo
)(
nil
),
"types.MultiSigExecTransferTo"
)
proto
.
RegisterType
((
*
MultiSigConfirmTx
)(
nil
),
"types.MultiSigConfirmTx"
)
proto
.
RegisterType
((
*
ReqMultiSigAccs
)(
nil
),
"types.ReqMultiSigAccs"
)
proto
.
RegisterType
((
*
ReplyMultiSigAccs
)(
nil
),
"types.ReplyMultiSigAccs"
)
...
...
@@ -2532,100 +2607,101 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"multisig.proto"
,
fileDescriptor_62b8b91adf3febfa
)
}
var
fileDescriptor_62b8b91adf3febfa
=
[]
byte
{
// 1517 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xdc
,
0x58
,
0x5f
,
0x6f
,
0xdc
,
0xc4
,
0x16
,
0xaf
,
0xbd
,
0x7f
,
0x92
,
0x3d
,
0x49
,
0xb6
,
0xc9
,
0xdc
,
0x55
,
0xaf
,
0x6f
,
0x6e
,
0x55
,
0xad
,
0x46
,
0xbd
,
0xd5
,
0xaa
,
0xba
,
0x44
,
0xa8
,
0x2d
,
0x94
,
0x22
,
0x81
,
0xba
,
0x34
,
0xad
,
0x52
,
0x95
,
0x34
,
0x65
,
0xea
,
0x08
,
0xc1
,
0x9b
,
0x63
,
0x4f
,
0x52
,
0x8b
,
0x5d
,
0x7b
,
0x6b
,
0x7b
,
0x93
,
0x5d
,
0x40
,
0x2a
,
0xdf
,
0x80
,
0x37
,
0x1e
,
0xfa
,
0xc4
,
0x87
,
0xe0
,
0x81
,
0x4f
,
0x00
,
0x5f
,
0x80
,
0x6f
,
0xc1
,
0x33
,
0xe2
,
0x15
,
0xcd
,
0x3f
,
0x7b
,
0xc6
,
0x76
,
0x8a
,
0x2b
,
0x15
,
0x09
,
0xf1
,
0xe6
,
0xf3
,
0x9b
,
0x33
,
0x67
,
0xce
,
0xbf
,
0x39
,
0xe7
,
0x78
,
0xa0
,
0x3f
,
0x9d
,
0x4f
,
0xb2
,
0x30
,
0x0d
,
0x4f
,
0x76
,
0x66
,
0x49
,
0x9c
,
0xc5
,
0xa8
,
0x93
,
0x2d
,
0x67
,
0x34
,
0xdd
,
0xde
,
0xf0
,
0x7c
,
0x3f
,
0x9e
,
0x47
,
0x99
,
0x40
,
0xf1
,
0xaf
,
0x16
,
0xac
,
0xee
,
0x33
,
0xc6
,
0xa7
,
0xe1
,
0x09
,
0xba
,
0x02
,
0xe0
,
0x27
,
0xd4
,
0xcb
,
0xe8
,
0x38
,
0x08
,
0x12
,
0xc7
,
0x1a
,
0x5a
,
0xa3
,
0x1e
,
0xd1
,
0x10
,
0x84
,
0x61
,
0x7d
,
0x2a
,
0x79
,
0x39
,
0x87
,
0xcd
,
0x39
,
0x0c
,
0x0c
,
0x5d
,
0x85
,
0x6e
,
0x7c
,
0x16
,
0xd1
,
0x24
,
0x75
,
0x5a
,
0xc3
,
0xd6
,
0x68
,
0xed
,
0xc6
,
0xfa
,
0x0e
,
0x3f
,
0x77
,
0xe7
,
0x80
,
0x81
,
0x44
,
0xae
,
0xa1
,
0x9b
,
0xb0
,
0x16
,
0x78
,
0xe1
,
0x64
,
0xf9
,
0x71
,
0x38
,
0x0d
,
0xb3
,
0xd4
,
0x69
,
0x73
,
0xd6
,
0x2d
,
0xc9
,
0xba
,
0x9b
,
0xaf
,
0x10
,
0x9d
,
0x0b
,
0x39
,
0xb0
,
0x92
,
0x2d
,
0xee
,
0x31
,
0xe5
,
0x9d
,
0xce
,
0xd0
,
0x1a
,
0xb5
,
0x89
,
0x22
,
0xd1
,
0x35
,
0xe8
,
0x27
,
0xf4
,
0xf9
,
0x3c
,
0x4c
,
0x68
,
0xf0
,
0x29
,
0x0d
,
0x4f
,
0x9e
,
0x65
,
0x4e
,
0x97
,
0x33
,
0x94
,
0x50
,
0xfc
,
0x00
,
0xfa
,
0xf7
,
0xe2
,
0xe8
,
0x38
,
0x4c
,
0xa6
,
0x34
,
0xe0
,
0x0a
,
0xa1
,
0x5b
,
0xd0
,
0xf7
,
0x0d
,
0xc4
,
0xb1
,
0x6a
,
0xd4
,
0x2e
,
0xf1
,
0xe0
,
0x9f
,
0x2c
,
0x00
,
0xe5
,
0x35
,
0x77
,
0x81
,
0x10
,
0xb4
,
0xb3
,
0x45
,
0x18
,
0x70
,
0x8f
,
0xb5
,
0x09
,
0xff
,
0x46
,
0x97
,
0xa0
,
0x9b
,
0x2d
,
0xf6
,
0xbc
,
0xf4
,
0x99
,
0xf4
,
0x92
,
0xa4
,
0xd0
,
0x36
,
0xac
,
0xd2
,
0x05
,
0xf5
,
0xe7
,
0x19
,
0x0d
,
0x9c
,
0xd6
,
0xd0
,
0x1a
,
0xad
,
0x92
,
0x9c
,
0x16
,
0x7b
,
0xdc
,
0xe5
,
0x8c
,
0x3a
,
0x6d
,
0x2e
,
0x49
,
0x52
,
0x15
,
0xbf
,
0x77
,
0x6a
,
0xfc
,
0x5e
,
0x35
,
0xa4
,
0xdb
,
0xc0
,
0x90
,
0x0f
,
0xa0
,
0x23
,
0xfc
,
0x70
,
0x19
,
0x7a
,
0x3c
,
0x34
,
0x5a
,
0xe4
,
0x0b
,
0x80
,
0x29
,
0x76
,
0x26
,
0xfc
,
0x6a
,
0x0b
,
0xc5
,
0x04
,
0x85
,
0xbf
,
0xb3
,
0x00
,
0x8a
,
0x68
,
0x31
,
0xb6
,
0x74
,
0x39
,
0x3d
,
0x8a
,
0x27
,
0x52
,
0x82
,
0xa4
,
0x18
,
0xce
,
0x6c
,
0xa4
,
0x2a
,
0x63
,
0x24
,
0xc5
,
0xf2
,
0xad
,
0x88
,
0x2f
,
0xf7
,
0x46
,
0x9b
,
0x68
,
0x08
,
0x5b
,
0x4f
,
0x67
,
0x34
,
0xca
,
0xdc
,
0x38
,
0xf0
,
0x96
,
0xd2
,
0x27
,
0x1a
,
0xc2
,
0x12
,
0x62
,
0xe2
,
0xa5
,
0xd9
,
0xae
,
0xb7
,
0xe4
,
0x2e
,
0x69
,
0x11
,
0x45
,
0xe2
,
0x23
,
0xd8
,
0x7c
,
0xca
,
0xcf
,
0xfe
,
0xeb
,
0xb4
,
0xc3
,
0xdf
,
0xb6
,
0xa1
,
0xaf
,
0x92
,
0x60
,
0xec
,
0x67
,
0x61
,
0x1c
,
0xa1
,
0x3d
,
0xd8
,
0xca
,
0x83
,
0xe2
,
0xfb
,
0xf7
,
0xf8
,
0xcd
,
0xe1
,
0xa7
,
0xad
,
0xdd
,
0x70
,
0x64
,
0x1c
,
0xf6
,
0xcb
,
0xeb
,
0x7b
,
0x17
,
0x48
,
0x75
,
0x13
,
0xfa
,
0x04
,
0x06
,
0x0a
,
0xe4
,
0x01
,
0x3a
,
0x98
,
0xd1
,
0x84
,
0x09
,
0xb3
,
0xb9
,
0xb0
,
0xff
,
0x96
,
0x84
,
0xe9
,
0x2c
,
0x7b
,
0x17
,
0x48
,
0xed
,
0x56
,
0xf4
,
0x08
,
0x90
,
0x76
,
0x8e
,
0x12
,
0xd8
,
0xe2
,
0x02
,
0xff
,
0x53
,
0xd5
,
0xae
,
0x10
,
0x57
,
0xb3
,
0x4d
,
0xb7
,
0x54
,
0xde
,
0x28
,
0x77
,
0xc1
,
0x23
,
0x54
,
0xb5
,
0x34
,
0x5f
,
0xd7
,
0x2d
,
0xcd
,
0x41
,
0x74
,
0x08
,
0x97
,
0x14
,
0x78
,
0x7f
,
0x41
,
0x7d
,
0x37
,
0xf1
,
0xa2
,
0xf4
,
0x98
,
0x26
,
0x6e
,
0xcc
,
0x63
,
0x5a
,
0xb5
,
0x55
,
0x67
,
0xda
,
0xbb
,
0x40
,
0xce
,
0xd9
,
0x8c
,
0x3e
,
0x03
,
0xa7
,
0x6e
,
0xe5
,
0x41
,
0x12
,
0x4f
,
0x79
,
0x71
,
0xf8
,
0x53
,
0xc1
,
0xe7
,
0x6e
,
0x47
,
0x7d
,
0xb0
,
0xdd
,
0xa5
,
0xb3
,
0x32
,
0xb4
,
0x46
,
0x1d
,
0x62
,
0xbb
,
0xcb
,
0x8f
,
0x56
,
0xa0
,
0x73
,
0xea
,
0x4d
,
0xe6
,
0x14
,
0xbf
,
0xb4
,
0x60
,
0xab
,
0x12
,
0x5f
,
0xad
,
0x22
,
0x5a
,
0xaf
,
0xa8
,
0x88
,
0xd5
,
0x12
,
0x66
,
0xd7
,
0x95
,
0x30
,
0x74
,
0xbb
,
0x92
,
0x95
,
0x6b
,
0x37
,
0xfe
,
0x2d
,
0x25
,
0x96
,
0x53
,
0xde
,
0x48
,
0xd7
,
0x1f
,
0x2d
,
0x18
,
0xd4
,
0xe5
,
0x0b
,
0x1a
,
0xc1
,
0x45
,
0x2d
,
0xc0
,
0x5a
,
0x01
,
0x28
,
0xc3
,
0xac
,
0x76
,
0xc5
,
0x13
,
0x59
,
0x5d
,
0xc4
,
0x5d
,
0xc9
,
0x69
,
0xb6
,
0x16
,
0xd1
,
0x33
,
0xb1
,
0xd6
,
0x12
,
0x6b
,
0x8a
,
0x66
,
0xc5
,
0x25
,
0xa2
,
0x67
,
0xd2
,
0x2c
,
0x71
,
0x8d
,
0x0b
,
0x00
,
0x0d
,
0x61
,
0x2d
,
0x16
,
0xaa
,
0x3c
,
0x98
,
0x78
,
0x27
,
0xb2
,
0xb4
,
0xeb
,
0x10
,
0xfe
,
0xd9
,
0x02
,
0x54
,
0xcd
,
0xcc
,
0xd7
,
0x50
,
0xdc
,
0x74
,
0x9a
,
0xdd
,
0xd8
,
0x69
,
0xe8
,
0xff
,
0xb0
,
0x15
,
0xd1
,
0x33
,
0x62
,
0x06
,
0x46
,
0x94
,
0x82
,
0xea
,
0x42
,
0xd9
,
0x92
,
0x36
,
0x2f
,
0xef
,
0x86
,
0x25
,
0x2f
,
0xb5
,
0x20
,
0xe8
,
0x79
,
0xf5
,
0xaa
,
0xe2
,
0xe4
,
0x4d
,
0x79
,
0xcb
,
0xb3
,
0x79
,
0x85
,
0x93
,
0x14
,
0x6b
,
0x39
,
0x51
,
0x2c
,
0xaf
,
0x6f
,
0x8f
,
0xf0
,
0x6f
,
0xd5
,
0x5a
,
0x22
,
0x6f
,
0x2a
,
0x1a
,
0x48
,
0x8f
,
0xe4
,
0x34
,
0xcb
,
0xd9
,
0x2c
,
0x96
,
0x8d
,
0xc3
,
0xce
,
0x62
,
0xb6
,
0xff
,
0x58
,
0x5d
,
0x85
,
0x1e
,
0xe1
,
0xdf
,
0xf8
,
0xab
,
0x22
,
0x7b
,
0x8b
,
0xeb
,
0xd9
,
0xdc
,
0xc9
,
0xbc
,
0x0b
,
0x3e
,
0x0c
,
0x64
,
0xde
,
0xf2
,
0x6f
,
0xb6
,
0x5b
,
0x76
,
0x9c
,
0x83
,
0x84
,
0xd0
,
0xd3
,
0xf8
,
0x0b
,
0x2a
,
0x9b
,
0x5e
,
0x19
,
0xc6
,
0x77
,
0xe0
,
0x22
,
0xa1
,
0xcf
,
0xb5
,
0x28
,
0xa7
,
0x68
,
0x00
,
0x9d
,
0x34
,
0xf3
,
0x92
,
0x8c
,
0x1f
,
0xd8
,
0x22
,
0x82
,
0x40
,
0x9b
,
0xd0
,
0xa2
,
0x51
,
0x20
,
0xdd
,
0xc1
,
0x3e
,
0xf1
,
0x5b
,
0xb0
,
0x45
,
0xe8
,
0x6c
,
0xb2
,
0x34
,
0x36
,
0x3b
,
0xb0
,
0xe2
,
0x05
,
0x41
,
0x42
,
0x53
,
0x71
,
0xed
,
0x7a
,
0x44
,
0x91
,
0xf8
,
0x43
,
0x40
,
0xe6
,
0x49
,
0x0f
,
0xa3
,
0xe3
,
0xb8
,
0xb9
,
0x9d
,
0xf8
,
0x77
,
0x0b
,
0x06
,
0xe5
,
0xf3
,
0xb8
,
0x88
,
0x7f
,
0xfc
,
0xf8
,
0xf4
,
0xbd
,
0x05
,
0x9b
,
0x9a
,
0xeb
,
0xdc
,
0x45
,
0x18
,
0xa4
,
0x15
,
0xab
,
0xac
,
0x1a
,
0xab
,
0xb6
,
0x61
,
0x95
,
0x65
,
0x98
,
0x5b
,
0xa4
,
0x47
,
0x4e
,
0xf3
,
0xa1
,
0x27
,
0xe6
,
0x2b
,
0x2d
,
0x39
,
0xf4
,
0x70
,
0x8a
,
0xa9
,
0x3b
,
0xa3
,
0x51
,
0x10
,
0x46
,
0xea
,
0x22
,
0x29
,
0xd2
,
0x18
,
0xa1
,
0x3a
,
0xe6
,
0x08
,
0x85
,
0x1f
,
0xb3
,
0xe0
,
0x6a
,
0xb1
,
0x69
,
0xae
,
0xe3
,
0x00
,
0x3a
,
0x6c
,
0x70
,
0x4b
,
0x1d
,
0x7b
,
0xd8
,
0x1a
,
0xb5
,
0x89
,
0x20
,
0xf0
,
0x23
,
0x96
,
0x5b
,
0x9a
,
0xc5
,
0x3c
,
0xd0
,
0x4d
,
0xc4
,
0xd5
,
0xdc
,
0x06
,
0xfc
,
0x04
,
0xfe
,
0x55
,
0x52
,
0x8e
,
0x8b
,
0xbb
,
0x23
,
0x67
,
0xf5
,
0x1c
,
0x91
,
0x23
,
0xc3
,
0x56
,
0xa9
,
0x41
,
0xb9
,
0x0b
,
0x52
,
0x62
,
0xc4
,
0x33
,
0xd8
,
0x36
,
0x73
,
0xf9
,
0x30
,
0x7a
,
0x5a
,
0xcc
,
0x47
,
0x4d
,
0xf4
,
0x3c
,
0x6f
,
0xfa
,
0x29
,
0x0a
,
0x52
,
0x4b
,
0x2f
,
0x48
,
0xf8
,
0x89
,
0x74
,
0xb0
,
0x3c
,
0x68
,
0x9c
,
0xa6
,
0x34
,
0x4b
,
0xd1
,
0xfb
,
0xb0
,
0x31
,
0xd7
,
0x01
,
0x99
,
0xbd
,
0x03
,
0x69
,
0x81
,
0xc1
,
0x4c
,
0x4c
,
0x56
,
0xfc
,
0x18
,
0x36
,
0x4c
,
0x61
,
0xff
,
0x83
,
0xae
,
0x27
,
0xa4
,
0x08
,
0x3f
,
0x6c
,
0x48
,
0x29
,
0x72
,
0xbb
,
0x5c
,
0x2c
,
0x95
,
0xc6
,
0xb6
,
0x2a
,
0x8d
,
0xf8
,
0x1d
,
0x56
,
0x49
,
0x7c
,
0x1a
,
0xce
,
0xb2
,
0xfc
,
0xc7
,
0xa6
,
0x81
,
0x23
,
0xf0
,
0x97
,
0xec
,
0x56
,
0xf3
,
0x6d
,
0x07
,
0x72
,
0xee
,
0x3d
,
0x48
,
0x76
,
0xe9
,
0xa4
,
0x91
,
0x13
,
0x31
,
0x74
,
0xe2
,
0xbc
,
0x2b
,
0x96
,
0x2f
,
0xad
,
0x58
,
0x62
,
0x59
,
0xeb
,
0x49
,
0x99
,
0x6a
,
0xf0
,
0x57
,
0x34
,
0xfe
,
0xc1
,
0x32
,
0x0f
,
0xdf
,
0x8f
,
0x03
,
0x56
,
0x18
,
0x67
,
0x8d
,
0x0e
,
0xbf
,
0x0e
,
0xbd
,
0x59
,
0x42
,
0x4f
,
0x0f
,
0xce
,
0x55
,
0xa0
,
0x58
,
0x46
,
0x6f
,
0xc3
,
0xba
,
0x3f
,
0x4f
,
0x12
,
0x1a
,
0x65
,
0x45
,
0xa7
,
0x2e
,
0xb3
,
0x1b
,
0x1c
,
0x4c
,
0xed
,
0xa9
,
0xd4
,
0x46
,
0xde
,
0xc3
,
0x9c
,
0xc6
,
0x2f
,
0x58
,
0x3e
,
0x73
,
0xad
,
0x45
,
0x81
,
0xd8
,
0x8f
,
0x83
,
0xf0
,
0xb8
,
0x59
,
0xda
,
0x5d
,
0x01
,
0x60
,
0x5a
,
0x19
,
0xa3
,
0x8e
,
0x86
,
0xa0
,
0xab
,
0xb0
,
0x21
,
0xd5
,
0x30
,
0x9a
,
0xae
,
0x09
,
0xe2
,
0x5f
,
0x2c
,
0x70
,
0xa4
,
0x06
,
0x45
,
0xd5
,
0x53
,
0xe3
,
0x41
,
0x13
,
0x35
,
0xee
,
0x40
,
0x9f
,
0x1d
,
0xba
,
0x5b
,
0x1e
,
0x0e
,
0x6a
,
0x6a
,
0x69
,
0x89
,
0x11
,
0xdd
,
0xe6
,
0x1a
,
0xee
,
0x96
,
0x67
,
0xb1
,
0x9a
,
0x9d
,
0x26
,
0x1f
,
0x9b
,
0x12
,
0x78
,
0xe0
,
0x85
,
0xb7
,
0xd4
,
0x94
,
0xa0
,
0x41
,
0xf8
,
0x1b
,
0x5e
,
0x67
,
0xb9
,
0x59
,
0x45
,
0x23
,
0xbe
,
0x5b
,
0x34
,
0x28
,
0x77
,
0xa1
,
0x7e
,
0x55
,
0xd9
,
0x89
,
0x97
,
0x2a
,
0x65
,
0x42
,
0xc4
,
0xb1
,
0xcc
,
0x8e
,
0xae
,
0xc3
,
0xa6
,
0xfa
,
0xfd
,
0xcb
,
0xbb
,
0xb1
,
0xcd
,
0x4f
,
0xaf
,
0xe0
,
0x2c
,
0x23
,
0xb7
,
0xa5
,
0x0a
,
0x63
,
0xdf
,
0x2f
,
0xb4
,
0x3f
,
0x9c
,
0x05
,
0x7f
,
0x63
,
0xdf
,
0xe2
,
0xdf
,
0x2c
,
0x56
,
0xaf
,
0x8d
,
0xcb
,
0xff
,
0x46
,
0x5c
,
0x87
,
0x61
,
0x9d
,
0xa9
,
0x78
,
0x5f
,
0xb5
,
0x1d
,
0xe1
,
0x36
,
0x03
,
0x63
,
0x71
,
0xf5
,
0xe7
,
0xc9
,
0x7d
,
0xf3
,
0xe7
,
0x5e
,
0x87
,
0xd8
,
0x8c
,
0x91
,
0xce
,
0x8f
,
0x58
,
0x8a
,
0x26
,
0x32
,
0xae
,
0x32
,
0xfa
,
0x65
,
0x58
,
0x7b
,
0x3d
,
0xe8
,
0x18
,
0xaf
,
0x07
,
0xc5
,
0x0b
,
0x41
,
0x57
,
0x7f
,
0x21
,
0xc0
,
0x9f
,
0xe7
,
0xf5
,
0xc3
,
0x15
,
0x3d
,
0xfd
,
0x35
,
0xe2
,
0xc4
,
0xc6
,
0x96
,
0x79
,
0x22
,
0xf7
,
0xa9
,
0xab
,
0x58
,
0x20
,
0xf8
,
0x05
,
0x5c
,
0xdc
,
0xaf
,
0xba
,
0xa3
,
0x59
,
0x03
,
0x0c
,
0xb5
,
0x06
,
0x18
,
0x06
,
0x35
,
0x8f
,
0x14
,
0x75
,
0x05
,
0xa8
,
0xfc
,
0x48
,
0x71
,
0x19
,
0xba
,
0x87
,
0x61
,
0x94
,
0xbd
,
0x7b
,
0x8b
,
0xc9
,
0x0c
,
0xbc
,
0xcc
,
0x53
,
0x0f
,
0x2d
,
0xec
,
0x1b
,
0x27
,
0xb0
,
0x31
,
0x16
,
0x4f
,
0x5a
,
0xb2
,
0x7d
,
0x34
,
0x51
,
0xae
,
0x68
,
0x31
,
0x76
,
0xb3
,
0x16
,
0xd3
,
0xd2
,
0xa7
,
0x6f
,
0x1c
,
0xc3
,
0x3a
,
0xa1
,
0xcf
,
0xd9
,
0x40
,
0xf8
,
0xc6
,
0x8f
,
0x1c
,
0x40
,
0x27
,
0x4c
,
0xc7
,
0x13
,
0xd5
,
0x23
,
0x04
,
0x81
,
0xef
,
0x42
,
0x9f
,
0x77
,
0xdd
,
0xe2
,
0xc8
,
0x1d
,
0xe8
,
0x79
,
0x8a
,
0x90
,
0x3f
,
0x96
,
0x9b
,
0x4a
,
0xa2
,
0xc2
,
0x49
,
0xc1
,
0x82
,
0xbf
,
0x86
,
0x5e
,
0xb1
,
0xb9
,
0x61
,
0x87
,
0xbd
,
0x02
,
0x90
,
0x50
,
0xff
,
0x74
,
0xac
,
0xff
,
0x80
,
0x68
,
0x08
,
0x1a
,
0xc1
,
0x8a
,
0x7c
,
0x4d
,
0x94
,
0x71
,
0xec
,
0x17
,
0x1a
,
0x30
,
0x94
,
0xa8
,
0x65
,
0xfc
,
0x1e
,
0x74
,
0xc7
,
0xb9
,
0x4b
,
0xe5
,
0xbc
,
0x61
,
0x9d
,
0x33
,
0x6f
,
0xd8
,
0xc6
,
0xbc
,
0x71
,
0x0d
,
0x40
,
0x0e
,
0xde
,
0x34
,
0x7d
,
0xc5
,
0x54
,
0x7f
,
0xd4
,
0xe5
,
0xef
,
0x99
,
0x37
,
0xff
,
0x08
,
0x00
,
0x00
,
0xff
,
0xff
,
0x30
,
0x1f
,
0xdd
,
0x3b
,
0xf7
,
0x14
,
0x00
,
0x00
,
// 1535 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xdc
,
0x18
,
0xdd
,
0x6e
,
0xdc
,
0x44
,
0x37
,
0xde
,
0xbf
,
0x64
,
0xcf
,
0x26
,
0xdb
,
0x64
,
0xbe
,
0x55
,
0x3e
,
0x13
,
0x4a
,
0x59
,
0x8d
,
0x4a
,
0xb5
,
0xaa
,
0x20
,
0x42
,
0x69
,
0xa1
,
0x14
,
0x09
,
0xd4
,
0xa5
,
0x69
,
0x95
,
0xaa
,
0xa4
,
0x29
,
0xd3
,
0xad
,
0x2a
,
0x21
,
0x71
,
0xe1
,
0xd8
,
0x93
,
0xd4
,
0x62
,
0xd7
,
0xde
,
0xda
,
0xde
,
0x64
,
0x17
,
0x90
,
0xca
,
0x25
,
0x2f
,
0x00
,
0x17
,
0x5c
,
0x20
,
0x1e
,
0x82
,
0x0b
,
0x9e
,
0x00
,
0x5e
,
0x80
,
0xb7
,
0xe0
,
0x1a
,
0x71
,
0x8b
,
0xe6
,
0xcf
,
0x9e
,
0xb1
,
0x9d
,
0xc8
,
0x95
,
0x0a
,
0x42
,
0xdc
,
0xf9
,
0x9c
,
0x39
,
0x73
,
0xfe
,
0xff
,
0x3c
,
0xd0
,
0x9d
,
0xcc
,
0xc6
,
0x89
,
0x1f
,
0xfb
,
0xc7
,
0xdb
,
0xd3
,
0x28
,
0x4c
,
0x42
,
0xd4
,
0x4c
,
0x16
,
0x53
,
0x1a
,
0x6f
,
0xad
,
0x39
,
0xae
,
0x1b
,
0xce
,
0x82
,
0x44
,
0x60
,
0xf1
,
0xef
,
0x16
,
0xac
,
0xec
,
0x33
,
0xc2
,
0x47
,
0xfe
,
0x31
,
0xba
,
0x04
,
0xe0
,
0x46
,
0xd4
,
0x49
,
0xe8
,
0xd0
,
0xf3
,
0x22
,
0xdb
,
0xea
,
0x5b
,
0x83
,
0x36
,
0xd1
,
0x30
,
0x08
,
0xc3
,
0xea
,
0x44
,
0xd2
,
0x72
,
0x8a
,
0x1a
,
0xa7
,
0x30
,
0x70
,
0xe8
,
0x32
,
0xb4
,
0xc2
,
0xd3
,
0x80
,
0x46
,
0xb1
,
0x5d
,
0xef
,
0xd7
,
0x07
,
0x9d
,
0x9d
,
0xd5
,
0x6d
,
0x2e
,
0x77
,
0xfb
,
0x80
,
0x21
,
0x89
,
0x3c
,
0x43
,
0xd7
,
0xa0
,
0xe3
,
0x39
,
0xfe
,
0x78
,
0xf1
,
0xb1
,
0x3f
,
0xf1
,
0x93
,
0xd8
,
0x6e
,
0x70
,
0xd2
,
0x0d
,
0x49
,
0xba
,
0x9b
,
0x9e
,
0x10
,
0x9d
,
0x0a
,
0xd9
,
0xb0
,
0x9c
,
0xcc
,
0x6f
,
0x33
,
0xe5
,
0xed
,
0x66
,
0xdf
,
0x1a
,
0x34
,
0x88
,
0x02
,
0xd1
,
0x15
,
0xe8
,
0x46
,
0xf4
,
0xd9
,
0xcc
,
0x8f
,
0xa8
,
0xf7
,
0x84
,
0xfa
,
0xc7
,
0x4f
,
0x13
,
0xbb
,
0xc5
,
0x09
,
0x72
,
0x58
,
0x7c
,
0x17
,
0xba
,
0xb7
,
0xc3
,
0xe0
,
0xc8
,
0x8f
,
0x26
,
0xd4
,
0xe3
,
0x0a
,
0xa1
,
0xeb
,
0xd0
,
0x75
,
0x0d
,
0x8c
,
0x6d
,
0x95
,
0xa8
,
0x9d
,
0xa3
,
0xc1
,
0xbf
,
0x58
,
0x00
,
0xca
,
0x6b
,
0xa3
,
0x39
,
0x42
,
0xd0
,
0x48
,
0xe6
,
0xbe
,
0xc7
,
0x3d
,
0xd6
,
0x20
,
0xfc
,
0x1b
,
0x6d
,
0x42
,
0x2b
,
0x99
,
0xef
,
0x39
,
0xf1
,
0x53
,
0xe9
,
0x25
,
0x09
,
0xa1
,
0x2d
,
0x58
,
0xa1
,
0x73
,
0xea
,
0xce
,
0x12
,
0xea
,
0xd9
,
0xf5
,
0xbe
,
0x35
,
0x58
,
0x21
,
0x29
,
0x2c
,
0xee
,
0x8c
,
0x16
,
0x53
,
0x6a
,
0x37
,
0x38
,
0x27
,
0x09
,
0x15
,
0xfc
,
0xde
,
0x2c
,
0xf1
,
0x7b
,
0xd1
,
0x90
,
0x56
,
0x05
,
0x43
,
0x3e
,
0x80
,
0xa6
,
0xf0
,
0xc3
,
0x45
,
0x68
,
0xf3
,
0xd0
,
0x68
,
0x91
,
0xcf
,
0x10
,
0x4c
,
0xb1
,
0x53
,
0xe1
,
0xd7
,
0x9a
,
0x50
,
0x4c
,
0x40
,
0xf8
,
0x3b
,
0x0b
,
0x20
,
0x8b
,
0x16
,
0x23
,
0x8b
,
0x17
,
0x93
,
0xc3
,
0x70
,
0x2c
,
0x39
,
0x48
,
0x88
,
0xe1
,
0x99
,
0x8d
,
0x54
,
0x65
,
0x8c
,
0x84
,
0x58
,
0xbe
,
0x65
,
0xf1
,
0xe5
,
0xde
,
0x68
,
0x10
,
0x0d
,
0xc3
,
0xce
,
0xe3
,
0x29
,
0x0d
,
0x92
,
0x51
,
0xe8
,
0x39
,
0x0b
,
0xe9
,
0x13
,
0x0d
,
0xc3
,
0x12
,
0x62
,
0xec
,
0xc4
,
0xc9
,
0xae
,
0xb3
,
0xe0
,
0x2e
,
0xa9
,
0x13
,
0x05
,
0xe2
,
0x43
,
0x58
,
0x7f
,
0xc4
,
0x65
,
0xff
,
0x7d
,
0xda
,
0xe1
,
0x6f
,
0x1b
,
0xd0
,
0x55
,
0x49
,
0x30
,
0x74
,
0x13
,
0x3f
,
0x0c
,
0xd0
,
0x1e
,
0x6c
,
0xa4
,
0x41
,
0x71
,
0xdd
,
0xdb
,
0xbc
,
0x72
,
0xb8
,
0xb4
,
0xce
,
0x8e
,
0x2d
,
0xe3
,
0xb0
,
0x9f
,
0x3f
,
0xdf
,
0x5b
,
0x22
,
0xc5
,
0x4b
,
0xe8
,
0x13
,
0xe8
,
0x29
,
0x24
,
0x0f
,
0xd0
,
0xc1
,
0x94
,
0x46
,
0x8c
,
0x59
,
0x8d
,
0x33
,
0x7b
,
0x35
,
0xc7
,
0x4c
,
0x27
,
0xd9
,
0x5b
,
0x22
,
0xa5
,
0x57
,
0xd1
,
0x7d
,
0x40
,
0x9a
,
0x1c
,
0xc5
,
0xb0
,
0xce
,
0x19
,
0xbe
,
0x52
,
0xd4
,
0x2e
,
0x63
,
0x57
,
0x72
,
0x4d
,
0xb7
,
0x54
,
0x56
,
0xd4
,
0x68
,
0xce
,
0x23
,
0x54
,
0xb4
,
0x34
,
0x3d
,
0xd7
,
0x2d
,
0x4d
,
0x91
,
0xe8
,
0x09
,
0x6c
,
0x2a
,
0xe4
,
0x9d
,
0x39
,
0x75
,
0x47
,
0x91
,
0x13
,
0xc4
,
0x47
,
0x34
,
0x1a
,
0x85
,
0x3c
,
0xa6
,
0x9d
,
0x9d
,
0xd7
,
0x72
,
0xec
,
0x4c
,
0xa2
,
0xbd
,
0x25
,
0x72
,
0xc6
,
0x75
,
0xf4
,
0x19
,
0xd8
,
0x65
,
0x27
,
0x77
,
0xa3
,
0x70
,
0xc2
,
0xdb
,
0x43
,
0x67
,
0xe7
,
0xf5
,
0x73
,
0x58
,
0x33
,
0xb2
,
0xbd
,
0x25
,
0x72
,
0x26
,
0x0b
,
0xd4
,
0x85
,
0xda
,
0x68
,
0x61
,
0x2f
,
0xf7
,
0xad
,
0x41
,
0x93
,
0xd4
,
0x46
,
0x8b
,
0x8f
,
0x96
,
0xa1
,
0x79
,
0xe2
,
0x8c
,
0x67
,
0x14
,
0x7f
,
0x6f
,
0xc1
,
0x46
,
0x21
,
0xca
,
0x5a
,
0x5f
,
0xb4
,
0xce
,
0xe9
,
0x8b
,
0xc5
,
0x46
,
0x56
,
0x2b
,
0x6b
,
0x64
,
0xe8
,
0x46
,
0x21
,
0x37
,
0x3b
,
0x3b
,
0xff
,
0x97
,
0x1c
,
0xf3
,
0x89
,
0x6f
,
0x24
,
0xed
,
0xcf
,
0x16
,
0xf4
,
0xca
,
0xb2
,
0x06
,
0x0d
,
0xe0
,
0x82
,
0x16
,
0x66
,
0xad
,
0x0d
,
0xe4
,
0xd1
,
0xac
,
0x83
,
0x85
,
0x63
,
0xd9
,
0x63
,
0x44
,
0xc5
,
0xa4
,
0x30
,
0x3b
,
0x0b
,
0xe8
,
0xa9
,
0x38
,
0xab
,
0x8b
,
0x33
,
0x05
,
0xb3
,
0x16
,
0x13
,
0xd0
,
0x53
,
0x69
,
0x96
,
0x28
,
0xe6
,
0x0c
,
0x81
,
0xfa
,
0xd0
,
0x09
,
0x85
,
0x2a
,
0x77
,
0xc7
,
0xce
,
0xb1
,
0x6c
,
0xf0
,
0x3a
,
0x0a
,
0xff
,
0x6a
,
0x01
,
0x2a
,
0xe6
,
0xe7
,
0x0b
,
0x28
,
0x6e
,
0x3a
,
0xad
,
0x56
,
0xd9
,
0x69
,
0xe8
,
0x4d
,
0xd8
,
0x08
,
0xe8
,
0x29
,
0x31
,
0x03
,
0x23
,
0x1a
,
0x42
,
0xf1
,
0x20
,
0x6f
,
0x49
,
0x83
,
0x37
,
0x79
,
0xc3
,
0x92
,
0x1f
,
0x2c
,
0xb0
,
0xcf
,
0xca
,
0xb9
,
0xf3
,
0xda
,
0x94
,
0x33
,
0xe1
,
0xc3
,
0xaf
,
0xc6
,
0x7b
,
0x9d
,
0x84
,
0xd8
,
0xf0
,
0x09
,
0x42
,
0x59
,
0xc8
,
0x6d
,
0xc2
,
0xbf
,
0xd5
,
0x90
,
0x09
,
0x9c
,
0x89
,
0x18
,
0x25
,
0x6d
,
0x92
,
0xc2
,
0x2c
,
0x6f
,
0x93
,
0x50
,
0x8e
,
0x90
,
0x5a
,
0x12
,
0xb2
,
0xfb
,
0x47
,
0xaa
,
0x24
,
0xda
,
0x84
,
0x7f
,
0xe3
,
0x6f
,
0x2c
,
0xd8
,
0x2c
,
0xaf
,
0xb7
,
0x7f
,
0x5a
,
0x3d
,
0xfc
,
0x65
,
0x56
,
0x4c
,
0x59
,
0xcf
,
0xa8
,
0x1e
,
0x73
,
0x3e
,
0x9a
,
0xef
,
0x79
,
0xb2
,
0x8c
,
0xf8
,
0x37
,
0xbb
,
0x2d
,
0xc7
,
0xe0
,
0x41
,
0x44
,
0xe8
,
0x49
,
0xf8
,
0x39
,
0x95
,
0x93
,
0x38
,
0x8f
,
0xc6
,
0x37
,
0xe1
,
0x02
,
0xa1
,
0xcf
,
0xb4
,
0xa4
,
0x8b
,
0x51
,
0x0f
,
0x9a
,
0x71
,
0xe2
,
0x44
,
0x09
,
0x17
,
0x58
,
0x27
,
0x02
,
0x40
,
0xeb
,
0x50
,
0xa7
,
0x81
,
0x27
,
0x4d
,
0x67
,
0x9f
,
0xf8
,
0x2d
,
0xd8
,
0x20
,
0x74
,
0x3a
,
0x5e
,
0x18
,
0x97
,
0x6d
,
0x58
,
0x76
,
0x3c
,
0x2f
,
0xa2
,
0xb1
,
0xe8
,
0x02
,
0x6d
,
0xa2
,
0x40
,
0xfc
,
0x21
,
0x20
,
0x53
,
0xd2
,
0xbd
,
0xe0
,
0x28
,
0xac
,
0x6e
,
0x27
,
0xfe
,
0xd3
,
0x82
,
0x5e
,
0x5e
,
0x1e
,
0x67
,
0xf1
,
0x9f
,
0xdf
,
0xe9
,
0x7e
,
0xb4
,
0x60
,
0x5d
,
0x73
,
0xdd
,
0x68
,
0xee
,
0x7b
,
0x71
,
0xc1
,
0x2a
,
0xab
,
0xc4
,
0xaa
,
0x2d
,
0x58
,
0x61
,
0xc9
,
0x3e
,
0xca
,
0xd2
,
0x23
,
0x85
,
0xf9
,
0x26
,
0x16
,
0xf2
,
0x93
,
0xba
,
0xdc
,
0xc4
,
0x38
,
0xc4
,
0xd4
,
0x9d
,
0xd2
,
0xc0
,
0xf3
,
0x03
,
0x55
,
0xd7
,
0x0a
,
0x34
,
0xf6
,
0xba
,
0xa6
,
0xb9
,
0xd7
,
0xe1
,
0x07
,
0x2c
,
0xb8
,
0x5a
,
0x6c
,
0xaa
,
0xeb
,
0xd8
,
0x83
,
0x26
,
0xdb
,
0x26
,
0x63
,
0xbb
,
0xd6
,
0xaf
,
0x0f
,
0x1a
,
0x44
,
0x00
,
0xf8
,
0x3e
,
0xcb
,
0x2d
,
0xcd
,
0x62
,
0x1e
,
0xe8
,
0x2a
,
0xec
,
0x4a
,
0xaa
,
0x01
,
0x3f
,
0x84
,
0xff
,
0xe5
,
0x94
,
0xe3
,
0xec
,
0x6e
,
0xca
,
0x1f
,
0x88
,
0x14
,
0x23
,
0xf7
,
0x98
,
0x8d
,
0xdc
,
0xcc
,
0x1c
,
0xcd
,
0x49
,
0x8e
,
0x10
,
0x4f
,
0x61
,
0xcb
,
0xcc
,
0xe5
,
0xc7
,
0xc1
,
0xa3
,
0x6c
,
0x69
,
0xab
,
0xa2
,
0xe7
,
0x59
,
0x2b
,
0x59
,
0xd6
,
0x7c
,
0xea
,
0x7a
,
0xf3
,
0xc1
,
0x0f
,
0xa5
,
0x83
,
0xa5
,
0xa0
,
0x61
,
0x1c
,
0xd3
,
0x24
,
0x46
,
0xef
,
0xc3
,
0xda
,
0x4c
,
0x47
,
0xc8
,
0xec
,
0xed
,
0x49
,
0x0b
,
0x0c
,
0x62
,
0x62
,
0x92
,
0xe2
,
0x07
,
0xb0
,
0x66
,
0x32
,
0x7b
,
0x03
,
0x5a
,
0x8e
,
0xe0
,
0x22
,
0xfc
,
0xb0
,
0x26
,
0xb9
,
0xc8
,
0xeb
,
0xf2
,
0x30
,
0xd7
,
0x06
,
0x1b
,
0xaa
,
0x0d
,
0xe2
,
0x77
,
0x58
,
0x27
,
0x71
,
0xa9
,
0x3f
,
0x4d
,
0xd2
,
0xbf
,
0xad
,
0x0a
,
0x8e
,
0xc0
,
0x5f
,
0xb0
,
0xaa
,
0xe6
,
0xd7
,
0x0e
,
0xe4
,
0x32
,
0x7e
,
0x10
,
0xed
,
0xd2
,
0x71
,
0x25
,
0x27
,
0x62
,
0x68
,
0x86
,
0xe9
,
0x90
,
0xce
,
0x17
,
0xad
,
0x38
,
0x62
,
0x59
,
0xeb
,
0x48
,
0x9e
,
0xea
,
0x6f
,
0x44
,
0xc1
,
0xf8
,
0x27
,
0xcb
,
0x14
,
0xbe
,
0x1f
,
0x7a
,
0xac
,
0x31
,
0x4e
,
0x2b
,
0x09
,
0xbf
,
0x0a
,
0xed
,
0x69
,
0x44
,
0x4f
,
0x0e
,
0xce
,
0x54
,
0x20
,
0x3b
,
0x46
,
0x6f
,
0xc3
,
0xaa
,
0x3b
,
0x8b
,
0x22
,
0x1a
,
0x24
,
0xd9
,
0xe2
,
0x90
,
0x27
,
0x37
,
0x28
,
0x98
,
0xda
,
0x13
,
0xa9
,
0x8d
,
0xac
,
0xc3
,
0x14
,
0xc6
,
0xcf
,
0x59
,
0x3e
,
0x73
,
0xad
,
0x45
,
0x83
,
0xd8
,
0x0f
,
0x3d
,
0xff
,
0xa8
,
0x5a
,
0xda
,
0x5d
,
0x02
,
0x60
,
0x5a
,
0x19
,
0x9b
,
0x97
,
0x86
,
0x41
,
0x97
,
0x61
,
0x4d
,
0xaa
,
0x61
,
0xec
,
0x00
,
0x26
,
0x12
,
0xff
,
0x66
,
0x81
,
0x2d
,
0x35
,
0xc8
,
0xba
,
0x9e
,
0xda
,
0x56
,
0xaa
,
0xa8
,
0x71
,
0x13
,
0xba
,
0x4c
,
0xe8
,
0x6e
,
0x7e
,
0x57
,
0x29
,
0xe9
,
0xa5
,
0x39
,
0x42
,
0x74
,
0x83
,
0x6b
,
0xb8
,
0x9b
,
0x5f
,
0x0d
,
0x4b
,
0x6e
,
0x9a
,
0x74
,
0x6c
,
0x69
,
0xe1
,
0x81
,
0x17
,
0xde
,
0x52
,
0x4b
,
0x8b
,
0x86
,
0xc2
,
0x5f
,
0xf3
,
0x3e
,
0xcb
,
0xcd
,
0xca
,
0x06
,
0xf1
,
0xad
,
0x6c
,
0x40
,
0x8d
,
0xe6
,
0xea
,
0xff
,
0x99
,
0x49
,
0xdc
,
0x2c
,
0xb4
,
0x09
,
0x11
,
0xc7
,
0x3c
,
0x39
,
0xba
,
0x0a
,
0xeb
,
0xea
,
0x9f
,
0x34
,
0x9d
,
0xc6
,
0x35
,
0x2e
,
0xbd
,
0x80
,
0x67
,
0x19
,
0xb9
,
0x25
,
0x55
,
0x18
,
0xba
,
0x6e
,
0xa6
,
0xfd
,
0xe3
,
0xa9
,
0xf7
,
0x2f
,
0xf6
,
0x2d
,
0xfe
,
0xc3
,
0x62
,
0xfd
,
0xda
,
0x28
,
0xfe
,
0x97
,
0xe2
,
0x3a
,
0x0c
,
0xab
,
0x4c
,
0xc5
,
0x3b
,
0x6a
,
0xec
,
0x08
,
0xb7
,
0x19
,
0x38
,
0x16
,
0x57
,
0x77
,
0x16
,
0xdd
,
0x31
,
0x5f
,
0x1c
,
0x74
,
0x14
,
0xdb
,
0x31
,
0xe2
,
0xd9
,
0x21
,
0x4b
,
0xd1
,
0x48
,
0xc6
,
0x55
,
0x46
,
0x3f
,
0x8f
,
0xd6
,
0x9e
,
0x34
,
0x9a
,
0xc6
,
0x93
,
0x46
,
0xf6
,
0x6c
,
0xd1
,
0xd2
,
0x9f
,
0x2d
,
0xf0
,
0xa7
,
0x69
,
0xff
,
0x18
,
0x89
,
0x99
,
0xfe
,
0x02
,
0x71
,
0x62
,
0x6b
,
0xcb
,
0x2c
,
0x92
,
0xf7
,
0x54
,
0x29
,
0x66
,
0x18
,
0xfc
,
0x1c
,
0x2e
,
0xec
,
0x17
,
0xdd
,
0x51
,
0x6d
,
0x00
,
0xfa
,
0xda
,
0x00
,
0xf4
,
0xbd
,
0x92
,
0x97
,
0x93
,
0xb2
,
0x06
,
0x94
,
0x7f
,
0x39
,
0xb9
,
0x08
,
0xad
,
0xc7
,
0x7e
,
0x90
,
0xbc
,
0x7b
,
0x9d
,
0xf1
,
0xf4
,
0x9c
,
0xc4
,
0x51
,
0xaf
,
0x3f
,
0xec
,
0x1b
,
0x47
,
0xb0
,
0x36
,
0x14
,
0xef
,
0x6c
,
0x72
,
0x7c
,
0x54
,
0x51
,
0x2e
,
0x1b
,
0x31
,
0xb5
,
0x6a
,
0x23
,
0xa6
,
0xae
,
0x6f
,
0xda
,
0x38
,
0x84
,
0x55
,
0x42
,
0x9f
,
0xb1
,
0x85
,
0xf0
,
0xa5
,
0x8b
,
0xec
,
0x41
,
0xd3
,
0x8f
,
0x87
,
0x63
,
0x35
,
0x23
,
0x04
,
0x80
,
0x6f
,
0x41
,
0x97
,
0x4f
,
0xdd
,
0x4c
,
0xe4
,
0x36
,
0xb4
,
0x1d
,
0x05
,
0xc8
,
0xff
,
0xdc
,
0x75
,
0xc5
,
0x51
,
0xe1
,
0x49
,
0x46
,
0x82
,
0xbf
,
0x82
,
0x76
,
0x76
,
0xb9
,
0xe2
,
0x84
,
0xbd
,
0x04
,
0x10
,
0x51
,
0xf7
,
0x64
,
0xa8
,
0xff
,
0x6c
,
0x68
,
0x18
,
0x34
,
0x80
,
0x65
,
0xf9
,
0xc4
,
0x29
,
0xe3
,
0xd8
,
0xcd
,
0x34
,
0x60
,
0x58
,
0xa2
,
0x8e
,
0xf1
,
0x7b
,
0xd0
,
0x1a
,
0xa6
,
0x2e
,
0x95
,
0xfb
,
0x86
,
0x75
,
0xc6
,
0xbe
,
0x51
,
0x33
,
0xf6
,
0x8d
,
0x2b
,
0x00
,
0x72
,
0xf1
,
0xa6
,
0xf1
,
0x39
,
0x5b
,
0xfd
,
0x61
,
0x8b
,
0x3f
,
0xb2
,
0x5e
,
0xfb
,
0x2b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x6c
,
0xd0
,
0xe8
,
0xee
,
0x8c
,
0x15
,
0x00
,
0x00
,
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment