syntax = "proto3";
package types;

message Hashlock {
    bytes  hashlockId    = 1;
    int32  status        = 2;
    int64  CreateTime    = 3;
    string toAddress     = 4;
    string returnAddress = 5;
    int64  amount        = 6;
    int64  frozentime    = 7;
}

message HashlockLock {
    int64  amount        = 1;
    int64  time          = 2;
    bytes  hash          = 3;
    string toAddress     = 4;
    string returnAddress = 5;
}

message HashlockSend {
    bytes secret = 1;
    // bytes  hash     = 3;
}

message Hashlockquery {
    int64 time        = 1;
    int32 status      = 2;
    int64 amount      = 3;
    int64 createTime  = 4;
    int64 currentTime = 5;
}

message HashRecv {
    bytes         HashlockId  = 1;
    Hashlockquery Information = 2;
}

message HashlockUnlock {
    bytes secret = 1;
    // bytes  hash     = 3;
}

// message for hashlock
message HashlockAction {
    oneof value {
        HashlockLock   hlock   = 1;
        HashlockSend   hsend   = 2;
        HashlockUnlock hunlock = 3;
    }
    int32 ty = 4;
}