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 e797543a3eec04f6bf3a45bab4b6b11b85f7ebcb990b5678d6bf316fc4e669a6
0xe797543a3eec04f6...
Hash code of the transaction object
TypeInvokeType of transaction. Most common is 'Invoke' for general purpose execution.
Transaction Data{:origin #135,:sequence 52,:command (def tipper2 (deploy (quote (do (def tip-state (unquote (mk-tip-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 Size2944Bytes consumed by transaction data
Transaction Result
FieldValueNotes
StatusERRORTransaction failed with error
Error Message"mk-tip-state"Error message from failed transaction
Error Code:UNDECLAREDAccessed an undeclared symbol
Juice Used44685Computational cost in juice units
Fees Paid
            0.001008450
Transaction fees paid in Convex Coins
Stack Trace["Compiling:(unquote (mk-tip-state))" "Compiling:(def tip-state (unquote (mk-tip-state)))" "Compiling:(do (def tip-state (unquote (mk-tip-state))) (def state (lookup tip-state state)) (def ^{:callable true} add-artifact (fn [artifact] (cond (not artifact) (fail :ARGUMENT \"Arguments require an artifact\") (call* state 0 (quote swap!) update artifact merge {:sender *caller*})))) (def ^{:callable true} add-recipient (fn [artifact recipient] (cond recipient (do (let [tips (call* state 0 (quote 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 0 (quote swap!) assoc-in [artifact :recipient] recipient)))) nil))) (def ^{:callable true} add-amount (fn [artifact amount] (let [tips (call* state 0 (quote 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 0 (quote swap!) assoc-in [artifact :amount] amount) (return \"Thanks for the tip!\")))))) (def ^{:callable true} tip! (fn [tip-map] (let [tips (call* state 0 (quote 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*) (def ^{:callable true} upgrade (fn [code] (cond disabled? (fail :STATE \"Administrative access is permenantly disabled.\") (cond (not (= *caller* admin)) (fail :TRUST (str *caller* \" is not authorised to administrate on behalf of admin \" admin)) (eval code))))))" "In core function: compile" "In core function: deploy" "In expression: (deploy (do (def tip-state (unquote (mk-tip-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))))))"]Stack trace for error location
Log Entries (0)

No log entries were generated during transaction execution