github.com/turingchain2020/turingchain@v1.1.21/types/proto/wallet.proto (about)

     1  syntax = "proto3";
     2  
     3  import "transaction.proto";
     4  import "account.proto";
     5  
     6  package types;
     7  option go_package = "github.com/turingchain2020/turingchain/types";
     8  
     9  //钱包模块存贮的tx交易详细信息
    10  // 	 tx : tx交易信息
    11  //	 receipt :交易收据信息
    12  //	 height :交易所在的区块高度
    13  //	 index :交易所在区块中的索引
    14  //	 blocktime :交易所在区块的时标
    15  //	 amount :交易量
    16  //	 fromaddr :交易打出地址
    17  //	 txhash : 交易对应的哈希值
    18  //	 actionName  :交易对应的函数调用
    19  //   payload: 保存额外的一些信息,主要是给插件使用
    20  message WalletTxDetail {
    21      Transaction tx         = 1;
    22      ReceiptData receipt    = 2;
    23      int64       height     = 3;
    24      int64       index      = 4;
    25      int64       blocktime  = 5;
    26      int64       amount     = 6;
    27      string      fromaddr   = 7;
    28      bytes       txhash     = 8;
    29      string      actionName = 9;
    30      bytes       payload    = 10;
    31  }
    32  
    33  message WalletTxDetails {
    34      repeated WalletTxDetail txDetails = 1;
    35  }
    36  
    37  //钱包模块存贮的账户信息
    38  // 	 privkey : 账户地址对应的私钥
    39  //	 label :账户地址对应的标签
    40  //	 addr :账户地址
    41  //	 timeStamp :创建账户时的时标
    42  message WalletAccountStore {
    43      string privkey   = 1;
    44      string label     = 2;
    45      string addr      = 3;
    46      string timeStamp = 4;
    47  }
    48  
    49  //钱包模块通过一个随机值对钱包密码加密
    50  // 	 pwHash : 对钱包密码和一个随机值组合进行哈希计算
    51  //	 randstr :对钱包密码加密的一个随机值
    52  message WalletPwHash {
    53      bytes  pwHash  = 1;
    54      string randstr = 2;
    55  }
    56  
    57  //钱包当前的状态
    58  // 	 isWalletLock : 钱包是否锁状态,true锁定,false解锁
    59  //	 isAutoMining :钱包是否开启挖矿功能,true开启挖矿,false关闭挖矿
    60  // 	 isHasSeed : 钱包是否有种子,true已有,false没有
    61  //	 isTicketLock :钱包挖矿买票锁状态,true锁定,false解锁,只能用于挖矿转账
    62  message WalletStatus {
    63      bool isWalletLock = 1;
    64      bool isAutoMining = 2;
    65      bool isHasSeed    = 3;
    66      bool isTicketLock = 4;
    67  }
    68  
    69  message WalletAccounts {
    70      repeated WalletAccount wallets = 1;
    71  }
    72  
    73  //钱包账户信息
    74  // 	 acc : 钱包账户信息
    75  //	 label :钱包账户对应的标签
    76  
    77  message WalletAccount {
    78      Account acc   = 1;
    79      string  label = 2;
    80  }
    81  
    82  //钱包解锁
    83  // 	 passwd : 钱包密码
    84  //	 timeout :钱包解锁时间,0,一直解锁,非0值,超时之后继续锁定
    85  //	 walletOrTicket :解锁整个钱包还是只解锁挖矿买票功能,1只解锁挖矿买票,0解锁整个钱包
    86  message WalletUnLock {
    87      string passwd         = 1;
    88      int64  timeout        = 2;
    89      bool   walletOrTicket = 3;
    90  }
    91  
    92  message GenSeedLang {
    93      int32 lang = 1;
    94  }
    95  
    96  message GetSeedByPw {
    97      string passwd = 1;
    98  }
    99  
   100  //存储钱包的种子
   101  // 	 seed : 钱包种子
   102  //	 passwd :钱包密码
   103  message SaveSeedByPw {
   104      string seed   = 1;
   105      string passwd = 2;
   106  }
   107  
   108  message ReplySeed {
   109      string seed = 1;
   110  }
   111  
   112  message ReqWalletSetPasswd {
   113      string oldPass = 1;
   114      string newPass = 2;
   115  }
   116  
   117  message ReqNewAccount {
   118      string label = 1;
   119  }
   120  
   121  //根据label获取账户地址
   122  message ReqGetAccount {
   123      string label = 1;
   124  }
   125  
   126  //获取钱包交易的详细信息
   127  // 	 fromTx : []byte( Sprintf("%018d", height*100000 + index),
   128  //				表示从高度 height 中的 index 开始获取交易列表;
   129  //			    第一次传参为空,获取最新的交易。)
   130  //	 count :获取交易列表的个数。
   131  //	 direction :查找方式;0,上一页;1,下一页。
   132  message ReqWalletTransactionList {
   133      bytes fromTx    = 1;
   134      int32 count     = 2;
   135      int32 direction = 3;
   136  }
   137  
   138  message ReqWalletImportPrivkey {
   139      // bitcoin 的私钥格式
   140      string privkey = 1;
   141      string label   = 2;
   142  }
   143  
   144  //发送交易
   145  // 	 from : 打出地址
   146  //	 to :接受地址
   147  // 	 amount : 转账额度
   148  //	 note :转账备注
   149  message ReqWalletSendToAddress {
   150      string from        = 1;
   151      string to          = 2;
   152      int64  amount      = 3;
   153      string note        = 4;
   154      bool   isToken     = 5;
   155      string tokenSymbol = 6;
   156  }
   157  
   158  message ReqWalletSetFee {
   159      int64 amount = 1;
   160  }
   161  
   162  message ReqWalletSetLabel {
   163      string addr  = 1;
   164      string label = 2;
   165  }
   166  
   167  message ReqWalletMergeBalance {
   168      string to = 1;
   169  }
   170  
   171  message ReqTokenPreCreate {
   172      string creator_addr = 1;
   173      string name         = 2;
   174      string symbol       = 3;
   175      string introduction = 4;
   176      string owner_addr   = 5;
   177      int64  total        = 6;
   178      int64  price        = 7;
   179  }
   180  
   181  message ReqTokenFinishCreate {
   182      string finisher_addr = 1;
   183      string symbol        = 2;
   184      string owner_addr    = 3;
   185  }
   186  
   187  message ReqTokenRevokeCreate {
   188      string revoker_addr = 1;
   189      string symbol       = 2;
   190      string owner_addr   = 3;
   191  }
   192  
   193  message ReqModifyConfig {
   194      string key      = 1;
   195      string op       = 2;
   196      string value    = 3;
   197      string modifier = 4;
   198  }
   199  
   200  message ReqSignRawTx {
   201      string addr    = 1;
   202      string privkey = 2;
   203      string txHex   = 3;
   204      string expire  = 4;
   205      int32  index   = 5;
   206      // 签名的模式类型
   207      // 0:普通交易
   208      // 1:隐私交易
   209      // int32  mode  = 6;
   210      string token = 7;
   211      int64  fee   = 8;
   212      // bytes  newExecer = 9;
   213      string newToAddr = 10;
   214  }
   215  
   216  message ReplySignRawTx {
   217      string txHex = 1;
   218  }
   219  
   220  message ReportErrEvent {
   221      string frommodule = 1;
   222      string tomodule   = 2;
   223      string error      = 3;
   224  }
   225  
   226  message Int32 {
   227      int32 data = 1;
   228  }
   229  
   230  message ReqAccountList {
   231      bool withoutBalance = 1;
   232  }
   233  
   234  message ReqPrivkeysFile {
   235      string fileName = 1;
   236      string passwd   = 2;
   237  }