You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by cm...@apache.org on 2019/08/28 13:40:31 UTC
[incubator-milagro-dta] branch policy updated (c94d466 -> 28c3f2b)
This is an automated email from the ASF dual-hosted git repository.
cmorris pushed a change to branch policy
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-dta.git.
from c94d466 Add Policy to protobuffer defs
new 6770275 Add policy to order
new 28c3f2b Add policy to protobuffers and order
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
cmd/servicetester/e2e_test.sh | 12 +-
go.mod | 5 +-
go.sum | 15 ++
libs/documents/docs.pb.go | 294 +++++++++++++++++++-----------------
libs/documents/docs.proto | 62 ++++----
libs/documents/docs.validator.pb.go | 27 +++-
libs/documents/policy_test.go | 5 +-
pkg/api/proto.go | 57 +++++++
pkg/common/common.go | 16 +-
pkg/defaultservice/order.go | 3 +-
10 files changed, 311 insertions(+), 185 deletions(-)
[incubator-milagro-dta] 02/02: Add policy to protobuffers and order
Posted by cm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cmorris pushed a commit to branch policy
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-dta.git
commit 28c3f2b6a62d6c1023aaa24d98b7d2c877da52db
Author: Christopher Morris <ch...@morris.net>
AuthorDate: Wed Aug 28 14:34:29 2019 +0100
Add policy to protobuffers and order
---
cmd/servicetester/e2e_test.sh | 11 +-
go.mod | 5 +-
go.sum | 15 ++
libs/documents/docs.pb.go | 294 +++++++++++++++++++-----------------
libs/documents/docs.proto | 61 ++++----
libs/documents/docs.validator.pb.go | 27 +++-
libs/documents/policy_test.go | 5 +-
pkg/api/proto.go | 49 +++---
pkg/common/common.go | 15 +-
9 files changed, 274 insertions(+), 208 deletions(-)
diff --git a/cmd/servicetester/e2e_test.sh b/cmd/servicetester/e2e_test.sh
index d3dbbce..c84c0cc 100755
--- a/cmd/servicetester/e2e_test.sh
+++ b/cmd/servicetester/e2e_test.sh
@@ -2,7 +2,9 @@
#End to End Test of Services using curl/bash
apiVersion="v1"
-simplePolicy='{"policy":{ "example":"single fiduciary","walletRef": "CD-2367-227","beneficiarydocid":"","nodeId": "123","coin": 0,"sharingGroups": [{"groupref": "Back Office Team","threshold":1,"ids": [{"id": "alice","idType": "oidc","idRef": "Alice"}]}],"participantCount": 7}}'
+simplePolicy='{ "example":"single fiduciary","walletRef": "CD-2367-227","beneficiarydocid":"","nodeId": "123","coin": 0,"sharingGroups": [{"groupref": "Back Office Team","threshold":1,"ids": [{"id": "alice","idType": "oidc","idRef": "Alice"}]}],"participantCount": 7}'
+
+#simplePolicy='policy:{"example":"single fiduciary"}'
status () {
#Determine if an extension is running
@@ -23,6 +25,9 @@ status () {
execute_bitcoin () {
#Run 2 Tests against the Bitcoin Extension
echo "Bitcoin Plugin Tests [2 Tests]"
+
+# echo "http://localhost:5556/$apiVersion/order" -H "accept: */*" -H "Content-Type: application/json" -d "{\"policy\":$simplePolicy,\"beneficiaryIDDocumentCID\":\"\",\"extension\":{\"coin\":\"0\"}}"
+
output1=$(curl -s -X POST "http://localhost:5556/$apiVersion/order" -H "accept: */*" -H "Content-Type: application/json" -d "{\"policy\":$simplePolicy,\"beneficiaryIDDocumentCID\":\"\",\"extension\":{\"coin\":\"0\"}}")
echo $output1
op1=$(echo $output1 | jq .orderReference)
@@ -109,10 +114,8 @@ execute_safeguardsecret () {
execute_milagro () {
echo "Milagro Tests [1 Test]"
output1=$(curl -s -X POST "http://localhost:5556/$apiVersion/order" -H "accept: */*" -H "Content-Type: application/json" -d "{\"beneficiaryIDDocumentCID\":$identity}")
- echo $output1
op1=$(echo $output1 | jq .orderReference)
-
commitment1=$(echo $output1 | jq .commitment)
output2=$(curl -s -X POST "http://localhost:5556/$apiVersion/order/secret" -H "accept: */*" -H "Content-Type: application/json" -d "{\"orderReference\":$op1,\"beneficiaryIDDocumentCID\":$identity}")
commitment2=$(echo $output2 | jq .commitment)
@@ -154,7 +157,7 @@ execute_orderlist () {
#A simple smoke test to ensure some sort of order is returned
hasSecret=`echo $outputOrder | grep "Secret"`
- if [ -z $hasSecret ]; then
+ if [ -z "$hasSecret" ]; then
echo "Failed Order has error"
exit 1
else
diff --git a/go.mod b/go.mod
index 7adef26..2777869 100644
--- a/go.mod
+++ b/go.mod
@@ -1,10 +1,11 @@
module github.com/apache/incubator-milagro-dta
require (
- github.com/VividCortex/gohistogram v1.0.0 // indirect
+ code.qredo.net/libcustody v0.1.17
github.com/btcsuite/btcd v0.0.0-20190427004231-96897255fd17
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d
github.com/coreos/go-oidc v2.0.0+incompatible
+ github.com/ethereum/go-ethereum v1.8.27
github.com/go-kit/kit v0.8.0
github.com/go-playground/locales v0.12.1 // indirect
github.com/go-playground/universal-translator v0.16.0 // indirect
@@ -27,12 +28,10 @@ require (
github.com/multiformats/go-multihash v0.0.5
github.com/mwitkow/go-proto-validators v0.0.0-20190709101305-c00cd28f239a
github.com/pkg/errors v0.8.1
- github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect
github.com/prometheus/client_golang v0.9.3
github.com/stretchr/testify v1.3.0
github.com/tyler-smith/go-bip39 v1.0.0
go.etcd.io/bbolt v1.3.3
- google.golang.org/appengine v1.4.0 // indirect
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
gopkg.in/go-playground/validator.v9 v9.29.1
gopkg.in/square/go-jose.v2 v2.3.1 // indirect
diff --git a/go.sum b/go.sum
index 521c6f5..a7623ae 100644
--- a/go.sum
+++ b/go.sum
@@ -1,6 +1,9 @@
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVcx2bQD38uZZeGtdlw=
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+code.qredo.net/libcustody v0.1.17 h1:HobIrYBS/Viv7P43C+ubD6CGdS5Ax1itLV4+fq7fJgU=
+code.qredo.net/libcustody v0.1.17/go.mod h1:jfdOca8JV9wFPaXNJ3cOr+1p0qRtoNLtgJ/uOuAi430=
github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9 h1:HD8gA2tkByhMAwYaFAX9w2l7vxvBQ5NMoxDrkhqhtn4=
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
@@ -29,10 +32,12 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb
github.com/bren2010/proquint v0.0.0-20160323162903-38337c27106d h1:QgeLLoPD3kRVmeu/1al9iIpIANMi9O1zXFm8BnYGCJg=
github.com/bren2010/proquint v0.0.0-20160323162903-38337c27106d/go.mod h1:Jbj8eKecMNwf0KFI75skSUZqMB4UCRcndUScVBTWyUI=
github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8=
+github.com/btcsuite/btcd v0.0.0-20190410025418-9bfb2ca0346b/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8=
github.com/btcsuite/btcd v0.0.0-20190427004231-96897255fd17 h1:m0N5Vg5nP3zEz8TREZpwX3gt4Biw3/8fbIf4A3hO96g=
github.com/btcsuite/btcd v0.0.0-20190427004231-96897255fd17/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
+github.com/btcsuite/btcutil v0.0.0-20190316010144-3ac1210f4b38/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d h1:yJzD/yFppdVCf6ApMkVy8cUxV0XrxdP9rVf6D87/Mng=
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
@@ -75,6 +80,8 @@ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302/go.mod h1:qBlWZqWeVx9BjvqBsnC/8RUlAYpIFmPvgROcw0n1scE=
+github.com/ethereum/go-ethereum v1.8.27 h1:d+gkiLaBDk5fn3Pe/xNVaMrB/ozI+AUB2IlVBp29IrY=
+github.com/ethereum/go-ethereum v1.8.27/go.mod h1:PwpWDrCLZrV+tfrhqqF6kPknbISMHaJv9Ln3kPCZLwY=
github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 h1:BBso6MBKW8ncyZLv37o+KNyy0HrrHgfnOaGQC2qvN+A=
github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5/go.mod h1:JpoxHjuQauoxiFMl1ie8Xc/7TfLuMZ5eOCONd1sUBHg=
github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
@@ -124,6 +131,7 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
@@ -143,6 +151,7 @@ github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlS
github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI=
github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4=
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
+github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -150,6 +159,7 @@ github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
+github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
@@ -588,6 +598,7 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z
github.com/prometheus/procfs v0.0.0-20190519111021-9935e8e0588d h1:Z5QMcUKnQw7ouB1wDuyZM6TL/rm+brJcNk6Ai8ut3zM=
github.com/prometheus/procfs v0.0.0-20190519111021-9935e8e0588d/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
+github.com/rafaeljusto/redigomock v0.0.0-20190202135759-257e089e14a1/go.mod h1:JaY6n2sDr+z2WTsXkOmNRUfDy6FN0L6Nk7x06ndm4tY=
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
@@ -712,6 +723,7 @@ golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190310074541-c10a0554eabf/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -723,6 +735,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwL
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.0.0-20190319182350-c85d3e98c914 h1:jIOcLT9BZzyJ9ce+IwwZ+aF9yeCqzrR+NrD68a/SHKw=
+golang.org/x/oauth2 v0.0.0-20190319182350-c85d3e98c914/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -789,6 +803,7 @@ gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXa
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
gopkg.in/go-playground/validator.v9 v9.29.1 h1:SvGtYmN60a5CVKTOzMSyfzWDeZRxRuGvRQyEAKbw1xc=
gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
+gopkg.in/square/go-jose.v2 v2.3.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4=
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
diff --git a/libs/documents/docs.pb.go b/libs/documents/docs.pb.go
index 51e50dd..a93e74c 100644
--- a/libs/documents/docs.pb.go
+++ b/libs/documents/docs.pb.go
@@ -7,6 +7,7 @@ import (
fmt "fmt"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/golang/protobuf/proto"
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "github.com/mwitkow/go-proto-validators"
math "math"
)
@@ -709,20 +710,21 @@ func (m *PolicyWrapper) GetPolicy() *Policy {
}
type Policy struct {
- Example string `protobuf:"bytes,2,opt,name=example,proto3" json:"example,omitempty"`
- WalletRef string `protobuf:"bytes,3,opt,name=walletRef,proto3" json:"walletRef,omitempty"`
- NodeId string `protobuf:"bytes,4,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
- Coin int64 `protobuf:"varint,5,opt,name=coin,proto3" json:"coin,omitempty"`
- SharingGroups []*SharingGroup `protobuf:"bytes,6,rep,name=sharingGroups,proto3" json:"sharingGroups,omitempty"`
- ParticipantCount int64 `protobuf:"varint,7,opt,name=participantCount,proto3" json:"participantCount,omitempty"`
- Threshold int64 `protobuf:"varint,8,opt,name=threshold,proto3" json:"threshold,omitempty"`
- Signers []int64 `protobuf:"varint,9,rep,packed,name=signers,proto3" json:"signers,omitempty"`
- PublicAddress string `protobuf:"bytes,10,opt,name=publicAddress,proto3" json:"publicAddress,omitempty"`
- Beneficiarydocid string `protobuf:"bytes,11,opt,name=beneficiarydocid,proto3" json:"beneficiarydocid,omitempty"`
- DateTime int64 `protobuf:"varint,12,opt,name=dateTime,proto3" json:"dateTime,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ Example string `protobuf:"bytes,2,opt,name=Example,json=example,proto3" json:"Example,omitempty"`
+ WalletRef string `protobuf:"bytes,3,opt,name=WalletRef,json=walletRef,proto3" json:"WalletRef,omitempty"`
+ NodeId string `protobuf:"bytes,4,opt,name=NodeId,json=nodeId,proto3" json:"NodeId,omitempty"`
+ CoinType int64 `protobuf:"varint,5,opt,name=CoinType,json=coin,proto3" json:"CoinType,omitempty"`
+ SharingGroups []*SharingGroup `protobuf:"bytes,6,rep,name=SharingGroups,json=sharingGroups,proto3" json:"SharingGroups,omitempty"`
+ ParticipantCount int64 `protobuf:"varint,7,opt,name=ParticipantCount,json=participantCount,proto3" json:"ParticipantCount,omitempty"`
+ Threshold int64 `protobuf:"varint,8,opt,name=Threshold,json=threshold,proto3" json:"Threshold,omitempty"`
+ Signers []int64 `protobuf:"varint,9,rep,packed,name=Signers,json=signers,proto3" json:"Signers,omitempty"`
+ PublicAddress string `protobuf:"bytes,10,opt,name=PublicAddress,json=publicaddress,proto3" json:"PublicAddress,omitempty"`
+ BeneficiaryDocCID string `protobuf:"bytes,11,opt,name=BeneficiaryDocCID,json=beneficiarydocid,proto3" json:"BeneficiaryDocCID,omitempty"`
+ UpdatedAt *timestamp.Timestamp `protobuf:"bytes,12,opt,name=UpdatedAt,json=updatedAt,proto3" json:"UpdatedAt,omitempty"`
+ CreatedAt *timestamp.Timestamp `protobuf:"bytes,13,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *Policy) Reset() { *m = Policy{} }
@@ -771,9 +773,9 @@ func (m *Policy) GetNodeId() string {
return ""
}
-func (m *Policy) GetCoin() int64 {
+func (m *Policy) GetCoinType() int64 {
if m != nil {
- return m.Coin
+ return m.CoinType
}
return 0
}
@@ -813,31 +815,38 @@ func (m *Policy) GetPublicAddress() string {
return ""
}
-func (m *Policy) GetBeneficiarydocid() string {
+func (m *Policy) GetBeneficiaryDocCID() string {
if m != nil {
- return m.Beneficiarydocid
+ return m.BeneficiaryDocCID
}
return ""
}
-func (m *Policy) GetDateTime() int64 {
+func (m *Policy) GetUpdatedAt() *timestamp.Timestamp {
if m != nil {
- return m.DateTime
+ return m.UpdatedAt
}
- return 0
+ return nil
+}
+
+func (m *Policy) GetCreatedAt() *timestamp.Timestamp {
+ if m != nil {
+ return m.CreatedAt
+ }
+ return nil
}
type SharingGroup struct {
- Groupid int64 `protobuf:"varint,1,opt,name=groupid,proto3" json:"groupid,omitempty"`
- Groupref string `protobuf:"bytes,2,opt,name=groupref,proto3" json:"groupref,omitempty"`
- Ids []*Identity `protobuf:"bytes,3,rep,name=ids,proto3" json:"ids,omitempty"`
- Threshold int64 `protobuf:"varint,4,opt,name=threshold,proto3" json:"threshold,omitempty"`
- Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
- TimeStamp int64 `protobuf:"varint,6,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"`
- Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ GroupID int64 `protobuf:"varint,1,opt,name=GroupID,json=groupId,proto3" json:"GroupID,omitempty"`
+ GroupRef string `protobuf:"bytes,2,opt,name=GroupRef,json=groupref,proto3" json:"GroupRef,omitempty"`
+ IDs []*Identity `protobuf:"bytes,3,rep,name=IDs,json=ids,proto3" json:"IDs,omitempty"`
+ Threshold int64 `protobuf:"varint,4,opt,name=Threshold,json=threshold,proto3" json:"Threshold,omitempty"`
+ Signature []byte `protobuf:"bytes,5,opt,name=Signature,json=signature,proto3" json:"Signature,omitempty"`
+ TimeStamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=TimeStamp,json=timeStamp,proto3" json:"TimeStamp,omitempty"`
+ Status string `protobuf:"bytes,7,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *SharingGroup) Reset() { *m = SharingGroup{} }
@@ -865,23 +874,23 @@ func (m *SharingGroup) XXX_DiscardUnknown() {
var xxx_messageInfo_SharingGroup proto.InternalMessageInfo
-func (m *SharingGroup) GetGroupid() int64 {
+func (m *SharingGroup) GetGroupID() int64 {
if m != nil {
- return m.Groupid
+ return m.GroupID
}
return 0
}
-func (m *SharingGroup) GetGroupref() string {
+func (m *SharingGroup) GetGroupRef() string {
if m != nil {
- return m.Groupref
+ return m.GroupRef
}
return ""
}
-func (m *SharingGroup) GetIds() []*Identity {
+func (m *SharingGroup) GetIDs() []*Identity {
if m != nil {
- return m.Ids
+ return m.IDs
}
return nil
}
@@ -900,11 +909,11 @@ func (m *SharingGroup) GetSignature() []byte {
return nil
}
-func (m *SharingGroup) GetTimeStamp() int64 {
+func (m *SharingGroup) GetTimeStamp() *timestamp.Timestamp {
if m != nil {
return m.TimeStamp
}
- return 0
+ return nil
}
func (m *SharingGroup) GetStatus() string {
@@ -916,15 +925,15 @@ func (m *SharingGroup) GetStatus() string {
// Identity of a sharing group
type Identity struct {
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- IdRef string `protobuf:"bytes,2,opt,name=idRef,proto3" json:"idRef,omitempty"`
- IdType string `protobuf:"bytes,3,opt,name=idType,proto3" json:"idType,omitempty"`
- Share []byte `protobuf:"bytes,4,opt,name=share,proto3" json:"share,omitempty"`
- Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
- TimeStamp int64 `protobuf:"varint,6,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ ID string `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"`
+ IDRef string `protobuf:"bytes,2,opt,name=IDRef,json=idRef,proto3" json:"IDRef,omitempty"`
+ IDType string `protobuf:"bytes,3,opt,name=IDType,json=idType,proto3" json:"IDType,omitempty"`
+ Share []byte `protobuf:"bytes,4,opt,name=Share,json=share,proto3" json:"Share,omitempty"`
+ Status string `protobuf:"bytes,5,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
+ TimeStamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=TimeStamp,json=timeStamp,proto3" json:"TimeStamp,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *Identity) Reset() { *m = Identity{} }
@@ -952,23 +961,23 @@ func (m *Identity) XXX_DiscardUnknown() {
var xxx_messageInfo_Identity proto.InternalMessageInfo
-func (m *Identity) GetId() string {
+func (m *Identity) GetID() string {
if m != nil {
- return m.Id
+ return m.ID
}
return ""
}
-func (m *Identity) GetIdRef() string {
+func (m *Identity) GetIDRef() string {
if m != nil {
- return m.IdRef
+ return m.IDRef
}
return ""
}
-func (m *Identity) GetIdType() string {
+func (m *Identity) GetIDType() string {
if m != nil {
- return m.IdType
+ return m.IDType
}
return ""
}
@@ -987,11 +996,11 @@ func (m *Identity) GetStatus() string {
return ""
}
-func (m *Identity) GetTimeStamp() int64 {
+func (m *Identity) GetTimeStamp() *timestamp.Timestamp {
if m != nil {
return m.TimeStamp
}
- return 0
+ return nil
}
type PlainTestMessage1 struct {
@@ -1122,9 +1131,9 @@ func init() {
proto.RegisterType((*OrderPart3)(nil), "documents.OrderPart3")
proto.RegisterType((*OrderPart4)(nil), "documents.OrderPart4")
proto.RegisterType((*PolicyWrapper)(nil), "documents.PolicyWrapper")
- proto.RegisterType((*Policy)(nil), "documents.policy")
- proto.RegisterType((*SharingGroup)(nil), "documents.sharingGroup")
- proto.RegisterType((*Identity)(nil), "documents.identity")
+ proto.RegisterType((*Policy)(nil), "documents.Policy")
+ proto.RegisterType((*SharingGroup)(nil), "documents.SharingGroup")
+ proto.RegisterType((*Identity)(nil), "documents.Identity")
proto.RegisterType((*PlainTestMessage1)(nil), "documents.PlainTestMessage1")
proto.RegisterType((*EncryptTestMessage1)(nil), "documents.EncryptTestMessage1")
proto.RegisterType((*SimpleString)(nil), "documents.SimpleString")
@@ -1133,85 +1142,90 @@ func init() {
func init() { proto.RegisterFile("docs.proto", fileDescriptor_2a25dace11219bce) }
var fileDescriptor_2a25dace11219bce = []byte{
- // 1267 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x4b, 0x6f, 0x1c, 0xc5,
- 0x13, 0xd7, 0x78, 0xec, 0x8d, 0xa7, 0xbc, 0xf6, 0xdf, 0xe9, 0x38, 0xc9, 0x28, 0xff, 0x08, 0x5b,
- 0x23, 0x83, 0x0c, 0xc2, 0x36, 0x59, 0x3b, 0x11, 0x58, 0x20, 0x14, 0xef, 0x86, 0xb0, 0xe2, 0xb5,
- 0xf4, 0x5a, 0x06, 0x29, 0x4a, 0xa4, 0xf1, 0x74, 0x79, 0xb7, 0x95, 0xdd, 0xe9, 0xd1, 0x4c, 0x6f,
- 0x92, 0x15, 0x70, 0xe6, 0xc0, 0x81, 0x03, 0x5c, 0xb9, 0x20, 0xe5, 0xca, 0x11, 0xbe, 0x00, 0x5f,
- 0x03, 0x59, 0xf8, 0x00, 0xe2, 0x13, 0xc0, 0x0d, 0xd4, 0x3d, 0xaf, 0x1e, 0xdb, 0x1b, 0xe7, 0x80,
- 0xc4, 0x9e, 0xba, 0x5e, 0xdd, 0xf5, 0xf8, 0x55, 0xd5, 0x2c, 0x00, 0x13, 0x41, 0xb2, 0x11, 0xc5,
- 0x42, 0x0a, 0xe2, 0x30, 0x11, 0x8c, 0x86, 0x18, 0xca, 0xe4, 0xda, 0xad, 0x1e, 0x97, 0xfd, 0xd1,
- 0xc1, 0x46, 0x20, 0x86, 0x9b, 0xc3, 0xc7, 0x5c, 0x3e, 0x14, 0x8f, 0x37, 0x7b, 0x62, 0x5d, 0xeb,
- 0xad, 0x3f, 0xf2, 0x07, 0x9c, 0xf9, 0x52, 0xc4, 0xc9, 0x66, 0x71, 0x4c, 0xaf, 0xb8, 0xb6, 0x6e,
- 0xd8, 0xf5, 0x44, 0x4f, 0x6c, 0x6a, 0xf6, 0xc1, 0xe8, 0x50, 0x53, 0x9a, 0xd0, 0xa7, 0x54, 0xdd,
- 0xfb, 0xca, 0x82, 0x85, 0x2e, 0xef, 0x85, 0xc8, 0xee, 0x84, 0x8f, 0x70, 0x20, 0x22, 0x24, 0xab,
- 0xe0, 0x28, 0x8e, 0x2f, 0x47, 0x31, 0xba, 0xd6, 0x8a, 0xb5, 0x56, 0xdf, 0xad, 0x1d, 0x1f, 0x2d,
- 0x4f, 0x45, 0x4b, 0xb4, 0x14, 0x90, 0x37, 0x52, 0x2d, 0x8c, 0x9b, 0xed, 0x96, 0x3b, 0xb5, 0x62,
- 0xad, 0x39, 0xbb, 0xff, 0x3f, 0x3e, 0x5a, 0xbe, 0x0a, 0x97, 0x1f, 0x7c, 0x7c, 0xef, 0xde, 0x8e,
- 0x3f, 0x08, 0x47, 0xc3, 0x9d, 0xfb, 0xf7, 0x3f, 0xdb, 0xbe, 0xf9, 0xc5, 0xea, 0xe7, 0x0f, 0x56,
- 0x69, 0xa9, 0x4d, 0x5c, 0xb8, 0xf0, 0x01, 0x26, 0x89, 0xdf, 0x43, 0xd7, 0x56, 0xd7, 0xd3, 0x9c,
- 0xf4, 0x04, 0xcc, 0x16, 0x6e, 0xbc, 0x0c, 0xb5, 0x77, 0xd1, 0x67, 0x18, 0x6b, 0x1f, 0xe6, 0x1a,
- 0x17, 0x37, 0x8a, 0xe4, 0x6c, 0xa4, 0x02, 0x9a, 0x29, 0x10, 0x02, 0xd3, 0xbb, 0x82, 0x8d, 0xb5,
- 0x1b, 0x75, 0xaa, 0xcf, 0x64, 0x15, 0xe6, 0xef, 0x84, 0x41, 0x3c, 0x8e, 0x24, 0x32, 0x2d, 0x4c,
- 0x9f, 0xaa, 0x32, 0xbd, 0xef, 0xed, 0xfc, 0x15, 0x72, 0x05, 0x6a, 0xed, 0xce, 0x3b, 0xdd, 0x76,
- 0x4b, 0xbf, 0xe7, 0xd0, 0x8c, 0x52, 0xde, 0xee, 0x63, 0x9c, 0x70, 0x11, 0xea, 0xfb, 0xa7, 0x68,
- 0x4e, 0x92, 0x57, 0x61, 0xb6, 0xe5, 0x4b, 0xdc, 0xe3, 0xc3, 0x34, 0x10, 0x7b, 0x77, 0xf1, 0xf8,
- 0x68, 0xb9, 0xbe, 0xf8, 0xf4, 0xcb, 0xdf, 0xfe, 0x98, 0x71, 0x9f, 0xfe, 0xfc, 0xe3, 0x37, 0x63,
- 0x5a, 0x68, 0x90, 0x15, 0x98, 0xeb, 0xc4, 0xf8, 0x88, 0x8b, 0x51, 0xa2, 0x52, 0x36, 0xad, 0x1f,
- 0x31, 0x59, 0xc4, 0x83, 0xba, 0x72, 0x6a, 0x6f, 0x1c, 0x61, 0x53, 0x30, 0x74, 0x67, 0xf4, 0x73,
- 0x15, 0x9e, 0xba, 0x45, 0xd1, 0xb9, 0x47, 0x35, 0xad, 0x62, 0xb2, 0xc8, 0x36, 0x5c, 0xae, 0xc4,
- 0x58, 0x5c, 0x77, 0x41, 0xeb, 0x9e, 0x2d, 0x24, 0x0d, 0x58, 0xaa, 0x08, 0xf2, 0x07, 0x66, 0xb5,
- 0xd1, 0x99, 0x32, 0xb2, 0x06, 0xff, 0xab, 0xf0, 0xdb, 0xfb, 0xae, 0xa3, 0x93, 0x7c, 0x92, 0x4d,
- 0xde, 0x04, 0xa0, 0x18, 0xf0, 0x88, 0xab, 0xea, 0xb9, 0xb0, 0x62, 0xaf, 0xcd, 0x35, 0x96, 0x8c,
- 0x7a, 0x16, 0xc2, 0x14, 0x69, 0xfd, 0x25, 0x6a, 0xe8, 0x7b, 0x3f, 0x58, 0xe0, 0x14, 0xa4, 0x59,
- 0x0f, 0xab, 0x5a, 0x8f, 0x75, 0xb0, 0x9f, 0x13, 0x8c, 0x4a, 0x2f, 0x73, 0xdf, 0x8f, 0x92, 0xd1,
- 0xc0, 0x97, 0xc8, 0xde, 0xc3, 0x1c, 0x23, 0x27, 0xd9, 0xe4, 0x05, 0x80, 0x26, 0x8f, 0xfa, 0x18,
- 0xef, 0xe1, 0x13, 0xa9, 0x2b, 0x57, 0xa7, 0x06, 0x87, 0x2c, 0xc0, 0x54, 0x7b, 0x5f, 0x97, 0xab,
- 0x4e, 0xa7, 0xda, 0xfb, 0xde, 0x5f, 0x16, 0x40, 0xbb, 0xd5, 0xca, 0xc2, 0x23, 0xaf, 0xc3, 0xd5,
- 0xdb, 0x23, 0xd9, 0xc7, 0x50, 0xf2, 0xc0, 0x97, 0x5c, 0x84, 0x14, 0x0f, 0x31, 0xc6, 0x30, 0xc0,
- 0x0c, 0x6a, 0x93, 0xc4, 0xe4, 0x16, 0x5c, 0xd9, 0xc5, 0x10, 0x0f, 0x79, 0xc0, 0xfd, 0x78, 0x7c,
- 0xa7, 0xd9, 0x19, 0x1d, 0x0c, 0x78, 0xa0, 0x3c, 0x4d, 0xa1, 0x3e, 0x41, 0xaa, 0xc0, 0xdf, 0xe5,
- 0x0f, 0xb1, 0x54, 0xcf, 0xc0, 0x5f, 0x61, 0x6a, 0xbc, 0xbd, 0xdf, 0x2d, 0x95, 0xd2, 0xc0, 0x2a,
- 0x3c, 0xb2, 0x01, 0x8e, 0x42, 0x6f, 0x22, 0xfd, 0x61, 0xa4, 0x23, 0x3c, 0x0b, 0xe4, 0xa5, 0x8a,
- 0xf7, 0xa7, 0x0d, 0xf3, 0x1f, 0xc5, 0x0c, 0xe3, 0x22, 0x7a, 0x02, 0xd3, 0x0a, 0x65, 0x59, 0xa8,
- 0xfa, 0x4c, 0x5e, 0x82, 0xe9, 0xa6, 0xe0, 0x69, 0x43, 0xd9, 0xbb, 0xe4, 0xf8, 0x68, 0x79, 0x61,
- 0xf1, 0xef, 0xfc, 0x67, 0xb9, 0xbf, 0x5f, 0xa0, 0x5a, 0x4e, 0xde, 0x86, 0x7a, 0x27, 0xe6, 0x61,
- 0xc0, 0x23, 0x7f, 0xa0, 0x4a, 0x6b, 0x9f, 0x5f, 0xda, 0x8a, 0x01, 0x69, 0xc2, 0x82, 0x91, 0xa2,
- 0xa2, 0xef, 0x9e, 0x7d, 0xc5, 0x09, 0x13, 0x35, 0x10, 0xcb, 0x8a, 0xcd, 0x68, 0x7b, 0x0d, 0xd3,
- 0x4f, 0x2d, 0x5a, 0x0a, 0xaa, 0x99, 0xaa, 0x9d, 0x9b, 0x29, 0x72, 0x13, 0x40, 0x27, 0xaa, 0xe3,
- 0xc7, 0xb2, 0xa1, 0x9b, 0x73, 0xae, 0x71, 0xd9, 0xe8, 0x89, 0x52, 0x48, 0x0d, 0xc5, 0x8a, 0xd9,
- 0x96, 0x6e, 0xcf, 0x09, 0x66, 0x5b, 0x86, 0xd9, 0x56, 0xc5, 0x6c, 0x5b, 0xb7, 0xe9, 0x04, 0xb3,
- 0x6d, 0xc3, 0x6c, 0x5b, 0x0d, 0xe1, 0x48, 0x0c, 0x78, 0x30, 0x76, 0xe1, 0xd4, 0x10, 0x4e, 0x05,
- 0x34, 0x53, 0xf0, 0x7e, 0xb2, 0xcc, 0x80, 0xc8, 0x6b, 0x70, 0xa9, 0x29, 0x86, 0x43, 0x2e, 0x95,
- 0x72, 0x89, 0xb1, 0x14, 0x05, 0x67, 0x89, 0xc8, 0x5d, 0x58, 0xcc, 0xa7, 0xa1, 0xbe, 0xe7, 0x39,
- 0x7b, 0xf9, 0x94, 0x51, 0xb5, 0x12, 0xf6, 0xf9, 0x98, 0xfd, 0xd5, 0xf4, 0x7c, 0x4b, 0x75, 0x3b,
- 0x45, 0x86, 0xc3, 0x48, 0xe6, 0x33, 0xc6, 0xa1, 0x06, 0xe7, 0xdf, 0xf3, 0x73, 0x07, 0x5c, 0xb3,
- 0x7f, 0xf3, 0x99, 0xd9, 0xf2, 0xa5, 0x9f, 0x35, 0xec, 0x44, 0x79, 0x35, 0xc6, 0xe9, 0xf3, 0x63,
- 0xfc, 0xce, 0x8c, 0x71, 0x5b, 0x2d, 0xbb, 0x2e, 0x06, 0x31, 0xca, 0x7c, 0xd9, 0xa5, 0xd4, 0x7f,
- 0x57, 0x83, 0x1d, 0x98, 0xef, 0x68, 0x1c, 0x7d, 0x12, 0xfb, 0x51, 0x84, 0xb1, 0x81, 0x3c, 0xeb,
- 0x3c, 0xe4, 0x7d, 0x6d, 0xe7, 0xba, 0x6a, 0x39, 0xe0, 0x13, 0x7f, 0x18, 0x0d, 0x30, 0x75, 0x9b,
- 0xe6, 0x24, 0xb9, 0x0e, 0xce, 0x63, 0x7f, 0x30, 0x40, 0x49, 0xf1, 0x30, 0x9d, 0x23, 0xb4, 0x64,
- 0xa8, 0x7c, 0x84, 0x82, 0x61, 0x9b, 0x65, 0x7b, 0x39, 0xa3, 0xd4, 0xf0, 0x0a, 0xd4, 0xa0, 0xd2,
- 0x93, 0x8f, 0xea, 0x33, 0x79, 0x0b, 0xe6, 0x93, 0xbe, 0x1f, 0xf3, 0xb0, 0x77, 0x37, 0x16, 0xa3,
- 0x28, 0x71, 0x6b, 0x7a, 0x9f, 0x5d, 0x35, 0x1c, 0x34, 0xe5, 0xb4, 0xaa, 0x4d, 0x5e, 0x81, 0xc5,
- 0xc8, 0x8f, 0x25, 0x57, 0x33, 0x2a, 0x94, 0x4d, 0x31, 0x0a, 0xa5, 0xee, 0x7e, 0x9b, 0x9e, 0xe2,
- 0x2b, 0xa7, 0x65, 0x3f, 0xc6, 0xa4, 0x2f, 0x06, 0x4c, 0xf7, 0xba, 0x4d, 0x4b, 0x86, 0x0a, 0x36,
- 0xd1, 0x1f, 0x55, 0x89, 0xeb, 0xac, 0xd8, 0x6b, 0x36, 0xcd, 0x49, 0x35, 0xff, 0x23, 0xdd, 0x57,
- 0xb7, 0x19, 0x8b, 0x31, 0x49, 0x74, 0xf7, 0x3a, 0xb4, 0xca, 0x54, 0x9e, 0x1c, 0x94, 0xf8, 0x62,
- 0x22, 0xe0, 0xcc, 0x9d, 0xd3, 0x8a, 0xa7, 0xf8, 0xea, 0x5b, 0x87, 0xe5, 0xdf, 0x3a, 0xf5, 0x49,
- 0xdf, 0x3a, 0xb9, 0x86, 0xf7, 0x8b, 0x05, 0x75, 0x33, 0x6a, 0xe5, 0x6a, 0x4f, 0x1d, 0x38, 0xd3,
- 0xe5, 0xb4, 0x69, 0x4e, 0x92, 0x6b, 0x30, 0xab, 0x8f, 0x31, 0x1e, 0x66, 0x25, 0x2b, 0x68, 0xf2,
- 0x22, 0xd8, 0x9c, 0x25, 0xae, 0xad, 0xf3, 0x7b, 0xc9, 0xc8, 0x2f, 0x67, 0x6a, 0x5b, 0xca, 0x31,
- 0x55, 0xf2, 0x6a, 0x96, 0xa6, 0x4f, 0x66, 0xe9, 0x3a, 0x38, 0x49, 0xf1, 0x39, 0x9b, 0xee, 0xe8,
- 0x92, 0xa1, 0x6d, 0xf9, 0x10, 0xbb, 0xe5, 0xd4, 0xa6, 0x25, 0x43, 0xc1, 0x22, 0x91, 0xbe, 0x1c,
- 0x25, 0xba, 0x42, 0x0e, 0xcd, 0x28, 0xef, 0x5b, 0x0b, 0x66, 0x73, 0x1f, 0xd4, 0xf6, 0xcf, 0xc2,
- 0x72, 0xe8, 0x14, 0x67, 0x64, 0x09, 0x66, 0x38, 0xa3, 0x45, 0x38, 0x29, 0xa1, 0xae, 0xe2, 0x4c,
- 0x2f, 0xc2, 0x14, 0x7c, 0x19, 0xa5, 0xb4, 0x55, 0xa6, 0x30, 0xdb, 0xbe, 0x29, 0x61, 0x3c, 0x3c,
- 0x63, 0x3e, 0xfc, 0x6c, 0x77, 0xbd, 0x1b, 0x70, 0xb1, 0x33, 0xf0, 0x79, 0xb8, 0x87, 0x89, 0xcc,
- 0x3e, 0xa9, 0x6f, 0x28, 0x93, 0x0f, 0xfd, 0x21, 0x4a, 0x4c, 0xe4, 0x8d, 0xcc, 0xcb, 0x92, 0xe1,
- 0x6d, 0xc1, 0xa5, 0x6c, 0xb0, 0x4c, 0x32, 0x6a, 0x9c, 0x34, 0x6a, 0x78, 0x6b, 0x50, 0xef, 0x72,
- 0xd5, 0x55, 0x5d, 0xa9, 0x4a, 0xac, 0xaa, 0xdb, 0x14, 0xa1, 0xc4, 0x30, 0x1f, 0x27, 0x39, 0x79,
- 0x50, 0xd3, 0xff, 0x32, 0xb6, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x63, 0xbb, 0xd8, 0x02, 0xe5,
- 0x0c, 0x00, 0x00,
+ // 1352 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xcf, 0x6f, 0x1b, 0xc5,
+ 0x17, 0x97, 0xb3, 0xb6, 0xe3, 0x7d, 0xb1, 0xf3, 0x75, 0xa7, 0x69, 0xbb, 0xca, 0xb7, 0xfa, 0x26,
+ 0xb2, 0xf2, 0x45, 0xe1, 0x47, 0x1c, 0xea, 0xa4, 0x55, 0x89, 0x40, 0xa8, 0xb1, 0x43, 0xb1, 0x80,
+ 0x62, 0xc6, 0x21, 0x45, 0xaa, 0x5a, 0x69, 0xb3, 0xfb, 0x62, 0x8f, 0x6a, 0xef, 0xac, 0x76, 0xc7,
+ 0x6d, 0x2d, 0xe0, 0xcc, 0x81, 0x23, 0x67, 0x2e, 0x48, 0xbd, 0x22, 0x4e, 0xf0, 0x0f, 0xf0, 0x57,
+ 0x70, 0x89, 0xc8, 0x01, 0xc4, 0x5f, 0x00, 0x9c, 0x40, 0x33, 0xb3, 0x6b, 0xcf, 0xa6, 0x09, 0xae,
+ 0x10, 0x12, 0x7b, 0xda, 0xf7, 0x6b, 0xe6, 0xfd, 0xf8, 0xbc, 0xf7, 0x06, 0xc0, 0xe7, 0x5e, 0x5c,
+ 0x0f, 0x23, 0x2e, 0x38, 0xb1, 0x7d, 0xee, 0x8d, 0x86, 0x18, 0x88, 0x78, 0xf9, 0x46, 0x8f, 0x89,
+ 0xfe, 0xe8, 0xb0, 0xee, 0xf1, 0xe1, 0xe6, 0xf0, 0x31, 0x13, 0x0f, 0xf9, 0xe3, 0xcd, 0x1e, 0xdf,
+ 0x50, 0x7a, 0x1b, 0x8f, 0xdc, 0x01, 0xf3, 0x5d, 0xc1, 0xa3, 0x78, 0x73, 0xf2, 0xab, 0x8f, 0x58,
+ 0xde, 0x30, 0xec, 0x7a, 0xbc, 0xc7, 0x37, 0x15, 0xfb, 0x70, 0x74, 0xa4, 0x28, 0x45, 0xa8, 0xbf,
+ 0x44, 0x7d, 0xa5, 0xc7, 0x79, 0x6f, 0x80, 0x53, 0x2d, 0xc1, 0x86, 0x18, 0x0b, 0x77, 0x18, 0x6a,
+ 0x85, 0xda, 0xe7, 0x39, 0x58, 0xec, 0xb2, 0x5e, 0x80, 0xfe, 0x5e, 0xf0, 0x08, 0x07, 0x3c, 0x44,
+ 0xb2, 0x06, 0xb6, 0xe4, 0xb8, 0x62, 0x14, 0xa1, 0x93, 0x5b, 0xcd, 0xad, 0x97, 0x77, 0x8b, 0x27,
+ 0xc7, 0x2b, 0x73, 0xe1, 0x12, 0x9d, 0x0a, 0xc8, 0x6b, 0x5a, 0x0b, 0xa3, 0x66, 0xbb, 0xe5, 0xcc,
+ 0xad, 0xe6, 0xd6, 0xed, 0xdd, 0xff, 0x9e, 0x1c, 0xaf, 0x5c, 0x81, 0x4b, 0x0f, 0x3e, 0xb8, 0x77,
+ 0x6f, 0xc7, 0x1d, 0x04, 0xa3, 0xe1, 0xce, 0xfd, 0xfb, 0x1f, 0x6f, 0x5f, 0xff, 0x74, 0xed, 0x93,
+ 0x07, 0x6b, 0x74, 0xaa, 0x4d, 0x1c, 0x98, 0x7f, 0x0f, 0xe3, 0xd8, 0xed, 0xa1, 0x63, 0xc9, 0xe3,
+ 0x69, 0x4a, 0xd6, 0x38, 0x94, 0x26, 0x6e, 0xbc, 0x08, 0xc5, 0xb7, 0xd1, 0xf5, 0x31, 0x52, 0x3e,
+ 0x2c, 0x34, 0x2e, 0xd4, 0x27, 0xd9, 0xab, 0x6b, 0x01, 0x4d, 0x14, 0x08, 0x81, 0xfc, 0x2e, 0xf7,
+ 0xc7, 0xca, 0x8d, 0x32, 0x55, 0xff, 0x64, 0x0d, 0x2a, 0x7b, 0x81, 0x17, 0x8d, 0x43, 0x81, 0xbe,
+ 0x12, 0xea, 0xab, 0xb2, 0xcc, 0xda, 0x57, 0x56, 0x7a, 0x0b, 0xb9, 0x0c, 0xc5, 0x76, 0xe7, 0xad,
+ 0x6e, 0xbb, 0xa5, 0xee, 0xb3, 0x69, 0x42, 0x49, 0x6f, 0x0f, 0x30, 0x8a, 0x19, 0x0f, 0xd4, 0xf9,
+ 0x73, 0x34, 0x25, 0xc9, 0x2b, 0x50, 0x6a, 0xb9, 0x02, 0xf7, 0xd9, 0x50, 0x07, 0x62, 0xed, 0x56,
+ 0x4f, 0x8e, 0x57, 0xca, 0xd5, 0xa7, 0x9f, 0xfd, 0xf4, 0x4b, 0xc1, 0x79, 0xfa, 0xfd, 0xb7, 0x5f,
+ 0x8c, 0xe9, 0x44, 0x83, 0xac, 0xc2, 0x42, 0x27, 0xc2, 0x47, 0x8c, 0x8f, 0x62, 0x99, 0xb2, 0xbc,
+ 0xba, 0xc4, 0x64, 0x91, 0x1a, 0x94, 0xa5, 0x53, 0xfb, 0xe3, 0x10, 0x9b, 0xdc, 0x47, 0xa7, 0xa0,
+ 0xae, 0xcb, 0xf0, 0xe4, 0x29, 0x92, 0x4e, 0x3d, 0x2a, 0x2a, 0x15, 0x93, 0x45, 0xb6, 0xe1, 0x52,
+ 0x26, 0xc6, 0xc9, 0x71, 0xf3, 0x4a, 0xf7, 0x6c, 0x21, 0x69, 0xc0, 0x52, 0x46, 0x90, 0x5e, 0x50,
+ 0x52, 0x46, 0x67, 0xca, 0xc8, 0x3a, 0xfc, 0x27, 0xc3, 0x6f, 0x1f, 0x38, 0xb6, 0x4a, 0xf2, 0x69,
+ 0x36, 0x79, 0x1d, 0x80, 0xa2, 0xc7, 0x42, 0x26, 0xab, 0xe7, 0xc0, 0xaa, 0xb5, 0xbe, 0xd0, 0x58,
+ 0x32, 0xea, 0x39, 0x11, 0x6a, 0xa4, 0xf5, 0x97, 0xa8, 0xa1, 0x5f, 0xfb, 0x3a, 0x07, 0xf6, 0x84,
+ 0x34, 0xeb, 0x91, 0xcb, 0xd6, 0x63, 0x03, 0xac, 0xe7, 0x04, 0xa3, 0xd4, 0x4b, 0xdc, 0x77, 0xc3,
+ 0x78, 0x34, 0x70, 0x05, 0xfa, 0xef, 0x60, 0x8a, 0x91, 0xd3, 0x6c, 0xf2, 0x3f, 0x80, 0x26, 0x0b,
+ 0xfb, 0x18, 0xed, 0xe3, 0x13, 0xa1, 0x2a, 0x57, 0xa6, 0x06, 0x87, 0x2c, 0xc2, 0x5c, 0xfb, 0x40,
+ 0x95, 0xab, 0x4c, 0xe7, 0xda, 0x07, 0xb5, 0xdf, 0x72, 0x00, 0xed, 0x56, 0x2b, 0x09, 0x8f, 0xdc,
+ 0x84, 0x2b, 0xb7, 0x46, 0xa2, 0x8f, 0x81, 0x60, 0x9e, 0x2b, 0x18, 0x0f, 0x28, 0x1e, 0x61, 0x84,
+ 0x81, 0x87, 0x09, 0xd4, 0xce, 0x13, 0x93, 0x1b, 0x70, 0x79, 0x17, 0x03, 0x3c, 0x62, 0x1e, 0x73,
+ 0xa3, 0xf1, 0x5e, 0xb3, 0x33, 0x3a, 0x1c, 0x30, 0x4f, 0x7a, 0xaa, 0xa1, 0x7e, 0x8e, 0x54, 0x82,
+ 0xbf, 0xcb, 0x1e, 0xe2, 0x54, 0x3d, 0x01, 0x7f, 0x86, 0xa9, 0xf0, 0xf6, 0x6e, 0x77, 0xaa, 0xa4,
+ 0x03, 0xcb, 0xf0, 0x48, 0x1d, 0xec, 0xfd, 0x74, 0x64, 0xa8, 0x08, 0xcf, 0x02, 0xf9, 0x54, 0xa5,
+ 0xf6, 0xab, 0x05, 0x95, 0xf7, 0x23, 0x1f, 0xa3, 0x49, 0xf4, 0x04, 0xf2, 0x12, 0x65, 0x49, 0xa8,
+ 0xea, 0x9f, 0xbc, 0x00, 0xf9, 0x26, 0x67, 0xba, 0xa1, 0xac, 0x5d, 0x72, 0x72, 0xbc, 0xb2, 0x58,
+ 0xfd, 0x23, 0xfd, 0x72, 0xce, 0xcf, 0xf3, 0x54, 0xc9, 0xc9, 0x9b, 0x50, 0xee, 0x44, 0x2c, 0xf0,
+ 0x58, 0xe8, 0x0e, 0x64, 0x69, 0xad, 0xd9, 0xa5, 0xcd, 0x18, 0x90, 0x26, 0x2c, 0x1a, 0x29, 0x9a,
+ 0xf4, 0xdd, 0x5f, 0x1f, 0x71, 0xca, 0x44, 0x0e, 0xc4, 0x69, 0xc5, 0x0a, 0xca, 0x5e, 0xc1, 0xf4,
+ 0xa3, 0x1c, 0x9d, 0x0a, 0xb2, 0x99, 0x2a, 0xce, 0xcc, 0x14, 0xb9, 0x0e, 0xa0, 0x12, 0xd5, 0x71,
+ 0x23, 0xd1, 0x50, 0xcd, 0xb9, 0xd0, 0xb8, 0x64, 0xf4, 0xc4, 0x54, 0x48, 0x0d, 0xc5, 0x8c, 0xd9,
+ 0x96, 0x6a, 0xcf, 0x73, 0xcc, 0xb6, 0x0c, 0xb3, 0xad, 0x8c, 0xd9, 0xb6, 0x6a, 0xd3, 0x73, 0xcc,
+ 0xb6, 0x0d, 0xb3, 0x6d, 0x39, 0x84, 0x43, 0x3e, 0x60, 0xde, 0xd8, 0x81, 0x67, 0x86, 0x70, 0x47,
+ 0x09, 0x68, 0xa2, 0x50, 0xfb, 0x2e, 0x67, 0x06, 0x44, 0x5e, 0x85, 0x8b, 0x4d, 0x3e, 0x1c, 0x32,
+ 0x21, 0x95, 0xa7, 0x18, 0xd3, 0x28, 0x38, 0x4b, 0x44, 0x6e, 0x43, 0x35, 0x9d, 0x86, 0xea, 0x9c,
+ 0xe7, 0xec, 0xe5, 0x67, 0x8c, 0xb2, 0x95, 0xb0, 0x66, 0x63, 0xf6, 0x47, 0xd3, 0xf3, 0x2d, 0xd9,
+ 0xed, 0x14, 0x7d, 0x1c, 0x86, 0x22, 0x9d, 0x31, 0x36, 0x35, 0x38, 0xff, 0x9c, 0x9f, 0x3b, 0xe0,
+ 0x98, 0xfd, 0x9b, 0xce, 0xcc, 0x96, 0x2b, 0xdc, 0xa4, 0x61, 0xcf, 0x95, 0x67, 0x63, 0xcc, 0xcf,
+ 0x8e, 0xf1, 0x4b, 0x33, 0xc6, 0x6d, 0xb9, 0xec, 0xba, 0xe8, 0x45, 0x28, 0xd2, 0x65, 0xa7, 0xa9,
+ 0x7f, 0xaf, 0x06, 0x3b, 0x50, 0xd1, 0x78, 0xba, 0x1b, 0xb9, 0x61, 0x88, 0x91, 0x81, 0xbc, 0xdc,
+ 0x2c, 0xe4, 0xfd, 0x60, 0x41, 0x51, 0xb3, 0xe4, 0x72, 0xd8, 0x7b, 0xe2, 0x0e, 0xc3, 0x01, 0x6a,
+ 0xb7, 0xe9, 0x3c, 0x6a, 0x92, 0x5c, 0x05, 0xfb, 0xae, 0x3b, 0x18, 0xa0, 0xa0, 0x78, 0xa4, 0xe7,
+ 0x08, 0xb5, 0x1f, 0xa7, 0x0c, 0x99, 0x8f, 0x3b, 0xdc, 0xc7, 0xb6, 0x9f, 0xec, 0xe5, 0x62, 0xa0,
+ 0x28, 0x72, 0x19, 0x4a, 0x72, 0x10, 0xa9, 0x01, 0xa6, 0xa6, 0x1f, 0xcd, 0x7b, 0x72, 0x30, 0xbd,
+ 0x01, 0x95, 0x6e, 0xdf, 0x8d, 0x58, 0xd0, 0xbb, 0x1d, 0xf1, 0x51, 0x18, 0x3b, 0x45, 0xb5, 0xd3,
+ 0xae, 0x18, 0x4e, 0x9a, 0x72, 0x5a, 0x89, 0x4d, 0x6d, 0xf2, 0x12, 0x54, 0x65, 0x1d, 0x98, 0x9c,
+ 0x53, 0x81, 0x68, 0xf2, 0x51, 0x20, 0xd4, 0x04, 0xb0, 0x68, 0x35, 0x3c, 0xc5, 0x97, 0x8e, 0xef,
+ 0xf7, 0x23, 0x8c, 0xfb, 0x7c, 0xe0, 0xab, 0x7e, 0xb7, 0xa8, 0x2d, 0x52, 0x86, 0x0c, 0x58, 0x3f,
+ 0xac, 0x62, 0xc7, 0x5e, 0xb5, 0xd6, 0x2d, 0x3a, 0x1f, 0x6b, 0x52, 0xee, 0x00, 0xdd, 0x5b, 0xb7,
+ 0x7c, 0x3f, 0xc2, 0x38, 0x56, 0x1d, 0x6c, 0xd3, 0x4a, 0xa8, 0x98, 0xae, 0x66, 0x92, 0x97, 0xe1,
+ 0x82, 0x81, 0xb1, 0x16, 0xf7, 0x64, 0xc5, 0x17, 0x94, 0x66, 0xf5, 0x70, 0x2a, 0xf0, 0xb9, 0xc7,
+ 0x7c, 0x72, 0x13, 0xec, 0x0f, 0x43, 0x5f, 0x6e, 0xc5, 0x5b, 0xc2, 0x29, 0xab, 0xb2, 0x2c, 0xd7,
+ 0xf5, 0x0b, 0xb3, 0x9e, 0xbe, 0x30, 0xeb, 0x93, 0x9a, 0x52, 0x7b, 0x94, 0x2a, 0x4b, 0xcb, 0x66,
+ 0x84, 0x89, 0x65, 0x65, 0xb6, 0xa5, 0x97, 0x2a, 0xd7, 0x7e, 0xcf, 0x41, 0xd9, 0x4c, 0xa5, 0x8c,
+ 0x58, 0xfd, 0x24, 0x0f, 0x35, 0x8b, 0xce, 0xf7, 0x14, 0xe9, 0x93, 0x65, 0x28, 0xe9, 0x6c, 0xe3,
+ 0x51, 0x52, 0xfd, 0x92, 0x12, 0x45, 0x78, 0x44, 0xfe, 0x0f, 0x56, 0xbb, 0x15, 0x3b, 0x96, 0x2a,
+ 0xd3, 0x45, 0xa3, 0x4c, 0x6d, 0x5f, 0x2e, 0x5e, 0x31, 0xa6, 0x16, 0xf3, 0xe3, 0x6c, 0xb2, 0xf3,
+ 0xa7, 0x93, 0x7d, 0xd5, 0x7c, 0x19, 0xeb, 0x75, 0x6f, 0xc7, 0x93, 0x17, 0xf1, 0x4d, 0x0d, 0xf9,
+ 0xee, 0x64, 0x01, 0xcc, 0x88, 0x51, 0xa4, 0xca, 0xaa, 0x1b, 0x85, 0x2b, 0x46, 0xb1, 0x02, 0x81,
+ 0x4d, 0x8b, 0xb1, 0xa2, 0x6a, 0xdf, 0xe4, 0xa0, 0x94, 0xfa, 0xa7, 0x1e, 0x19, 0xe9, 0xdb, 0x74,
+ 0x8e, 0xf9, 0x64, 0x09, 0x0a, 0xed, 0xd6, 0x34, 0xd4, 0x02, 0xf3, 0x13, 0x20, 0xb7, 0x5b, 0x0a,
+ 0xae, 0x1a, 0xe3, 0x45, 0xe6, 0xab, 0x8d, 0xbb, 0x04, 0x05, 0x99, 0x45, 0x4c, 0x96, 0x7c, 0x41,
+ 0xe2, 0x11, 0x8d, 0x8b, 0x0b, 0xe6, 0xc5, 0x7f, 0x3f, 0x94, 0xda, 0x35, 0xb8, 0xd0, 0x19, 0xb8,
+ 0x2c, 0xd8, 0xc7, 0x58, 0x24, 0xaf, 0xfa, 0x6b, 0x32, 0x6f, 0x77, 0xdc, 0x21, 0x0a, 0x8c, 0xc5,
+ 0xb5, 0x24, 0x82, 0x29, 0xa3, 0xb6, 0x05, 0x17, 0x93, 0xd9, 0x76, 0x9e, 0x51, 0xe3, 0xb4, 0x51,
+ 0xa3, 0xb6, 0x0e, 0xe5, 0x2e, 0x93, 0x8d, 0xdd, 0x15, 0x12, 0x1a, 0x12, 0x15, 0x4d, 0x1e, 0x08,
+ 0x0c, 0xd2, 0x89, 0x96, 0x92, 0x87, 0x45, 0xe5, 0xf0, 0xd6, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff,
+ 0xea, 0x0c, 0x11, 0xd2, 0x89, 0x0d, 0x00, 0x00,
}
diff --git a/libs/documents/docs.proto b/libs/documents/docs.proto
index 06ae5be..41673e3 100644
--- a/libs/documents/docs.proto
+++ b/libs/documents/docs.proto
@@ -30,6 +30,8 @@ syntax="proto3";
package documents;
import "github.com/mwitkow/go-proto-validators/validator.proto";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
+import "google/protobuf/timestamp.proto";
+
//The Encrypted Envelope
message SignedEnvelope {
@@ -85,7 +87,7 @@ message OrderDocument {
OrderPart2 OrderPart2 = 7;
OrderPart3 OrderPart3 = 8;
OrderPart4 OrderPart4 = 9;
- policy policy = 10;
+ Policy policy = 10;
}
message OrderPart2 {
@@ -108,41 +110,42 @@ message OrderPart4 {
}
message PolicyWrapper{
- policy policy = 1;
+ Policy policy = 1;
}
-message policy{
- string example = 2;
- string walletRef = 3;
- string nodeId = 4;
- int64 coin = 5;
- repeated sharingGroup sharingGroups = 6;
- int64 participantCount = 7;
- int64 threshold = 8;
- repeated int64 signers = 9;
- string publicAddress = 10;
- string beneficiarydocid = 11;
- int64 dateTime = 12 [(validator.field) = {int_gt:1564050341,int_lt:32521429541}];
+message Policy{
+ string Example = 2 [json_name="example"];;
+ string WalletRef = 3 [json_name="walletRef"];;
+ string NodeId = 4 [json_name="nodeId"];;
+ int64 CoinType = 5 [json_name="coin"];;
+ repeated SharingGroup SharingGroups = 6 [json_name="sharingGroups"];;
+ int64 ParticipantCount = 7 [json_name="participantCount"];;
+ int64 Threshold = 8 [json_name="threshold"];
+ repeated int64 Signers = 9 [json_name="signers"];;
+ string PublicAddress = 10 [json_name="publicaddress"];;
+ string BeneficiaryDocCID = 11 [json_name="beneficiarydocid"];
+ google.protobuf.Timestamp UpdatedAt = 12 [json_name="updatedAt"];
+ google.protobuf.Timestamp CreatedAt = 13 [json_name="createdAt"];
}
-message sharingGroup {
- int64 groupid = 1;
- string groupref = 2;
- repeated identity ids = 3;
- int64 threshold = 4;
- bytes signature = 5;
- int64 timeStamp = 6;
- string status = 7;
+message SharingGroup {
+ int64 GroupID = 1 [json_name="groupId"];
+ string GroupRef = 2 [json_name="groupref"];
+ repeated Identity IDs = 3 [json_name="ids"];
+ int64 Threshold = 4 [json_name="threshold"];
+ bytes Signature = 5 [json_name="signature"];
+ google.protobuf.Timestamp TimeStamp = 6 [json_name="timeStamp"];
+ string Status = 7 [json_name="status"];
}
// Identity of a sharing group
-message identity {
- string id = 1;
- string idRef = 2;
- string idType = 3;
- bytes share = 4;
- string status = 5;
- int64 timeStamp = 6;
+message Identity {
+ string ID = 1 [json_name="id"];
+ string IDRef = 2 [json_name="idRef"];
+ string IDType = 3 [json_name="idType"];
+ bytes Share = 4 [json_name="share"];
+ string Status = 5 [json_name="status"];
+ google.protobuf.Timestamp TimeStamp = 6 [json_name="timeStamp"];
}
message PlainTestMessage1 {
diff --git a/libs/documents/docs.validator.pb.go b/libs/documents/docs.validator.pb.go
index ea66ec7..63dc63a 100644
--- a/libs/documents/docs.validator.pb.go
+++ b/libs/documents/docs.validator.pb.go
@@ -9,6 +9,7 @@ import (
proto "github.com/golang/protobuf/proto"
_ "github.com/mwitkow/go-proto-validators"
_ "github.com/gogo/protobuf/gogoproto"
+ _ "github.com/golang/protobuf/ptypes/timestamp"
regexp "regexp"
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
)
@@ -183,25 +184,39 @@ func (this *Policy) Validate() error {
}
}
}
- if !(this.DateTime > 1564050341) {
- return github_com_mwitkow_go_proto_validators.FieldError("DateTime", fmt.Errorf(`value '%v' must be greater than '1564050341'`, this.DateTime))
+ if this.UpdatedAt != nil {
+ if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.UpdatedAt); err != nil {
+ return github_com_mwitkow_go_proto_validators.FieldError("UpdatedAt", err)
+ }
}
- if !(this.DateTime < 32521429541) {
- return github_com_mwitkow_go_proto_validators.FieldError("DateTime", fmt.Errorf(`value '%v' must be less than '32521429541'`, this.DateTime))
+ if this.CreatedAt != nil {
+ if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.CreatedAt); err != nil {
+ return github_com_mwitkow_go_proto_validators.FieldError("CreatedAt", err)
+ }
}
return nil
}
func (this *SharingGroup) Validate() error {
- for _, item := range this.Ids {
+ for _, item := range this.IDs {
if item != nil {
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
- return github_com_mwitkow_go_proto_validators.FieldError("Ids", err)
+ return github_com_mwitkow_go_proto_validators.FieldError("IDs", err)
}
}
}
+ if this.TimeStamp != nil {
+ if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TimeStamp); err != nil {
+ return github_com_mwitkow_go_proto_validators.FieldError("TimeStamp", err)
+ }
+ }
return nil
}
func (this *Identity) Validate() error {
+ if this.TimeStamp != nil {
+ if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TimeStamp); err != nil {
+ return github_com_mwitkow_go_proto_validators.FieldError("TimeStamp", err)
+ }
+ }
return nil
}
func (this *PlainTestMessage1) Validate() error {
diff --git a/libs/documents/policy_test.go b/libs/documents/policy_test.go
index a0dbdff..3c5164d 100644
--- a/libs/documents/policy_test.go
+++ b/libs/documents/policy_test.go
@@ -9,9 +9,12 @@ import (
"github.com/stretchr/testify/assert"
)
+func Test_a(t *testing.T) {
+
+}
+
//Test_PolicyReadSamples - read in sample JSON polcies and ensure they are correctly
//parsed into JSON and then Protobuffer formats
-
func Test_PolicyReadSamples(t *testing.T) {
var policy *Policy
var err error
diff --git a/pkg/api/proto.go b/pkg/api/proto.go
index 52ed9bf..9c960fe 100644
--- a/pkg/api/proto.go
+++ b/pkg/api/proto.go
@@ -172,55 +172,56 @@ type StatusResponse struct {
//Policy - JSON polciy definition
type Policy struct {
+ Example string `json:"example" protobuf:"name=Example"`
// WalletRef is the customer ref ID for the wallet
- WalletRef string `json:"walletRef"`
+ WalletRef string `json:"walletRef" protobuf:"name=WalletRef"`
// NodeID as provided by the customer registration
- NodeID string `json:"nodeId"`
+ NodeID string `json:"nodeId" protobuf:"name=NodeID"`
// coinType is the coin type
// 0 - Bitcoin
// 1 - Bitcoin test
- CoinType int `json:"coin"`
+ CoinType int `json:"coin" protobuf:"name=CoinType"`
// Sharing groups. Each group defines a list of identities.
// The leader and the node are added automatically.
- SharingGroups []SharingGroup `json:"sharingGroups"`
+ SharingGroups []SharingGroup `json:"sharingGroups" protobuf:"name=SharingGroups"`
// The number of participants
- ParticipantCount uint `json:"participantCount"`
+ ParticipantCount uint `json:"participantCount" protobuf:"name=ParticipantCount"`
// The required number of signatures
- Threshold uint `json:"threshold"`
+ Threshold uint `json:"threshold" protobuf:"name=Threshold"`
// Slice that points to signer's keys
- Signers []uint `json:"signers"`
+ Signers []uint `json:"signers" protobuf:"name=Signers"`
//Public Address for deposit
- PublicAddress string `json:"publicaddress"`
+ PublicAddress string `json:"publicaddress" protobuf:"name=PublicAddress"`
//The beneficiary who is able to spend
- BeneficiaryDocID string `json:"beneficiarydocid"`
+ BeneficiaryDocID string `json:"beneficiarydocid" protobuf:"name=BeneficiaryDocCID"`
//TimeStamps
- CreatedAt time.Time `json:"createdAt"`
- UpdatedAt time.Time `json:"updatedAt"`
+ CreatedAt time.Time `json:"createdAt" protobuf:"name=CreatedAt"`
+ UpdatedAt time.Time `json:"updatedAt" protobuf:"name=UpdatedAt"`
}
// SharingGroup defines a list of identities that will hold
// the secret after split
type SharingGroup struct {
- GroupID int `json:"groupId"`
- GroupRef string `json:"groupref"`
- IDs []Identity `json:"ids"`
- Threshold int `json:"threshold"`
+ GroupID int `json:"groupId" protobuf:"name=GroupID"`
+ GroupRef string `json:"groupref" protobuf:"name=GroupRef"`
+ IDs []Identity `json:"ids" protobuf:"name=IDs"`
+ Threshold int `json:"threshold" protobuf:"name=Threshold"`
//Temporary store of pSig during withdrawal
- Signature []byte `json:"signature,omitempty"`
- TimeStamp time.Time `json:"timeStamp"`
- Status string `json:"status"`
+ Signature []byte `json:"signature,omitempty" protobuf:"name=Signature"`
+ TimeStamp time.Time `json:"timeStamp" protobuf:"name=TimeStamp"`
+ Status string `json:"status" protobuf:"name=Status"`
}
// Identity of a sharing group
type Identity struct {
// ID is a verifiable identity of IDType
- ID string `json:"id"`
+ ID string `json:"id" protobuf:"name=ID"`
// IDRef is the identity reference
- IDRef string `json:"idRef"`
+ IDRef string `json:"idRef" protobuf:"name=IDRef"`
// IDType is the identity type, e.g. "phone"
- IDType string `json:"idType"`
+ IDType string `json:"idType" protobuf:"name=IDType"`
//Temporary store of vss shares during withdrawal
- Share []byte `json:"share,omitempty"`
- Status string `json:"status"`
- TimeStamp time.Time `json:"timeStamp"`
+ Share []byte `json:"share,omitempty" protobuf:"name=Share"`
+ Status string `json:"status" protobuf:"name=Status"`
+ TimeStamp time.Time `json:"timeStamp" protobuf:"name=TimeStamp"`
}
diff --git a/pkg/common/common.go b/pkg/common/common.go
index 3105cf8..cd9bb7d 100644
--- a/pkg/common/common.go
+++ b/pkg/common/common.go
@@ -22,11 +22,14 @@ package common
import (
"encoding/hex"
+ "encoding/json"
"fmt"
"io"
"sync"
"time"
+ "github.com/gogo/protobuf/jsonpb"
+
"github.com/apache/incubator-milagro-dta/libs/cryptowallet"
"github.com/apache/incubator-milagro-dta/libs/datastore"
"github.com/apache/incubator-milagro-dta/libs/documents"
@@ -47,12 +50,21 @@ type IdentitySecrets struct {
}
// CreateNewDepositOrder - Generate an empty new Deposit Order with random reference
-func CreateNewDepositOrder(BeneficiaryIDDocumentCID string, nodeID string, policy api.Policy) (*documents.OrderDoc, error) {
+func CreateNewDepositOrder(BeneficiaryIDDocumentCID string, nodeID string, jsonPolicy api.Policy) (*documents.OrderDoc, error) {
//Create a reference for this order
reference, err := uuid.NewUUID()
if err != nil {
return nil, err
}
+
+ //Generate ProtoBuffer Version of the Policy from the JSON version
+ policy := &documents.Policy{}
+ policyJSONString, err := json.Marshal(jsonPolicy)
+ err = jsonpb.UnmarshalString(string(policyJSONString), policy)
+ if err != nil {
+ return nil, errors.Wrap(err, "Invalid Policy")
+ }
+
order := documents.NewOrderDoc()
//oder.Type will be used to extend the things that an order can do.
order.Type = "Safeguard_Secret"
@@ -60,6 +72,7 @@ func CreateNewDepositOrder(BeneficiaryIDDocumentCID string, nodeID string, polic
order.Reference = reference.String()
order.BeneficiaryCID = BeneficiaryIDDocumentCID
order.Timestamp = time.Now().Unix()
+ order.Policy = policy
return &order, nil
}
[incubator-milagro-dta] 01/02: Add policy to order
Posted by cm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cmorris pushed a commit to branch policy
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-dta.git
commit 67702758a11307f9aa5d6d7f1444679f9f308143
Author: Christopher Morris <ch...@morris.net>
AuthorDate: Wed Aug 28 11:29:05 2019 +0100
Add policy to order
---
cmd/servicetester/e2e_test.sh | 5 ++--
libs/documents/docs.proto | 1 +
pkg/api/proto.go | 56 +++++++++++++++++++++++++++++++++++++++++++
pkg/common/common.go | 3 ++-
pkg/defaultservice/order.go | 3 ++-
5 files changed, 64 insertions(+), 4 deletions(-)
diff --git a/cmd/servicetester/e2e_test.sh b/cmd/servicetester/e2e_test.sh
index 1b3588c..d3dbbce 100755
--- a/cmd/servicetester/e2e_test.sh
+++ b/cmd/servicetester/e2e_test.sh
@@ -2,6 +2,7 @@
#End to End Test of Services using curl/bash
apiVersion="v1"
+simplePolicy='{"policy":{ "example":"single fiduciary","walletRef": "CD-2367-227","beneficiarydocid":"","nodeId": "123","coin": 0,"sharingGroups": [{"groupref": "Back Office Team","threshold":1,"ids": [{"id": "alice","idType": "oidc","idRef": "Alice"}]}],"participantCount": 7}}'
status () {
#Determine if an extension is running
@@ -22,7 +23,7 @@ status () {
execute_bitcoin () {
#Run 2 Tests against the Bitcoin Extension
echo "Bitcoin Plugin Tests [2 Tests]"
- output1=$(curl -s -X POST "http://localhost:5556/$apiVersion/order" -H "accept: */*" -H "Content-Type: application/json" -d "{\"beneficiaryIDDocumentCID\":\"\",\"extension\":{\"coin\":\"0\"}}")
+ output1=$(curl -s -X POST "http://localhost:5556/$apiVersion/order" -H "accept: */*" -H "Content-Type: application/json" -d "{\"policy\":$simplePolicy,\"beneficiaryIDDocumentCID\":\"\",\"extension\":{\"coin\":\"0\"}}")
echo $output1
op1=$(echo $output1 | jq .orderReference)
commitment1=$(echo $output1 | jq .commitment)
@@ -108,7 +109,7 @@ execute_safeguardsecret () {
execute_milagro () {
echo "Milagro Tests [1 Test]"
output1=$(curl -s -X POST "http://localhost:5556/$apiVersion/order" -H "accept: */*" -H "Content-Type: application/json" -d "{\"beneficiaryIDDocumentCID\":$identity}")
- echo $output1
+ echo $output1
op1=$(echo $output1 | jq .orderReference)
diff --git a/libs/documents/docs.proto b/libs/documents/docs.proto
index f57e42d..06ae5be 100644
--- a/libs/documents/docs.proto
+++ b/libs/documents/docs.proto
@@ -167,3 +167,4 @@ message SimpleString {
// rtn = decodeEnv(char* encapsulationVersion, char* encapsulatedKey, char* SIKEprivKey)
// rtn = sign( char* BLSsk, char* signature)
// rtn = verify(char* signature, char* message)
+
diff --git a/pkg/api/proto.go b/pkg/api/proto.go
index 866911d..52ed9bf 100644
--- a/pkg/api/proto.go
+++ b/pkg/api/proto.go
@@ -76,6 +76,7 @@ type IdentityListResponse struct {
type OrderRequest struct {
// BeneficiaryIDDocumentCID string `json:"BeneficiaryIDDocumentCID,omitempty" validate:"omitempty,IPFS"`
BeneficiaryIDDocumentCID string `json:"beneficiaryIDDocumentCID,omitempty"`
+ Policy Policy `json:"Policy,omitempty"`
Extension map[string]string `json:"extension,omitempty"`
}
@@ -168,3 +169,58 @@ type StatusResponse struct {
Extension map[string]string `json:"extension,omitempty"`
Plugin string `json:"plugin,omitempty"`
}
+
+//Policy - JSON polciy definition
+type Policy struct {
+ // WalletRef is the customer ref ID for the wallet
+ WalletRef string `json:"walletRef"`
+ // NodeID as provided by the customer registration
+ NodeID string `json:"nodeId"`
+ // coinType is the coin type
+ // 0 - Bitcoin
+ // 1 - Bitcoin test
+ CoinType int `json:"coin"`
+ // Sharing groups. Each group defines a list of identities.
+ // The leader and the node are added automatically.
+ SharingGroups []SharingGroup `json:"sharingGroups"`
+ // The number of participants
+ ParticipantCount uint `json:"participantCount"`
+ // The required number of signatures
+ Threshold uint `json:"threshold"`
+ // Slice that points to signer's keys
+ Signers []uint `json:"signers"`
+ //Public Address for deposit
+ PublicAddress string `json:"publicaddress"`
+ //The beneficiary who is able to spend
+ BeneficiaryDocID string `json:"beneficiarydocid"`
+ //TimeStamps
+ CreatedAt time.Time `json:"createdAt"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+// SharingGroup defines a list of identities that will hold
+// the secret after split
+type SharingGroup struct {
+ GroupID int `json:"groupId"`
+ GroupRef string `json:"groupref"`
+ IDs []Identity `json:"ids"`
+ Threshold int `json:"threshold"`
+ //Temporary store of pSig during withdrawal
+ Signature []byte `json:"signature,omitempty"`
+ TimeStamp time.Time `json:"timeStamp"`
+ Status string `json:"status"`
+}
+
+// Identity of a sharing group
+type Identity struct {
+ // ID is a verifiable identity of IDType
+ ID string `json:"id"`
+ // IDRef is the identity reference
+ IDRef string `json:"idRef"`
+ // IDType is the identity type, e.g. "phone"
+ IDType string `json:"idType"`
+ //Temporary store of vss shares during withdrawal
+ Share []byte `json:"share,omitempty"`
+ Status string `json:"status"`
+ TimeStamp time.Time `json:"timeStamp"`
+}
diff --git a/pkg/common/common.go b/pkg/common/common.go
index b8b6b0c..3105cf8 100644
--- a/pkg/common/common.go
+++ b/pkg/common/common.go
@@ -31,6 +31,7 @@ import (
"github.com/apache/incubator-milagro-dta/libs/datastore"
"github.com/apache/incubator-milagro-dta/libs/documents"
"github.com/apache/incubator-milagro-dta/libs/ipfs"
+ "github.com/apache/incubator-milagro-dta/pkg/api"
"github.com/google/uuid"
"github.com/pkg/errors"
)
@@ -46,7 +47,7 @@ type IdentitySecrets struct {
}
// CreateNewDepositOrder - Generate an empty new Deposit Order with random reference
-func CreateNewDepositOrder(BeneficiaryIDDocumentCID string, nodeID string) (*documents.OrderDoc, error) {
+func CreateNewDepositOrder(BeneficiaryIDDocumentCID string, nodeID string, policy api.Policy) (*documents.OrderDoc, error) {
//Create a reference for this order
reference, err := uuid.NewUUID()
if err != nil {
diff --git a/pkg/defaultservice/order.go b/pkg/defaultservice/order.go
index c88e0ab..8e3fb7a 100644
--- a/pkg/defaultservice/order.go
+++ b/pkg/defaultservice/order.go
@@ -93,6 +93,7 @@ func (s *Service) Order(req *api.OrderRequest) (*api.OrderResponse, error) {
//Initialise values from Request object
beneficiaryIDDocumentCID := req.BeneficiaryIDDocumentCID
+ policy := req.Policy
iDDocID := s.NodeID()
recipientList, err := common.BuildRecipientList(s.Ipfs, iDDocID, s.MasterFiduciaryNodeID())
if err != nil {
@@ -105,7 +106,7 @@ func (s *Service) Order(req *api.OrderRequest) (*api.OrderResponse, error) {
}
//Create Order
- order, err := common.CreateNewDepositOrder(beneficiaryIDDocumentCID, iDDocID)
+ order, err := common.CreateNewDepositOrder(beneficiaryIDDocumentCID, iDDocID, policy)
if err != nil {
return nil, err
}