Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- parameter
- (or :_entries
- (pair %_Liq_entry_createFile
- string
- key_hash)
- (unit %_Liq_entry_main))
- ;
- storage
- (pair :storage
- (big_map
- address
- (set
- address))
- (set
- string))
- ;
- code
- {
- DUP ;
- DIP
- {
- CDR @storage_slash_1 ;
- }
- ;
- CAR @parameter_slash_2 ;
- DUP @parameter ;
- IF_LEFT
- {
- RENAME @_fileHash_manager_slash_3
- ;
- DUUUP @storage ;
- DUUP ;
- CAR @fileHash ;
- SENDER @userAddress ;
- DUUUP @storage ;
- CDR %documents ;
- DUUUP @fileHash ;
- MEM ;
- IF
- {
- PUSH
- string
- "sorry file exist use him api" ;
- FAILWITH ;
- }
- {
- UNIT ;
- }
- ;
- DROP ;
- PUSH
- (set
- address)
- {} ;
- PUSH
- (set
- address)
- {} ;
- PAIR ;
- DUUP @userAddress ;
- PAIR ;
- DUUUP @fileHash ;
- PAIR ;
- PUSH
- mutez
- 0 ;
- PUSH
- bool
- True ;
- PUSH
- bool
- True ;
- PUSH
- (option
- key_hash)
- None ;
- DUUUUUUUUUP ;
- CDR @manager ;
- CREATE_CONTRACT
- {
- parameter
- (or :_entries
- (unit %_Liq_entry_main)
- (or
- (unit %_Liq_entry_sign)
- (or
- (address %_Liq_entry_addAccess)
- (address %_Liq_entry_removeAccess))))
- ;
- storage
- (pair
- string
- (pair
- address
- (pair
- (set
- address)
- (set
- address))))
- ;
- code
- {
- DUP ;
- DIP
- {
- CDR @storage_slash_1 ;
- }
- ;
- CAR @parameter_slash_2 ;
- DUP @parameter ;
- IF_LEFT
- {
- DROP ;
- DUUP ;
- NIL
- operation
- ;
- PAIR ;
- }
- {
- IF_LEFT
- {
- RENAME @__slash_5
- ;
- DUUUP @storage ;
- DUP ;
- CDDAR @signs ;
- DUUP ;
- CDDDR @access ;
- SENDER @userAddress ;
- DUUP @access ;
- DUUP @userAddress ;
- MEM ;
- NOT ;
- IF
- {
- PUSH
- string
- "Sign not alowed" ;
- FAILWITH ;
- }
- {
- UNIT ;
- }
- ;
- DROP ;
- DUUUP @signs ;
- DUUP @userAddress ;
- MEM ;
- IF
- {
- PUSH
- string
- "sign already exist" ;
- FAILWITH ;
- }
- {
- UNIT ;
- }
- ;
- DROP ;
- DUUP @access ;
- DUUUUP @signs ;
- DUUUP @userAddress ;
- DIP
- {
- PUSH
- bool
- True ;
- }
- ;
- DIIIIP
- {
- DROP ;
- DROP ;
- DROP ;
- }
- ;
- DIIIIIP
- {
- DROP ;
- }
- ;
- UPDATE @signs ;
- PAIR ;
- DUUP ;
- CDAR @owner ;
- PAIR ;
- SWAP ;
- CAR @hash ;
- PAIR ;
- NIL
- operation
- ;
- PAIR ;
- }
- {
- IF_LEFT
- {
- RENAME @user_slash_14
- ;
- DUUUP @storage ;
- DUP ;
- CDAR @owner ;
- SENDER @userAddress ;
- DUUP @owner ;
- COMPARE ;
- NEQ ;
- IF
- {
- PUSH
- string
- "you not owner" ;
- FAILWITH ;
- }
- {
- UNIT ;
- }
- ;
- DROP ;
- DUUP ;
- CDDDR @access ;
- DUUUUP @user ;
- DIP
- {
- PUSH
- bool
- True ;
- }
- ;
- DIIIIIP
- {
- DROP ;
- }
- ;
- UPDATE @access ;
- DUUUP ;
- CDDAR @signs ;
- PAIR ;
- SWAP ;
- PAIR ;
- SWAP ;
- CAR @hash ;
- PAIR ;
- NIL
- operation
- ;
- PAIR ;
- }
- {
- RENAME @user_slash_23
- ;
- DUUUP @storage ;
- DUP ;
- CDAR @owner ;
- SENDER @userAddress ;
- DUUP @owner ;
- COMPARE ;
- NEQ ;
- IF
- {
- PUSH
- string
- "you not owner" ;
- FAILWITH ;
- }
- {
- UNIT ;
- }
- ;
- DROP ;
- DUUP ;
- CDDDR @access ;
- DUUUUP @user ;
- DIP
- {
- PUSH
- bool
- False ;
- }
- ;
- DIIIIIP
- {
- DROP ;
- }
- ;
- UPDATE @access ;
- DUUUP ;
- CDDAR @signs ;
- PAIR ;
- SWAP ;
- PAIR ;
- SWAP ;
- CAR @hash ;
- PAIR ;
- NIL
- operation
- ;
- PAIR ;
- }
- ;
- }
- ;
- }
- ;
- DIP
- {
- DROP ;
- DROP ;
- }
- ;
- }
- ;
- }
- ;
- PAIR @_createContractOp_docAddress ;
- DUUUUP @storage ;
- CDR %documents ;
- DUUUUUP @storage ;
- CAR %usersDocuments ;
- DUUUUUUP @storage ;
- CAR %usersDocuments ;
- DUUUUUP @userAddress ;
- GET ;
- IF_NONE
- {
- PUSH
- (set
- address)
- {} ;
- }
- {}
- ;
- RENAME @userDocuments
- ;
- DUUUUP ;
- CDR @docAddress ;
- DIP
- {
- PUSH
- bool
- True ;
- }
- ;
- UPDATE @userDocuments ;
- DUUUUUP @userAddress ;
- DIP
- {
- SOME ;
- }
- ;
- UPDATE @usersDocuments ;
- PAIR @storage %usersDocuments %documents ;
- CAR %usersDocuments ;
- DUUUUUP @storage ;
- CDR %documents ;
- DUUUUUP @fileHash ;
- DIP
- {
- PUSH
- bool
- True ;
- }
- ;
- DIIIIIP
- {
- DROP ;
- DROP ;
- DROP ;
- DROP ;
- }
- ;
- UPDATE @documents ;
- SWAP ;
- PAIR @storage %usersDocuments %documents ;
- NIL
- operation
- ;
- DUUUP ;
- DIIIP
- {
- DROP ;
- }
- ;
- CAR @createContractOp ;
- CONS ;
- PAIR ;
- }
- {
- DROP ;
- DUUP ;
- NIL
- operation
- ;
- PAIR ;
- }
- ;
- DIP
- {
- DROP ;
- DROP ;
- }
- ;
- }
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement