UTXO password lock

Introduce

Unlock password lock

cond_type:13  
{
password: 
}

conds content:[{\"cond_type\": 13, \"password\":\"123456\"}]

set password lock

cond_type:113 password lock
{
    password_proof_required: Deterministic uniqueness; flase:everybody can use it if know password; true:you can use password to get it after use interface `submitpasswordprooftx`  to proof.
    password:the length of password has not limit, but more then 256, there will can't prase the password
}

conds content:[{\"cond_type\":113,\"password_proof_required\":true,\"password\":\"123456\"}]


proof-submitpasswordprooftx

you need use it if password_proof_required is true.
function : To set up an account can use it, then other person can't use coin even if haven password. Extremely safe


Arguments

sender: (string, required) the addr submit this tx

prev_utxo_txid: (string, required) The utxo txid you want to spend

prev_utxo_vout_index: (string, required) The index of utxo output

password: (symbol:amount:unit, required) password

pre_utxo_tx_uid: (string, required) the txUid of prev utxotx that provide prevOutput

symbol:fee:unit: (symbol:amount:unit, optinal) fee paid to miner

Result

txid (string) The transaction id.

example

> ./coind submitpasswordprooftx "wLKf2NqwtHk3BfzK5wMDfbKYN1SC3weyR4" "23ewf90203ew000ds0lwsdpoxewdokwesdxcoekdleds" 5 "123" '0-2" "WICC:10000:sawi"

As json rpc call
> curl --user myusername -d '{"jsonrpc": "1.0", "id":"curltest", "method": "submitpasswordprooftx", "params": ["wLKf2NqwtHk3BfzK5wMDfbKYN1SC3weyR4", "23ewf90203ew000ds0lwsdpoxewdokwesdxcoekdleds", 5, "123", "0-2", "WICC:10000:sawi"] }' -H 'Content-Type: application/json;' http://127.0.0.1:8332/

simple process

you can ignore proof step if PasswordHashLockCondOut is set false.

// charge money
root@0dc1d946424b:/opt/wicc# coind submitutxotransfertx "wQ3FinggSoJU7x27J2cdfao9rXdZxCNqoQ" "WICC" "[]"  "[{\"coin_amount\":100,\"conds\":[{\"cond_type\":113,\"password_proof_required\":true,\"password\":\"123456\"}]}]" "WICC:100000:sawi" "password test"
{
    "txid" : "b8e8d643af36b2ed77d8440b46d4ff95d2a073d07e05ce1614bd34faaf37f092"
}

// proof
**proof** set only address `"0-2"` can get
root@0dc1d946424b:/opt/wicc# coind submitpasswordprooftx "0-2" "b8e8d643af36b2ed77d8440b46d4ff95d2a073d07e05ce1614bd34faaf37f092" 0 "123456" "wQ3FinggSoJU7x27J2cdfao9rXdZxCNqoQ"
{
    "txid" : "1a89856c40bdb4dcd611049ec0a8ff80d7cee1dd2c72495462034bd8ead66eb2"
}

// draw money
root@0dc1d946424b:/opt/wicc# coind submitutxotransfertx "0-2" "WICC" "[{\"prev_utxo_txid\":\"b8e8d643af36b2ed77d8440b46d4ff95d2a073d07e05ce1614bd34faaf37f092\",\"prev_utxo_vout_index\":0,\"conds\":[{\"cond_type\": 13, \"password\":\"123456\"}]}]" "[]" "WICC:1000000:sawi" "parse password"
{
    "txid" : "28bda7d043b3828da4b90ff3fef52850e1766f6229cf929f31238afd676a37d5"
}