Update gasprice parsing to support denom $Z #6

Merged
nabarun merged 2 commits from pm-support-denom into zenith 2025-06-24 07:26:30 +00:00
4 changed files with 122 additions and 107 deletions

1
.npmrc Normal file
View File

@ -0,0 +1 @@
@laconic-network:registry=https://git.vdb.to/api/packages/LaconicNetwork/npm/

View File

@ -6,6 +6,7 @@ import { MsgTypeUrl, MsgTypeUrls } from "@/types/txMsg";
import { EncodeObject } from "@cosmjs/proto-signing";
import { Account, calculateFee } from "@cosmjs/stargate";
import { assert, sleep } from "@cosmjs/utils";
import { parseCustomGasPrice } from '@laconic-network/cosmjs-util';
import { NextRouter, withRouter } from "next/router";
import { useRef, useState } from "react";
import { toast } from "sonner";
@ -83,12 +84,13 @@ const OldCreateTxForm = ({ router, senderAddress, accountOnChain }: OldCreateTxF
return;
}
const gasPrice = parseCustomGasPrice(chain.gasPrice);
const txData: DbTransactionParsedDataJson = {
accountNumber: accountOnChain.accountNumber,
sequence: accountOnChain.sequence,
chainId: chain.chainId,
msgs,
fee: calculateFee(gasLimit, chain.gasPrice),
fee: calculateFee(gasLimit, gasPrice),
memo,
};

203
package-lock.json generated
View File

@ -1,26 +1,27 @@
{
"name": "cosmos-multisig-ui",
"version": "0.1.1",
"version": "0.1.2-zenith-0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cosmos-multisig-ui",
"version": "0.1.1",
"version": "0.1.2-zenith-0.1.0",
"dependencies": {
"@cosmjs/amino": "^0.33.0",
"@cosmjs/cosmwasm-stargate": "^0.33.0",
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/ledger-amino": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/proto-signing": "^0.33.0",
"@cosmjs/stargate": "^0.33.0",
"@cosmjs/tendermint-rpc": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/amino": "^0.33.1",
"@cosmjs/cosmwasm-stargate": "^0.33.1",
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/ledger-amino": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/proto-signing": "^0.33.1",
"@cosmjs/stargate": "^0.33.1",
"@cosmjs/tendermint-rpc": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"@hookform/resolvers": "^3.6.0",
"@keplr-wallet/cosmos": "^0.12.107",
"@keplr-wallet/types": "^0.12.107",
"@laconic-network/cosmjs-util": "^0.1.0",
"@ledgerhq/hw-transport-webusb": "^6.29.0",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
@ -712,54 +713,54 @@
}
},
"node_modules/@cosmjs/amino": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.33.0.tgz",
"integrity": "sha512-a4qnWGzuM2IrlkDTFQmU7bDd+wNIzyvfcRIZ43i00ZHvTEtrCcWopT94rIv/Zy6fdgkhQ3HWrsGVlIPDT/ibRw==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.33.1.tgz",
"integrity": "sha512-WfWiBf2EbIWpwKG9AOcsIIkR717SY+JdlXM/SL/bI66BdrhniAF+/ZNis9Vo9HF6lP2UU5XrSmFA4snAvEgdrg==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/utils": "^0.33.0"
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/utils": "^0.33.1"
}
},
"node_modules/@cosmjs/cosmwasm-stargate": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.33.0.tgz",
"integrity": "sha512-YJahXTLrfZ0evtSFcy5Aa4oorEAAHwe0ss6JVteiiNNDT7jHliONz5WOlg2/N7KLxoWCkVWcOpWJR4xZ/N3YEQ==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.33.1.tgz",
"integrity": "sha512-bsEH8FmDHE0zc9WmJuyYEruV/HP7DU98FLP/BMxb1Egk/weH304m1AuIdibdVfFZKYVNq6PkD8+Xvg23qnecIg==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/amino": "^0.33.0",
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/proto-signing": "^0.33.0",
"@cosmjs/stargate": "^0.33.0",
"@cosmjs/tendermint-rpc": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/amino": "^0.33.1",
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/proto-signing": "^0.33.1",
"@cosmjs/stargate": "^0.33.1",
"@cosmjs/tendermint-rpc": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"cosmjs-types": "^0.9.0",
"pako": "^2.0.2"
}
},
"node_modules/@cosmjs/crypto": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.33.0.tgz",
"integrity": "sha512-kkt06t+cFW2XRGDGUZ0cVf5yoQ2OhZnubwbYbz3QXdyhf1qOXYVPRThfFPsko7dssr+e8Yy4OJKlh5SLA8DXTQ==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.33.1.tgz",
"integrity": "sha512-U4kGIj/SNBzlb2FGgA0sMR0MapVgJUg8N+oIAiN5+vl4GZ3aefmoL1RDyTrFS/7HrB+M+MtHsxC0tvEu4ic/zA==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"@noble/hashes": "^1",
"bn.js": "^5.2.0",
"elliptic": "^6.5.4",
"elliptic": "^6.6.1",
"libsodium-wrappers-sumo": "^0.7.11"
}
},
"node_modules/@cosmjs/encoding": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.33.0.tgz",
"integrity": "sha512-9z0g9mM7w5BISVVs8BK1Yp7KSQgNLGz2SBoWYOm4wODB/YcoitODgyRqECcuMZBXtd2sCyy2M1VLs9Z69BPZRQ==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.33.1.tgz",
"integrity": "sha512-nuNxf29fUcQE14+1p//VVQDwd1iau5lhaW/7uMz7V2AH3GJbFJoJVaKvVyZvdFk+Cnu+s3wCqgq4gJkhRCJfKw==",
"license": "Apache-2.0",
"dependencies": {
"base64-js": "^1.3.0",
@ -768,112 +769,112 @@
}
},
"node_modules/@cosmjs/json-rpc": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.33.0.tgz",
"integrity": "sha512-okXjxnT3zhhuYrA1aIDVD8VHt3syWyrJw3cAY6tMNM53bQcAtLGImueMrEoyv7DtLg5R5Tx5PMrQ7UYnpD8OwQ==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.33.1.tgz",
"integrity": "sha512-T6VtWzecpmuTuMRGZWuBYHsMF/aznWCYUt/cGMWNSz7DBPipVd0w774PKpxXzpEbyt5sr61NiuLXc+Az15S/Cw==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/stream": "^0.33.0",
"@cosmjs/stream": "^0.33.1",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/ledger-amino": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/ledger-amino/-/ledger-amino-0.33.0.tgz",
"integrity": "sha512-iTPJWwDW5jGktAXBULNF6fXqj8+8R3vDDqz6YyYLqRNPL8wuN8Duw5MRCzqHWJN+rJTtbkUUwXm1DQMryNhWtA==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/ledger-amino/-/ledger-amino-0.33.1.tgz",
"integrity": "sha512-zi6Fgp3TCaBJ0yZZ6k+FCOlB04GgBpiIxiMpn+I8oVH9UFenhzG0aqaiPqOgDGK6N5dNBhVedh/th5mMjwq6jw==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/amino": "^0.33.0",
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/amino": "^0.33.1",
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"ledger-cosmos-js": "^2.1.8",
"semver": "^7.5.2"
}
},
"node_modules/@cosmjs/math": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.33.0.tgz",
"integrity": "sha512-B2uOgM12iuIhJWzGuAxGwO6zO+cI8Q4z7mVu7HgFrGJJTM1HtPTYgb55oMOuUN0OZ352MEEm5uAt8sA9jZQqbA==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.33.1.tgz",
"integrity": "sha512-ytGkWdKFCPiiBU5eqjHNd59djPpIsOjbr2CkNjlnI1Zmdj+HDkSoD9MUGpz9/RJvRir5IvsXqdE05x8EtoQkJA==",
"license": "Apache-2.0",
"dependencies": {
"bn.js": "^5.2.0"
}
},
"node_modules/@cosmjs/proto-signing": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.33.0.tgz",
"integrity": "sha512-UHA92d/Siy3wnce/xhU4iagKrs6r8Ruacc0qeHj3mNrtuUH8f70cD7lzzClzI7wvRLcPprOY0YTeEzqGbPeBFw==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.33.1.tgz",
"integrity": "sha512-Sv4W+MxX+0LVnd+2rU4Fw1HRsmMwSVSYULj7pRkij3wnPwUlTVoJjmKFgKz13ooIlfzPrz/dnNjGp/xnmXChFQ==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/amino": "^0.33.0",
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/amino": "^0.33.1",
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"cosmjs-types": "^0.9.0"
}
},
"node_modules/@cosmjs/socket": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.33.0.tgz",
"integrity": "sha512-a1eHsqVFmG6N5LR53tAB1Xo4XfsZaFlrYA34yC0GnX5m/cJVEe1wkZxMsWJIW2nfCgj7nAvFK6Gx4qj+ZLeqdw==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.33.1.tgz",
"integrity": "sha512-KzAeorten6Vn20sMiM6NNWfgc7jbyVo4Zmxev1FXa5EaoLCZy48cmT3hJxUJQvJP/lAy8wPGEjZ/u4rmF11x9A==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/stream": "^0.33.0",
"@cosmjs/stream": "^0.33.1",
"isomorphic-ws": "^4.0.1",
"ws": "^7",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/stargate": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.33.0.tgz",
"integrity": "sha512-Ti/2RRl+LKTNUrOqj6TpGnTRcbmQ5zD4Ujx/PDNPHEexyuwbz+tMcF8Y1kKPWQ1g4wWxLYO4tKY4Gm0J3c5hWA==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.33.1.tgz",
"integrity": "sha512-CnJ1zpSiaZgkvhk+9aTp5IPmgWn2uo+cNEBN8VuD9sD6BA0V4DMjqe251cNFLiMhkGtiE5I/WXFERbLPww3k8g==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/amino": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/proto-signing": "^0.33.0",
"@cosmjs/stream": "^0.33.0",
"@cosmjs/tendermint-rpc": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/amino": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/proto-signing": "^0.33.1",
"@cosmjs/stream": "^0.33.1",
"@cosmjs/tendermint-rpc": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"cosmjs-types": "^0.9.0"
}
},
"node_modules/@cosmjs/stream": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.33.0.tgz",
"integrity": "sha512-SmsZW9Xzfk2T2MtWzVkit2WUclL7ZQHhiEhJz39EzKQRAdi4xY8nwefZF4VLQVJ0M33QfRCUzFzb+O/gddMQKA==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.33.1.tgz",
"integrity": "sha512-bMUvEENjeQPSTx+YRzVsWT1uFIdHRcf4brsc14SOoRQ/j5rOJM/aHfsf/BmdSAnYbdOQ3CMKj/8nGAQ7xUdn7w==",
"license": "Apache-2.0",
"dependencies": {
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/tendermint-rpc": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.33.0.tgz",
"integrity": "sha512-A5h72fYesFKSjMjB+AMD5thcVVcdfbmWj4atJ1CYmKGyCTCPW8iEIz1ZKR0mUX+gkW6dM1h8flaRj/R14Oc0/A==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.33.1.tgz",
"integrity": "sha512-22klDFq2MWnf//C8+rZ5/dYatr6jeGT+BmVbutXYfAK9fmODbtFcumyvB6uWaEORWfNukl8YK1OLuaWezoQvxA==",
"license": "Apache-2.0",
"dependencies": {
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/json-rpc": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/socket": "^0.33.0",
"@cosmjs/stream": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/json-rpc": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/socket": "^0.33.1",
"@cosmjs/stream": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"axios": "^1.6.0",
"readonly-date": "^1.0.0",
"xstream": "^11.14.0"
}
},
"node_modules/@cosmjs/utils": {
"version": "0.33.0",
"resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.33.0.tgz",
"integrity": "sha512-Y6glwHNlNjcOgwPg8YmNr1PSrNm307EhJVytFt8HmA/G7MRcIA+jIzCL0VlOrWGU4TrAOXvshM+oJZbTIldFRA==",
"version": "0.33.1",
"resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.33.1.tgz",
"integrity": "sha512-UnLHDY6KMmC+UXf3Ufyh+onE19xzEXjT4VZ504Acmk4PXxqyvG4cCPprlKUFnGUX7f0z8Or9MAOHXBx41uHBcg==",
"license": "Apache-2.0"
},
"node_modules/@emotion/babel-plugin": {
@ -2068,6 +2069,16 @@
"utility-types": "^3.10.0"
}
},
"node_modules/@laconic-network/cosmjs-util": {
"version": "0.1.0",
"resolved": "https://git.vdb.to/api/packages/LaconicNetwork/npm/%40laconic-network%2Fcosmjs-util/-/0.1.0/cosmjs-util-0.1.0.tgz",
"integrity": "sha512-18Gez/2FwDkLf/de1x6httgtwrj+9jldc7V6Or0KGGtboQgKPUC6G5RebowpeWR/d9GVORV3ha8H2PpCtH4XMQ==",
"license": "ISC",
"dependencies": {
"@cosmjs/math": "^0.33.1",
"@cosmjs/stargate": "^0.33.1"
}
},
"node_modules/@ledgerhq/devices": {
"version": "8.4.4",
"resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-8.4.4.tgz",
@ -5122,9 +5133,9 @@
}
},
"node_modules/axios": {
"version": "1.7.9",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz",
"integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz",
"integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",

View File

@ -13,16 +13,17 @@
"lint:fix": "eslint --max-warnings 0 \"./**/*.{js,jsx,mjs,ts,tsx}\" --fix"
},
"dependencies": {
"@cosmjs/amino": "^0.33.0",
"@cosmjs/cosmwasm-stargate": "^0.33.0",
"@cosmjs/crypto": "^0.33.0",
"@cosmjs/encoding": "^0.33.0",
"@cosmjs/ledger-amino": "^0.33.0",
"@cosmjs/math": "^0.33.0",
"@cosmjs/proto-signing": "^0.33.0",
"@cosmjs/stargate": "^0.33.0",
"@cosmjs/tendermint-rpc": "^0.33.0",
"@cosmjs/utils": "^0.33.0",
"@laconic-network/cosmjs-util": "^0.1.0",
"@cosmjs/amino": "^0.33.1",
"@cosmjs/cosmwasm-stargate": "^0.33.1",
"@cosmjs/crypto": "^0.33.1",
"@cosmjs/encoding": "^0.33.1",
"@cosmjs/ledger-amino": "^0.33.1",
"@cosmjs/math": "^0.33.1",
"@cosmjs/proto-signing": "^0.33.1",
"@cosmjs/stargate": "^0.33.1",
"@cosmjs/tendermint-rpc": "^0.33.1",
"@cosmjs/utils": "^0.33.1",
"@hookform/resolvers": "^3.6.0",
"@keplr-wallet/cosmos": "^0.12.107",
"@keplr-wallet/types": "^0.12.107",