Convex

Convex

Transaction 1 / 1
FieldValueNotes
AddressOrigin address of transaction
Account Key
Identicon for 5abb7143b3a48328300f99c5e0e711f829ce4bba8be328a40de2e410b2496d38
0x5abb7143b3a48328...
Ed25519 public key of the signer
Transaction Hash
Identicon for 4a05fc78c6ea27c7faf7610390314c8bd04bd5a063d5c04e65e1187247153983
0x4a05fc78c6ea27c7...
Hash code of the transaction object
TypeInvokeType of transaction. Most common is 'Invoke' for general purpose execution.
Transaction Data{:origin #135,:sequence 55,:command (let [s (mk-state-actor) state (mk-tip-state s)] (def tipper2 (deploy (quote (do (def tip-state (unquote state)) (def state (lookup tip-state state)) (defn ^{:callable true} add-artifact [artifact] (if (not artifact) (fail :ARGUMENT "Arguments require an artifact") (call state (swap! update artifact merge {:sender *caller*})))) (defn ^{:callable true} add-recipient [artifact recipient] (when recipient (let [tips (call state (deref)) sender (:sender (get tips artifact))] (cond (not (= *caller* sender)) (fail :TRUST (str *caller* " not authorised to add recipient on behalf of " sender)) (not recipient) (fail :ARGUMENT "recipient field is nil") :else (call state (swap! assoc-in [artifact :recipient] recipient)))))) (defn ^{:callable true} add-amount [artifact amount] (let [tips (call state (deref)) sender (:sender (get tips artifact))] (cond (not (= *caller* sender)) (fail :TRUST (str *caller* " not authorised to add amount on behalf of " sender)) (not (> amount 0)) (fail :FUNDS "No tip offered!") :else (do (accept amount) (call state (swap! assoc-in [artifact :amount] amount)) (return "Thanks for the tip!"))))) (defn ^{:callable true} tip! [tip-map] (let [tips (call state (deref)) artifact (:artifact tip-map) amount (get-in tips [artifact :amount] *offer*) recipient (get-in tips [artifact :recipient] (:recipient tip-map))] (add-artifact artifact) (add-recipient artifact recipient) (add-amount artifiact amount))) (def disabled? false) (def admin *caller*) (defn ^{:callable true} upgrade [code] (if disabled? (fail :STATE "Administrative access is permenantly disabled.") (if (not (= *caller* admin)) (fail :TRUST (str *caller* " is not authorised to administrate on behalf of admin " admin)) (eval code)))))))))}CVX representation of the transaction
Storage Size2991Bytes consumed by transaction data
Transaction Result
FieldValueNotes
StatusERRORTransaction failed with error
Error Message"state-addy"Error message from failed transaction
Error Code:UNDECLAREDAccessed an undeclared symbol
Juice Used49280Computational cost in juice units
Fees Paid
            0.001063800
Transaction fees paid in Convex Coins
Stack Trace["Compiling:(unquote state-addy)" "Compiling:(def state (unquote state-addy))" "Compiling:(do (def actor-name \"tip-state\") (def state (unquote state-addy)) (def ^{:callable true} collect (fn [artifact] (let [tips (call* state 0 (quote deref)) recipient (get-in tips [artifact :recipient])] (cond (not ((lookup ((fn [sym] (get (#9/read %0) 0)) (quote convex.trust)) trusted?) recipient *caller*)) (fail :TRUST (str *caller* \" is not authorised to collect funds on behalf of \" recipient)) (let [amount (cond (get-in tips [artifact :amount]) *result* 0)] (call* state 0 (quote swap!) dissoc artifact) (transfer *caller* amount)))))) (def disabled? false) (def parent *caller*) (def ^{:callable true} admin (fn [code] (cond disabled? (fail :STATE \"Administrative access is permenantly disabled.\") (cond (not (= *caller* parent)) (fail :TRUST (str *caller* \" is not authorised to administrate on behalf of parent \" parent)) (eval code))))))" "In core function: compile" "In core function: deploy" "In expression: (deploy (do (def actor-name \"tip-state\") (def state (unquote state-addy)) (defn ^{:callable true} collect [artifact] (let [tips (call state (deref)) recipient (get-in tips [artifact :recipient])] (if (not ((lookup (resolve convex.trust) trusted?) recipient *caller*)) (fail :TRUST (str *caller* \" is not authorised to collect funds on behalf of \" recipient)) (let [amount (or (get-in tips [artifact :amount]) 0)] (call state (swap! dissoc artifact)) (transfer *caller* amount))))) (def disabled? false) (def parent *caller*) (defn ^{:callable true} admin [code] (if disabled? (fail :STATE \"Administrative access is permenantly disabled.\") (if (not (= *caller* parent)) (fail :TRUST (str *caller* \" is not authorised to administrate on behalf of parent \" parent)) (eval code))))))" "In expression: (#135/mk-tip-state %0)"]Stack trace for error location
Log Entries (0)

No log entries were generated during transaction execution