{"version":3,"file":"utility.cjs","names":["MsgEndpoint","MsgCall","MsgSend","MsgAddPackage","MsgRun"],"sources":["../../../src/wallet/utility/utility.ts"],"sourcesContent":["import {\n  MsgRun,\n} from \"../../proto/gno/vm.js\";\nimport {\n  Any, MsgAddPackage, MsgCall, MsgSend,\n} from \"../../proto/index.js\";\nimport {\n  MsgEndpoint,\n} from \"../endpoints.js\";\n\n/**\n * Converts a fund map to a concatenated string representation (\"<value><denomination>\")\n * @param funds\n */\nexport const fundsToCoins = (funds?: Map<string, number>): string => {\n  if (!funds) {\n    return \"\";\n  }\n\n  const result: string[] = [];\n\n  funds.forEach((value: number, denomination: string) => {\n    result.push(`${value}${denomination}`);\n  });\n\n  return result.join(\",\");\n};\n\n/**\n * This is constant for now,\n * but should be fetched as an estimation\n * from the Tendermint node once this functionality\n * is available.\n *\n * Each package call / deployment\n * costs a fixed 1 GNOT\n * https://github.com/gnolang/gno/issues/649\n */\nexport const defaultTxFee = \"1000000ugnot\"; // 1 GNOT\n\n/**\n * Decodes (and unrolls) Transaction messages into full objects\n * @param {Any[]} messages the encoded transaction messages\n */\nexport const decodeTxMessages = (messages: Any[]): unknown[] => {\n  return messages.map((m: Any) => {\n    switch (m.type_url) {\n      case MsgEndpoint.MSG_CALL: {\n        const decodedMessage = MsgCall.decode(m.value);\n        const messageJson = MsgCall.toJSON(decodedMessage) as object;\n        return {\n          \"@type\": m.type_url,\n          send: \"\",\n          ...messageJson,\n        };\n      }\n      case MsgEndpoint.MSG_SEND: {\n        const decodedMessage = MsgSend.decode(m.value);\n        const messageJson = MsgSend.toJSON(decodedMessage) as object;\n        return {\n          \"@type\": m.type_url,\n          ...messageJson,\n        };\n      }\n      case MsgEndpoint.MSG_ADD_PKG: {\n        const decodedMessage = MsgAddPackage.decode(m.value);\n        const messageJson = MsgAddPackage.toJSON(decodedMessage) as object;\n        return {\n          \"@type\": m.type_url,\n          ...messageJson,\n        };\n      }\n      case MsgEndpoint.MSG_RUN: {\n        const decodedMessage = MsgRun.decode(m.value);\n        const messageJson = MsgRun.toJSON(decodedMessage) as object;\n        return {\n          \"@type\": m.type_url,\n          ...messageJson,\n        };\n      }\n      default:\n        throw new Error(`unsupported message type ${m.type_url}`);\n    }\n  });\n};\n"],"mappings":";;;;;;;;;AAcA,MAAa,gBAAgB,UAAwC;AACnE,KAAI,CAAC,MACH,QAAO;CAGT,MAAM,SAAmB,EAAE;AAE3B,OAAM,SAAS,OAAe,iBAAyB;AACrD,SAAO,KAAK,GAAG,QAAQ,eAAe;GACtC;AAEF,QAAO,OAAO,KAAK,IAAI;;;;;;;;;;;;AAazB,MAAa,eAAe;;;;;AAM5B,MAAa,oBAAoB,aAA+B;AAC9D,QAAO,SAAS,KAAK,MAAW;AAC9B,UAAQ,EAAE,UAAV;GACE,KAAKA,kBAAAA,YAAY,UAAU;IACzB,MAAM,iBAAiBC,WAAAA,QAAQ,OAAO,EAAE,MAAM;IAC9C,MAAM,cAAcA,WAAAA,QAAQ,OAAO,eAAe;AAClD,WAAO;KACL,SAAS,EAAE;KACX,MAAM;KACN,GAAG;KACJ;;GAEH,KAAKD,kBAAAA,YAAY,UAAU;IACzB,MAAM,iBAAiBE,aAAAA,QAAQ,OAAO,EAAE,MAAM;IAC9C,MAAM,cAAcA,aAAAA,QAAQ,OAAO,eAAe;AAClD,WAAO;KACL,SAAS,EAAE;KACX,GAAG;KACJ;;GAEH,KAAKF,kBAAAA,YAAY,aAAa;IAC5B,MAAM,iBAAiBG,WAAAA,cAAc,OAAO,EAAE,MAAM;IACpD,MAAM,cAAcA,WAAAA,cAAc,OAAO,eAAe;AACxD,WAAO;KACL,SAAS,EAAE;KACX,GAAG;KACJ;;GAEH,KAAKH,kBAAAA,YAAY,SAAS;IACxB,MAAM,iBAAiBI,WAAAA,OAAO,OAAO,EAAE,MAAM;IAC7C,MAAM,cAAcA,WAAAA,OAAO,OAAO,eAAe;AACjD,WAAO;KACL,SAAS,EAAE;KACX,GAAG;KACJ;;GAEH,QACE,OAAM,IAAI,MAAM,4BAA4B,EAAE,WAAW;;GAE7D"}