 ;== Util ==
 (def-rpc createmultisig nrequired the-keys)
 (def-rpc estimatefee nblocks)
-(def-rpc estimatepriority nblocks)
-(def-rpc estimatesmartfee nblocks)
-(def-rpc estimatesmartpriority nblocks)
+;(def-rpc estimatepriority nblocks)
+;(def-rpc estimatesmartfee nblocks)
+;(def-rpc estimatesmartpriority nblocks)
 
 (s/fdef signmessagewithprivkey :args (s/cat :privkey string?, :message string?) :ret ::signature)
 (def-rpc signmessagewithprivkey privkey message)

(defn arg-vals-of [args]
  (reduce (fn [acc v] (if (empty? acc) (format "%s" v) (format "%s, %s" acc v))) "" args))

(defn java-fn-name-of [m] (format "btc%s" (normalize-name (:name m))))

(defn java-method-of 
  ([m]
   (reduce (fn [acc v] (format "%s\n%s" acc v)) (flatten (map (comp (partial java-method-of m) rest) (:arglists m)))))
  ([m args]
    (let [n (java-fn-name-of m)
          args (map normalize-name args)
          arg-vals (arg-vals-of args)]
      ["/**" 

  "@Override"
  "public DRAPLFunctionSignature[] getFunctions() {"
  "return new DRAPLFunctionSignature[] {"
  (reduce (fn [acc v] (format "%s,\n%s" acc v)) (map (fn [[i x]] (java-signature-of i x)) (meta-with-index)))
  
  "};"
  "}"
