@gnolang/tm2-js-client 1.3.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.cjs +12 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.mjs +12 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPrimitive.cjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPrimitive.mjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPropertyKey.cjs +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/toPropertyKey.mjs +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/typeof.cjs +16 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/typeof.mjs +11 -0
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/index.cjs +92 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +23 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +23 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +1 -0
- package/dist/proto/google/protobuf/any.cjs +84 -0
- package/dist/proto/google/protobuf/any.cjs.map +1 -0
- package/dist/proto/google/protobuf/any.d.cts +141 -0
- package/dist/proto/google/protobuf/any.d.cts.map +1 -0
- package/dist/proto/google/protobuf/any.d.mts +141 -0
- package/dist/proto/google/protobuf/any.d.mts.map +1 -0
- package/dist/proto/google/protobuf/any.mjs +83 -0
- package/dist/proto/google/protobuf/any.mjs.map +1 -0
- package/dist/proto/index.cjs +2 -0
- package/dist/proto/index.d.cts +2 -0
- package/dist/proto/index.d.mts +2 -0
- package/dist/proto/index.mjs +3 -0
- package/dist/proto/tm2/abci.cjs +182 -0
- package/dist/proto/tm2/abci.cjs.map +1 -0
- package/dist/proto/tm2/abci.d.cts +33 -0
- package/dist/proto/tm2/abci.d.cts.map +1 -0
- package/dist/proto/tm2/abci.d.mts +33 -0
- package/dist/proto/tm2/abci.d.mts.map +1 -0
- package/dist/proto/tm2/abci.mjs +181 -0
- package/dist/proto/tm2/abci.mjs.map +1 -0
- package/dist/proto/tm2/tx.cjs +263 -0
- package/dist/proto/tm2/tx.cjs.map +1 -0
- package/dist/proto/tm2/tx.d.cts +49 -0
- package/dist/proto/tm2/tx.d.cts.map +1 -0
- package/dist/proto/tm2/tx.d.mts +49 -0
- package/dist/proto/tm2/tx.d.mts.map +1 -0
- package/dist/proto/tm2/tx.mjs +258 -0
- package/dist/proto/tm2/tx.mjs.map +1 -0
- package/dist/provider/endpoints.cjs +43 -0
- package/dist/provider/endpoints.cjs.map +1 -0
- package/dist/provider/endpoints.d.cts +33 -0
- package/dist/provider/endpoints.d.cts.map +1 -0
- package/dist/provider/endpoints.d.mts +33 -0
- package/dist/provider/endpoints.d.mts.map +1 -0
- package/dist/provider/endpoints.mjs +39 -0
- package/dist/provider/endpoints.mjs.map +1 -0
- package/dist/provider/errors/errors.cjs +122 -0
- package/dist/provider/errors/errors.cjs.map +1 -0
- package/dist/provider/errors/errors.d.cts +62 -0
- package/dist/provider/errors/errors.d.cts.map +1 -0
- package/dist/provider/errors/errors.d.mts +62 -0
- package/dist/provider/errors/errors.d.mts.map +1 -0
- package/dist/provider/errors/errors.mjs +104 -0
- package/dist/provider/errors/errors.mjs.map +1 -0
- package/dist/provider/errors/messages.cjs +40 -0
- package/dist/provider/errors/messages.cjs.map +1 -0
- package/dist/provider/errors/messages.mjs +23 -0
- package/dist/provider/errors/messages.mjs.map +1 -0
- package/dist/provider/index.cjs +12 -0
- package/dist/provider/index.d.cts +11 -0
- package/dist/provider/index.d.mts +11 -0
- package/dist/provider/index.mjs +13 -0
- package/dist/provider/jsonrpc/index.cjs +1 -0
- package/dist/provider/jsonrpc/index.d.cts +1 -0
- package/dist/provider/jsonrpc/index.d.mts +1 -0
- package/dist/provider/jsonrpc/index.mjs +2 -0
- package/dist/provider/jsonrpc/jsonrpc.cjs +20 -0
- package/dist/provider/jsonrpc/jsonrpc.cjs.map +1 -0
- package/dist/provider/jsonrpc/jsonrpc.d.cts +16 -0
- package/dist/provider/jsonrpc/jsonrpc.d.cts.map +1 -0
- package/dist/provider/jsonrpc/jsonrpc.d.mts +16 -0
- package/dist/provider/jsonrpc/jsonrpc.d.mts.map +1 -0
- package/dist/provider/jsonrpc/jsonrpc.mjs +19 -0
- package/dist/provider/jsonrpc/jsonrpc.mjs.map +1 -0
- package/dist/provider/provider.cjs +130 -0
- package/dist/provider/provider.cjs.map +1 -0
- package/dist/provider/provider.d.cts +130 -0
- package/dist/provider/provider.d.cts.map +1 -0
- package/dist/provider/provider.d.mts +130 -0
- package/dist/provider/provider.d.mts.map +1 -0
- package/dist/provider/provider.mjs +130 -0
- package/dist/provider/provider.mjs.map +1 -0
- package/dist/provider/types/abci.cjs +6 -0
- package/dist/provider/types/abci.cjs.map +1 -0
- package/dist/provider/types/abci.d.cts +42 -0
- package/dist/provider/types/abci.d.cts.map +1 -0
- package/dist/provider/types/abci.d.mts +42 -0
- package/dist/provider/types/abci.d.mts.map +1 -0
- package/dist/provider/types/abci.mjs +6 -0
- package/dist/provider/types/abci.mjs.map +1 -0
- package/dist/provider/types/common.d.cts +186 -0
- package/dist/provider/types/common.d.cts.map +1 -0
- package/dist/provider/types/common.d.mts +186 -0
- package/dist/provider/types/common.d.mts.map +1 -0
- package/dist/provider/types/jsonrpc.d.cts +30 -0
- package/dist/provider/types/jsonrpc.d.cts.map +1 -0
- package/dist/provider/types/jsonrpc.d.mts +30 -0
- package/dist/provider/types/jsonrpc.d.mts.map +1 -0
- package/dist/provider/utility/adapters.cjs +241 -0
- package/dist/provider/utility/adapters.cjs.map +1 -0
- package/dist/provider/utility/adapters.d.cts +19 -0
- package/dist/provider/utility/adapters.d.cts.map +1 -0
- package/dist/provider/utility/adapters.d.mts +19 -0
- package/dist/provider/utility/adapters.d.mts.map +1 -0
- package/dist/provider/utility/adapters.mjs +231 -0
- package/dist/provider/utility/adapters.mjs.map +1 -0
- package/dist/provider/utility/errors.utility.cjs +38 -0
- package/dist/provider/utility/errors.utility.cjs.map +1 -0
- package/dist/provider/utility/errors.utility.mjs +38 -0
- package/dist/provider/utility/errors.utility.mjs.map +1 -0
- package/dist/provider/utility/index.cjs +3 -0
- package/dist/provider/utility/index.d.cts +3 -0
- package/dist/provider/utility/index.d.mts +3 -0
- package/dist/provider/utility/index.mjs +4 -0
- package/dist/provider/utility/provider.utility.cjs +122 -0
- package/dist/provider/utility/provider.utility.cjs.map +1 -0
- package/{bin/provider/utility/provider.utility.d.ts → dist/provider/utility/provider.utility.d.cts} +15 -10
- package/dist/provider/utility/provider.utility.d.cts.map +1 -0
- package/dist/provider/utility/provider.utility.d.mts +45 -0
- package/dist/provider/utility/provider.utility.d.mts.map +1 -0
- package/dist/provider/utility/provider.utility.mjs +116 -0
- package/dist/provider/utility/provider.utility.mjs.map +1 -0
- package/dist/provider/utility/requests.utility.cjs +75 -0
- package/dist/provider/utility/requests.utility.cjs.map +1 -0
- package/dist/provider/utility/requests.utility.d.cts +40 -0
- package/dist/provider/utility/requests.utility.d.cts.map +1 -0
- package/dist/provider/utility/requests.utility.d.mts +40 -0
- package/dist/provider/utility/requests.utility.d.mts.map +1 -0
- package/dist/provider/utility/requests.utility.mjs +68 -0
- package/dist/provider/utility/requests.utility.mjs.map +1 -0
- package/dist/provider/websocket/index.cjs +1 -0
- package/dist/provider/websocket/index.d.cts +1 -0
- package/dist/provider/websocket/index.d.mts +1 -0
- package/dist/provider/websocket/index.mjs +2 -0
- package/dist/provider/websocket/ws.cjs +27 -0
- package/dist/provider/websocket/ws.cjs.map +1 -0
- package/dist/provider/websocket/ws.d.cts +21 -0
- package/dist/provider/websocket/ws.d.cts.map +1 -0
- package/dist/provider/websocket/ws.d.mts +21 -0
- package/dist/provider/websocket/ws.d.mts.map +1 -0
- package/dist/provider/websocket/ws.mjs +26 -0
- package/dist/provider/websocket/ws.mjs.map +1 -0
- package/dist/services/index.cjs +1 -0
- package/dist/services/index.d.cts +2 -0
- package/dist/services/index.d.mts +2 -0
- package/dist/services/index.mjs +2 -0
- package/dist/services/rest/restService.cjs +16 -0
- package/dist/services/rest/restService.cjs.map +1 -0
- package/dist/services/rest/restService.d.cts +9 -0
- package/dist/services/rest/restService.d.cts.map +1 -0
- package/dist/services/rest/restService.d.mts +9 -0
- package/dist/services/rest/restService.d.mts.map +1 -0
- package/dist/services/rest/restService.mjs +14 -0
- package/dist/services/rest/restService.mjs.map +1 -0
- package/dist/services/rest/restService.types.d.cts +11 -0
- package/dist/services/rest/restService.types.d.cts.map +1 -0
- package/dist/services/rest/restService.types.d.mts +11 -0
- package/dist/services/rest/restService.types.d.mts.map +1 -0
- package/dist/wallet/index.cjs +8 -0
- package/dist/wallet/index.d.cts +7 -0
- package/dist/wallet/index.d.mts +7 -0
- package/dist/wallet/index.mjs +9 -0
- package/dist/wallet/key/index.cjs +1 -0
- package/dist/wallet/key/index.mjs +2 -0
- package/dist/wallet/key/key.cjs +46 -0
- package/dist/wallet/key/key.cjs.map +1 -0
- package/dist/wallet/key/key.d.cts +26 -0
- package/dist/wallet/key/key.d.cts.map +1 -0
- package/dist/wallet/key/key.d.mts +26 -0
- package/dist/wallet/key/key.d.mts.map +1 -0
- package/dist/wallet/key/key.mjs +45 -0
- package/dist/wallet/key/key.mjs.map +1 -0
- package/dist/wallet/ledger/index.cjs +1 -0
- package/dist/wallet/ledger/index.d.cts +1 -0
- package/dist/wallet/ledger/index.d.mts +1 -0
- package/dist/wallet/ledger/index.mjs +2 -0
- package/dist/wallet/ledger/ledger.cjs +49 -0
- package/dist/wallet/ledger/ledger.cjs.map +1 -0
- package/dist/wallet/ledger/ledger.d.cts +27 -0
- package/dist/wallet/ledger/ledger.d.cts.map +1 -0
- package/dist/wallet/ledger/ledger.d.mts +27 -0
- package/dist/wallet/ledger/ledger.d.mts.map +1 -0
- package/dist/wallet/ledger/ledger.mjs +48 -0
- package/dist/wallet/ledger/ledger.mjs.map +1 -0
- package/dist/wallet/signer.d.cts +33 -0
- package/dist/wallet/signer.d.cts.map +1 -0
- package/dist/wallet/signer.d.mts +33 -0
- package/dist/wallet/signer.d.mts.map +1 -0
- package/dist/wallet/types/sign.cjs +6 -0
- package/dist/wallet/types/sign.cjs.map +1 -0
- package/dist/wallet/types/sign.d.cts +20 -0
- package/dist/wallet/types/sign.d.cts.map +1 -0
- package/dist/wallet/types/sign.d.mts +20 -0
- package/dist/wallet/types/sign.d.mts.map +1 -0
- package/dist/wallet/types/sign.mjs +6 -0
- package/dist/wallet/types/sign.mjs.map +1 -0
- package/dist/wallet/types/wallet.d.cts +9 -0
- package/dist/wallet/types/wallet.d.cts.map +1 -0
- package/dist/wallet/types/wallet.d.mts +9 -0
- package/dist/wallet/types/wallet.d.mts.map +1 -0
- package/dist/wallet/utility/index.cjs +1 -0
- package/dist/wallet/utility/index.d.cts +1 -0
- package/dist/wallet/utility/index.d.mts +1 -0
- package/dist/wallet/utility/index.mjs +2 -0
- package/dist/wallet/utility/utility.cjs +83 -0
- package/dist/wallet/utility/utility.cjs.map +1 -0
- package/dist/wallet/utility/utility.d.cts +42 -0
- package/dist/wallet/utility/utility.d.cts.map +1 -0
- package/dist/wallet/utility/utility.d.mts +42 -0
- package/dist/wallet/utility/utility.d.mts.map +1 -0
- package/dist/wallet/utility/utility.mjs +75 -0
- package/dist/wallet/utility/utility.mjs.map +1 -0
- package/dist/wallet/wallet.cjs +223 -0
- package/dist/wallet/wallet.cjs.map +1 -0
- package/dist/wallet/wallet.d.cts +113 -0
- package/dist/wallet/wallet.d.cts.map +1 -0
- package/dist/wallet/wallet.d.mts +113 -0
- package/dist/wallet/wallet.d.mts.map +1 -0
- package/dist/wallet/wallet.mjs +222 -0
- package/dist/wallet/wallet.mjs.map +1 -0
- package/package.json +57 -38
- package/bin/index.d.ts +0 -4
- package/bin/index.js +0 -20
- package/bin/proto/google/protobuf/any.d.ts +0 -145
- package/bin/proto/google/protobuf/any.js +0 -113
- package/bin/proto/index.d.ts +0 -2
- package/bin/proto/index.js +0 -20
- package/bin/proto/tm2/abci.d.ts +0 -37
- package/bin/proto/tm2/abci.js +0 -277
- package/bin/proto/tm2/tx.d.ts +0 -52
- package/bin/proto/tm2/tx.js +0 -360
- package/bin/provider/endpoints.d.ts +0 -29
- package/bin/provider/endpoints.js +0 -37
- package/bin/provider/errors/errors.d.ts +0 -59
- package/bin/provider/errors/errors.js +0 -173
- package/bin/provider/errors/index.d.ts +0 -1
- package/bin/provider/errors/index.js +0 -17
- package/bin/provider/errors/messages.d.ts +0 -19
- package/bin/provider/errors/messages.js +0 -41
- package/bin/provider/index.d.ts +0 -7
- package/bin/provider/index.js +0 -23
- package/bin/provider/jsonrpc/index.d.ts +0 -1
- package/bin/provider/jsonrpc/index.js +0 -17
- package/bin/provider/jsonrpc/jsonrpc.d.ts +0 -31
- package/bin/provider/jsonrpc/jsonrpc.js +0 -327
- package/bin/provider/jsonrpc/jsonrpc.test.d.ts +0 -1
- package/bin/provider/jsonrpc/jsonrpc.test.js +0 -488
- package/bin/provider/provider.d.ts +0 -98
- package/bin/provider/provider.js +0 -2
- package/bin/provider/types/abci.d.ts +0 -39
- package/bin/provider/types/abci.js +0 -4
- package/bin/provider/types/common.d.ts +0 -184
- package/bin/provider/types/common.js +0 -3
- package/bin/provider/types/index.d.ts +0 -3
- package/bin/provider/types/index.js +0 -19
- package/bin/provider/types/jsonrpc.d.ts +0 -26
- package/bin/provider/types/jsonrpc.js +0 -2
- package/bin/provider/utility/errors.utility.d.ts +0 -11
- package/bin/provider/utility/errors.utility.js +0 -56
- package/bin/provider/utility/index.d.ts +0 -2
- package/bin/provider/utility/index.js +0 -18
- package/bin/provider/utility/provider.utility.js +0 -244
- package/bin/provider/utility/requests.utility.d.ts +0 -35
- package/bin/provider/utility/requests.utility.js +0 -80
- package/bin/provider/websocket/index.d.ts +0 -1
- package/bin/provider/websocket/index.js +0 -17
- package/bin/provider/websocket/ws.d.ts +0 -58
- package/bin/provider/websocket/ws.js +0 -415
- package/bin/provider/websocket/ws.test.d.ts +0 -1
- package/bin/provider/websocket/ws.test.js +0 -648
- package/bin/services/index.d.ts +0 -2
- package/bin/services/index.js +0 -18
- package/bin/services/rest/restService.d.ts +0 -4
- package/bin/services/rest/restService.js +0 -72
- package/bin/services/rest/restService.types.d.ts +0 -6
- package/bin/services/rest/restService.types.js +0 -2
- package/bin/wallet/index.d.ts +0 -6
- package/bin/wallet/index.js +0 -22
- package/bin/wallet/key/index.d.ts +0 -1
- package/bin/wallet/key/index.js +0 -17
- package/bin/wallet/key/key.d.ts +0 -21
- package/bin/wallet/key/key.js +0 -102
- package/bin/wallet/key/key.test.d.ts +0 -1
- package/bin/wallet/key/key.test.js +0 -121
- package/bin/wallet/ledger/index.d.ts +0 -1
- package/bin/wallet/ledger/index.js +0 -17
- package/bin/wallet/ledger/ledger.d.ts +0 -22
- package/bin/wallet/ledger/ledger.js +0 -109
- package/bin/wallet/signer.d.ts +0 -29
- package/bin/wallet/signer.js +0 -2
- package/bin/wallet/types/index.d.ts +0 -2
- package/bin/wallet/types/index.js +0 -18
- package/bin/wallet/types/sign.d.ts +0 -16
- package/bin/wallet/types/sign.js +0 -4
- package/bin/wallet/types/wallet.d.ts +0 -5
- package/bin/wallet/types/wallet.js +0 -2
- package/bin/wallet/utility/index.d.ts +0 -1
- package/bin/wallet/utility/index.js +0 -17
- package/bin/wallet/utility/utility.d.ts +0 -36
- package/bin/wallet/utility/utility.js +0 -117
- package/bin/wallet/wallet.d.ts +0 -102
- package/bin/wallet/wallet.js +0 -354
- package/bin/wallet/wallet.test.d.ts +0 -1
- package/bin/wallet/wallet.test.js +0 -352
package/README.md
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const require_toPropertyKey = require("./toPropertyKey.cjs");
|
|
2
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/defineProperty.js
|
|
3
|
+
function _defineProperty(e, r, t) {
|
|
4
|
+
return (r = require_toPropertyKey.toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
5
|
+
value: t,
|
|
6
|
+
enumerable: !0,
|
|
7
|
+
configurable: !0,
|
|
8
|
+
writable: !0
|
|
9
|
+
}) : e[r] = t, e;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
exports._defineProperty = _defineProperty;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { toPropertyKey } from "./toPropertyKey.mjs";
|
|
2
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/defineProperty.js
|
|
3
|
+
function _defineProperty(e, r, t) {
|
|
4
|
+
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
5
|
+
value: t,
|
|
6
|
+
enumerable: !0,
|
|
7
|
+
configurable: !0,
|
|
8
|
+
writable: !0
|
|
9
|
+
}) : e[r] = t, e;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { _defineProperty };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const require_typeof = require("./typeof.cjs");
|
|
2
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/toPrimitive.js
|
|
3
|
+
function toPrimitive(t, r) {
|
|
4
|
+
if ("object" != require_typeof._typeof(t) || !t) return t;
|
|
5
|
+
var e = t[Symbol.toPrimitive];
|
|
6
|
+
if (void 0 !== e) {
|
|
7
|
+
var i = e.call(t, r || "default");
|
|
8
|
+
if ("object" != require_typeof._typeof(i)) return i;
|
|
9
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
10
|
+
}
|
|
11
|
+
return ("string" === r ? String : Number)(t);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.toPrimitive = toPrimitive;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { _typeof } from "./typeof.mjs";
|
|
2
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/toPrimitive.js
|
|
3
|
+
function toPrimitive(t, r) {
|
|
4
|
+
if ("object" != _typeof(t) || !t) return t;
|
|
5
|
+
var e = t[Symbol.toPrimitive];
|
|
6
|
+
if (void 0 !== e) {
|
|
7
|
+
var i = e.call(t, r || "default");
|
|
8
|
+
if ("object" != _typeof(i)) return i;
|
|
9
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
10
|
+
}
|
|
11
|
+
return ("string" === r ? String : Number)(t);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { toPrimitive };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const require_typeof = require("./typeof.cjs");
|
|
2
|
+
const require_toPrimitive = require("./toPrimitive.cjs");
|
|
3
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/toPropertyKey.js
|
|
4
|
+
function toPropertyKey(t) {
|
|
5
|
+
var i = require_toPrimitive.toPrimitive(t, "string");
|
|
6
|
+
return "symbol" == require_typeof._typeof(i) ? i : i + "";
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
exports.toPropertyKey = toPropertyKey;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { _typeof } from "./typeof.mjs";
|
|
2
|
+
import { toPrimitive } from "./toPrimitive.mjs";
|
|
3
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/toPropertyKey.js
|
|
4
|
+
function toPropertyKey(t) {
|
|
5
|
+
var i = toPrimitive(t, "string");
|
|
6
|
+
return "symbol" == _typeof(i) ? i : i + "";
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { toPropertyKey };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/typeof.js
|
|
2
|
+
function _typeof(o) {
|
|
3
|
+
"@babel/helpers - typeof";
|
|
4
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
5
|
+
return typeof o;
|
|
6
|
+
} : function(o) {
|
|
7
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
8
|
+
}, _typeof(o);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
Object.defineProperty(exports, "_typeof", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return _typeof;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/typeof.js
|
|
2
|
+
function _typeof(o) {
|
|
3
|
+
"@babel/helpers - typeof";
|
|
4
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
5
|
+
return typeof o;
|
|
6
|
+
} : function(o) {
|
|
7
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
8
|
+
}, _typeof(o);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { _typeof };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.__toESM = __toESM;
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_any = require("./proto/google/protobuf/any.cjs");
|
|
3
|
+
const require_tx = require("./proto/tm2/tx.cjs");
|
|
4
|
+
require("./proto/index.cjs");
|
|
5
|
+
const require_endpoints = require("./provider/endpoints.cjs");
|
|
6
|
+
const require_errors = require("./provider/errors/errors.cjs");
|
|
7
|
+
const require_abci = require("./provider/types/abci.cjs");
|
|
8
|
+
const require_adapters = require("./provider/utility/adapters.cjs");
|
|
9
|
+
const require_requests_utility = require("./provider/utility/requests.utility.cjs");
|
|
10
|
+
const require_provider_utility = require("./provider/utility/provider.utility.cjs");
|
|
11
|
+
const require_provider = require("./provider/provider.cjs");
|
|
12
|
+
const require_jsonrpc = require("./provider/jsonrpc/jsonrpc.cjs");
|
|
13
|
+
const require_ws = require("./provider/websocket/ws.cjs");
|
|
14
|
+
require("./provider/index.cjs");
|
|
15
|
+
const require_restService = require("./services/rest/restService.cjs");
|
|
16
|
+
require("./services/index.cjs");
|
|
17
|
+
const require_utility = require("./wallet/utility/utility.cjs");
|
|
18
|
+
const require_key = require("./wallet/key/key.cjs");
|
|
19
|
+
const require_ledger = require("./wallet/ledger/ledger.cjs");
|
|
20
|
+
const require_sign = require("./wallet/types/sign.cjs");
|
|
21
|
+
const require_wallet = require("./wallet/wallet.cjs");
|
|
22
|
+
require("./wallet/index.cjs");
|
|
23
|
+
exports.ABCIEndpoint = require_endpoints.ABCIEndpoint;
|
|
24
|
+
exports.ABCIErrorKey = require_abci.ABCIErrorKey;
|
|
25
|
+
exports.Any = require_any.Any;
|
|
26
|
+
exports.BaseTm2Provider = require_provider.BaseTm2Provider;
|
|
27
|
+
exports.BlockEndpoint = require_endpoints.BlockEndpoint;
|
|
28
|
+
exports.CommonEndpoint = require_endpoints.CommonEndpoint;
|
|
29
|
+
exports.ConsensusEndpoint = require_endpoints.ConsensusEndpoint;
|
|
30
|
+
exports.GasOverflowError = require_errors.GasOverflowError;
|
|
31
|
+
exports.InsufficientCoinsError = require_errors.InsufficientCoinsError;
|
|
32
|
+
exports.InsufficientFeeError = require_errors.InsufficientFeeError;
|
|
33
|
+
exports.InsufficientFundsError = require_errors.InsufficientFundsError;
|
|
34
|
+
exports.InternalError = require_errors.InternalError;
|
|
35
|
+
exports.InvalidAddressError = require_errors.InvalidAddressError;
|
|
36
|
+
exports.InvalidCoinsError = require_errors.InvalidCoinsError;
|
|
37
|
+
exports.InvalidGasWantedError = require_errors.InvalidGasWantedError;
|
|
38
|
+
exports.InvalidPubKeyError = require_errors.InvalidPubKeyError;
|
|
39
|
+
exports.InvalidSequenceError = require_errors.InvalidSequenceError;
|
|
40
|
+
exports.JSONRPCProvider = require_jsonrpc.JSONRPCProvider;
|
|
41
|
+
exports.KeySigner = require_key.KeySigner;
|
|
42
|
+
exports.LedgerSigner = require_ledger.LedgerSigner;
|
|
43
|
+
exports.MemoTooLargeError = require_errors.MemoTooLargeError;
|
|
44
|
+
exports.NoSignaturesError = require_errors.NoSignaturesError;
|
|
45
|
+
exports.OutOfGasError = require_errors.OutOfGasError;
|
|
46
|
+
exports.PubKeySecp256k1 = require_tx.PubKeySecp256k1;
|
|
47
|
+
exports.RestService = require_restService.RestService;
|
|
48
|
+
exports.Secp256k1PubKeyType = require_sign.Secp256k1PubKeyType;
|
|
49
|
+
exports.TM2Error = require_errors.TM2Error;
|
|
50
|
+
exports.TooManySignaturesError = require_errors.TooManySignaturesError;
|
|
51
|
+
exports.TransactionEndpoint = require_endpoints.TransactionEndpoint;
|
|
52
|
+
exports.Tx = require_tx.Tx;
|
|
53
|
+
exports.TxDecodeError = require_errors.TxDecodeError;
|
|
54
|
+
exports.TxFee = require_tx.TxFee;
|
|
55
|
+
exports.TxSignature = require_tx.TxSignature;
|
|
56
|
+
exports.UnauthorizedError = require_errors.UnauthorizedError;
|
|
57
|
+
exports.UnknownAddressError = require_errors.UnknownAddressError;
|
|
58
|
+
exports.UnknownRequestError = require_errors.UnknownRequestError;
|
|
59
|
+
exports.WSProvider = require_ws.WSProvider;
|
|
60
|
+
exports.Wallet = require_wallet.Wallet;
|
|
61
|
+
exports.adaptAbciQueryResponse = require_adapters.adaptAbciQueryResponse;
|
|
62
|
+
exports.adaptBlockResponse = require_adapters.adaptBlockResponse;
|
|
63
|
+
exports.adaptBlockResultsResponse = require_adapters.adaptBlockResultsResponse;
|
|
64
|
+
exports.adaptBroadcastTxCommitResponse = require_adapters.adaptBroadcastTxCommitResponse;
|
|
65
|
+
exports.adaptBroadcastTxSyncResponse = require_adapters.adaptBroadcastTxSyncResponse;
|
|
66
|
+
exports.adaptConsensusParamsResponse = require_adapters.adaptConsensusParamsResponse;
|
|
67
|
+
exports.adaptNetInfoResponse = require_adapters.adaptNetInfoResponse;
|
|
68
|
+
exports.adaptStatusResponse = require_adapters.adaptStatusResponse;
|
|
69
|
+
exports.adaptTxResponse = require_adapters.adaptTxResponse;
|
|
70
|
+
exports.base64ToUint8Array = require_requests_utility.base64ToUint8Array;
|
|
71
|
+
exports.defaultAddressPrefix = require_utility.defaultAddressPrefix;
|
|
72
|
+
exports.encodeCharacterSet = require_utility.encodeCharacterSet;
|
|
73
|
+
exports.extractAccountFromResponse = require_provider_utility.extractAccountFromResponse;
|
|
74
|
+
exports.extractAccountNumberFromResponse = require_provider_utility.extractAccountNumberFromResponse;
|
|
75
|
+
exports.extractBalanceFromResponse = require_provider_utility.extractBalanceFromResponse;
|
|
76
|
+
exports.extractSequenceFromResponse = require_provider_utility.extractSequenceFromResponse;
|
|
77
|
+
exports.extractSimulateFromResponse = require_provider_utility.extractSimulateFromResponse;
|
|
78
|
+
exports.generateEntropy = require_utility.generateEntropy;
|
|
79
|
+
exports.generateHDPath = require_utility.generateHDPath;
|
|
80
|
+
exports.generateKeyPair = require_utility.generateKeyPair;
|
|
81
|
+
exports.newRequest = require_requests_utility.newRequest;
|
|
82
|
+
exports.newResponse = require_requests_utility.newResponse;
|
|
83
|
+
exports.parseABCI = require_requests_utility.parseABCI;
|
|
84
|
+
exports.parseProto = require_requests_utility.parseProto;
|
|
85
|
+
exports.protobufPackage = require_tx.protobufPackage;
|
|
86
|
+
exports.sortedJsonStringify = require_utility.sortedJsonStringify;
|
|
87
|
+
exports.stringToBase64 = require_requests_utility.stringToBase64;
|
|
88
|
+
exports.stringToUTF8 = require_utility.stringToUTF8;
|
|
89
|
+
exports.toBase64 = require_adapters.toBase64;
|
|
90
|
+
exports.toHexString = require_adapters.toHexString;
|
|
91
|
+
exports.uint8ArrayToBase64 = require_requests_utility.uint8ArrayToBase64;
|
|
92
|
+
exports.waitForTransaction = require_provider_utility.waitForTransaction;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["BinaryWriter","BinaryReader","isSet","bytesFromBase64","base64FromBytes","BinaryWriter","BinaryReader","isSet","Long","bytesFromBase64","base64FromBytes","Long","BinaryWriter","BinaryReader","Slip10RawIndex","Bip39","EnglishMnemonic","Slip10","Slip10Curve","Secp256k1","Secp256k1","Secp256k1Signature","Secp256k1","Secp256k1Signature","Bip39","Wallet","Secp256k1"],"sources":["../src/proto/google/protobuf/any.ts","../src/proto/tm2/tx.ts","../src/services/rest/restService.ts","../src/provider/endpoints.ts","../src/provider/types/abci.ts","../src/proto/tm2/abci.ts","../src/provider/errors/messages.ts","../src/provider/errors/errors.ts","../src/provider/utility/errors.utility.ts","../src/provider/utility/requests.utility.ts","../src/provider/utility/provider.utility.ts","../src/provider/jsonrpc/jsonrpc.ts","../src/provider/websocket/ws.ts","../src/wallet/utility/utility.ts","../src/wallet/key/key.ts","../src/wallet/ledger/ledger.ts","../src/wallet/types/sign.ts","../src/wallet/wallet.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc v5.29.3\n// source: google/protobuf/any.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';\nimport Long from 'long';\n\nexport const protobufPackage = 'google.protobuf';\n\n/**\n * `Any` contains an arbitrary serialized protocol buffer message along with a\n * URL that describes the type of the serialized message.\n *\n * Protobuf library provides support to pack/unpack Any values in the form\n * of utility functions or additional generated methods of the Any type.\n *\n * Example 1: Pack and unpack a message in C++.\n *\n * Foo foo = ...;\n * Any any;\n * any.PackFrom(foo);\n * ...\n * if (any.UnpackTo(&foo)) {\n * ...\n * }\n *\n * Example 2: Pack and unpack a message in Java.\n *\n * Foo foo = ...;\n * Any any = Any.pack(foo);\n * ...\n * if (any.is(Foo.class)) {\n * foo = any.unpack(Foo.class);\n * }\n * // or ...\n * if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n * foo = any.unpack(Foo.getDefaultInstance());\n * }\n *\n * Example 3: Pack and unpack a message in Python.\n *\n * foo = Foo(...)\n * any = Any()\n * any.Pack(foo)\n * ...\n * if any.Is(Foo.DESCRIPTOR):\n * any.Unpack(foo)\n * ...\n *\n * Example 4: Pack and unpack a message in Go\n *\n * foo := &pb.Foo{...}\n * any, err := anypb.New(foo)\n * if err != nil {\n * ...\n * }\n * ...\n * foo := &pb.Foo{}\n * if err := any.UnmarshalTo(foo); err != nil {\n * ...\n * }\n *\n * The pack methods provided by protobuf library will by default use\n * 'type.googleapis.com/full.type.name' as the type URL and the unpack\n * methods only use the fully qualified type name after the last '/'\n * in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n * name \"y.z\".\n *\n * JSON\n * ====\n * The JSON representation of an `Any` value uses the regular\n * representation of the deserialized, embedded message, with an\n * additional field `@type` which contains the type URL. Example:\n *\n * package google.profile;\n * message Person {\n * string first_name = 1;\n * string last_name = 2;\n * }\n *\n * {\n * \"@type\": \"type.googleapis.com/google.profile.Person\",\n * \"firstName\": <string>,\n * \"lastName\": <string>\n * }\n *\n * If the embedded message type is well-known and has a custom JSON\n * representation, that representation will be embedded adding a field\n * `value` which holds the custom JSON in addition to the `@type`\n * field. Example (for message [google.protobuf.Duration][]):\n *\n * {\n * \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n * \"value\": \"1.212s\"\n * }\n */\nexport interface Any {\n /**\n * A URL/resource name that uniquely identifies the type of the serialized\n * protocol buffer message. This string must contain at least\n * one \"/\" character. The last segment of the URL's path must represent\n * the fully qualified name of the type (as in\n * `path/google.protobuf.Duration`). The name should be in a canonical form\n * (e.g., leading \".\" is not accepted).\n *\n * In practice, teams usually precompile into the binary all types that they\n * expect it to use in the context of Any. However, for URLs which use the\n * scheme `http`, `https`, or no scheme, one can optionally set up a type\n * server that maps type URLs to message definitions as follows:\n *\n * * If no scheme is provided, `https` is assumed.\n * * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n * value in binary format, or produce an error.\n * * Applications are allowed to cache lookup results based on the\n * URL, or have them precompiled into a binary to avoid any\n * lookup. Therefore, binary compatibility needs to be preserved\n * on changes to types. (Use versioned type names to manage\n * breaking changes.)\n *\n * Note: this functionality is not currently available in the official\n * protobuf release, and it is not used for type URLs beginning with\n * type.googleapis.com. As of May 2023, there are no widely used type server\n * implementations and no plans to implement one.\n *\n * Schemes other than `http`, `https` (or the empty scheme) might be\n * used with implementation specific semantics.\n */\n type_url: string;\n /** Must be a valid serialized protocol buffer of the above specified type. */\n value: Uint8Array;\n}\n\nfunction createBaseAny(): Any {\n return { type_url: '', value: new Uint8Array(0) };\n}\n\nexport const Any: MessageFns<Any> = {\n encode(\n message: Any,\n writer: BinaryWriter = new BinaryWriter()\n ): BinaryWriter {\n if (message.type_url !== '') {\n writer.uint32(10).string(message.type_url);\n }\n if (message.value.length !== 0) {\n writer.uint32(18).bytes(message.value);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Any {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAny();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.type_url = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.value = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Any {\n return {\n type_url: isSet(object.type_url)\n ? globalThis.String(object.type_url)\n : '',\n value: isSet(object.value)\n ? bytesFromBase64(object.value)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: Any): unknown {\n const obj: any = {};\n if (message.type_url !== undefined) {\n obj.type_url = message.type_url;\n }\n if (message.value !== undefined) {\n obj.value = base64FromBytes(message.value);\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<Any>, I>>(base?: I): Any {\n return Any.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Any>, I>>(object: I): Any {\n const message = createBaseAny();\n message.type_url = object.type_url ?? '';\n message.value = object.value ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, 'base64'));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString('base64');\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(''));\n }\n}\n\ntype Builtin =\n | Date\n | Function\n | Uint8Array\n | string\n | number\n | boolean\n | undefined;\n\nexport type DeepPartial<T> = T extends Builtin\n ? T\n : T extends Long\n ? string | number | Long\n : T extends globalThis.Array<infer U>\n ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin\n ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & {\n [K in Exclude<keyof I, KeysOfUnion<P>>]: never;\n };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\nexport interface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;\n fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc v5.29.3\n// source: tm2/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';\nimport Long from 'long';\nimport { Any } from '../google/protobuf/any';\n\nexport const protobufPackage = 'tm2.tx';\n\nexport interface Tx {\n /** specific message types */\n messages: Any[];\n /** transaction costs (fee) */\n fee?: TxFee | undefined;\n /** the signatures for the transaction */\n signatures: TxSignature[];\n /** memo attached to the transaction */\n memo: string;\n}\n\nexport interface TxFee {\n /** gas limit */\n gas_wanted: Long;\n /** gas fee details (<value><denomination>) */\n gas_fee: string;\n}\n\nexport interface TxSignature {\n /** public key associated with the signature */\n pub_key?: Any | undefined;\n /** the signature */\n signature: Uint8Array;\n}\n\nexport interface PubKeySecp256k1 {\n key: Uint8Array;\n}\n\nfunction createBaseTx(): Tx {\n return { messages: [], fee: undefined, signatures: [], memo: '' };\n}\n\nexport const Tx: MessageFns<Tx> = {\n encode(message: Tx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.messages) {\n Any.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.fee !== undefined) {\n TxFee.encode(message.fee, writer.uint32(18).fork()).join();\n }\n for (const v of message.signatures) {\n TxSignature.encode(v!, writer.uint32(26).fork()).join();\n }\n if (message.memo !== '') {\n writer.uint32(34).string(message.memo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Tx {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTx();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.messages.push(Any.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fee = TxFee.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signatures.push(TxSignature.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Tx {\n return {\n messages: globalThis.Array.isArray(object?.messages)\n ? object.messages.map((e: any) => Any.fromJSON(e))\n : [],\n fee: isSet(object.fee) ? TxFee.fromJSON(object.fee) : undefined,\n signatures: globalThis.Array.isArray(object?.signatures)\n ? object.signatures.map((e: any) => TxSignature.fromJSON(e))\n : [],\n memo: isSet(object.memo) ? globalThis.String(object.memo) : '',\n };\n },\n\n toJSON(message: Tx): unknown {\n const obj: any = {};\n if (message.messages?.length) {\n obj.messages = message.messages.map((e) => Any.toJSON(e));\n }\n if (message.fee !== undefined) {\n obj.fee = TxFee.toJSON(message.fee);\n }\n if (message.signatures?.length) {\n obj.signatures = message.signatures.map((e) => TxSignature.toJSON(e));\n }\n if (message.memo !== undefined) {\n obj.memo = message.memo;\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<Tx>, I>>(base?: I): Tx {\n return Tx.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<Tx>, I>>(object: I): Tx {\n const message = createBaseTx();\n message.messages = object.messages?.map((e) => Any.fromPartial(e)) || [];\n message.fee =\n object.fee !== undefined && object.fee !== null\n ? TxFee.fromPartial(object.fee)\n : undefined;\n message.signatures =\n object.signatures?.map((e) => TxSignature.fromPartial(e)) || [];\n message.memo = object.memo ?? '';\n return message;\n },\n};\n\nfunction createBaseTxFee(): TxFee {\n return { gas_wanted: Long.ZERO, gas_fee: '' };\n}\n\nexport const TxFee: MessageFns<TxFee> = {\n encode(\n message: TxFee,\n writer: BinaryWriter = new BinaryWriter()\n ): BinaryWriter {\n if (!message.gas_wanted.equals(Long.ZERO)) {\n writer.uint32(8).sint64(message.gas_wanted.toString());\n }\n if (message.gas_fee !== '') {\n writer.uint32(18).string(message.gas_fee);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): TxFee {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTxFee();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.gas_wanted = Long.fromString(reader.sint64().toString());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.gas_fee = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TxFee {\n return {\n gas_wanted: isSet(object.gas_wanted)\n ? Long.fromValue(object.gas_wanted)\n : Long.ZERO,\n gas_fee: isSet(object.gas_fee) ? globalThis.String(object.gas_fee) : '',\n };\n },\n\n toJSON(message: TxFee): unknown {\n const obj: any = {};\n if (message.gas_wanted !== undefined) {\n obj.gas_wanted = (message.gas_wanted || Long.ZERO).toString();\n }\n if (message.gas_fee !== undefined) {\n obj.gas_fee = message.gas_fee;\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<TxFee>, I>>(base?: I): TxFee {\n return TxFee.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<TxFee>, I>>(object: I): TxFee {\n const message = createBaseTxFee();\n message.gas_wanted =\n object.gas_wanted !== undefined && object.gas_wanted !== null\n ? Long.fromValue(object.gas_wanted)\n : Long.ZERO;\n message.gas_fee = object.gas_fee ?? '';\n return message;\n },\n};\n\nfunction createBaseTxSignature(): TxSignature {\n return { pub_key: undefined, signature: new Uint8Array(0) };\n}\n\nexport const TxSignature: MessageFns<TxSignature> = {\n encode(\n message: TxSignature,\n writer: BinaryWriter = new BinaryWriter()\n ): BinaryWriter {\n if (message.pub_key !== undefined) {\n Any.encode(message.pub_key, writer.uint32(10).fork()).join();\n }\n if (message.signature.length !== 0) {\n writer.uint32(18).bytes(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): TxSignature {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTxSignature();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pub_key = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.signature = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TxSignature {\n return {\n pub_key: isSet(object.pub_key) ? Any.fromJSON(object.pub_key) : undefined,\n signature: isSet(object.signature)\n ? bytesFromBase64(object.signature)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: TxSignature): unknown {\n const obj: any = {};\n if (message.pub_key !== undefined) {\n obj.pub_key = Any.toJSON(message.pub_key);\n }\n if (message.signature !== undefined) {\n obj.signature = base64FromBytes(message.signature);\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<TxSignature>, I>>(base?: I): TxSignature {\n return TxSignature.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<TxSignature>, I>>(\n object: I\n ): TxSignature {\n const message = createBaseTxSignature();\n message.pub_key =\n object.pub_key !== undefined && object.pub_key !== null\n ? Any.fromPartial(object.pub_key)\n : undefined;\n message.signature = object.signature ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBasePubKeySecp256k1(): PubKeySecp256k1 {\n return { key: new Uint8Array(0) };\n}\n\nexport const PubKeySecp256k1: MessageFns<PubKeySecp256k1> = {\n encode(\n message: PubKeySecp256k1,\n writer: BinaryWriter = new BinaryWriter()\n ): BinaryWriter {\n if (message.key.length !== 0) {\n writer.uint32(10).bytes(message.key);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PubKeySecp256k1 {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePubKeySecp256k1();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.key = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PubKeySecp256k1 {\n return {\n key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0),\n };\n },\n\n toJSON(message: PubKeySecp256k1): unknown {\n const obj: any = {};\n if (message.key !== undefined) {\n obj.key = base64FromBytes(message.key);\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<PubKeySecp256k1>, I>>(\n base?: I\n ): PubKeySecp256k1 {\n return PubKeySecp256k1.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<PubKeySecp256k1>, I>>(\n object: I\n ): PubKeySecp256k1 {\n const message = createBasePubKeySecp256k1();\n message.key = object.key ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, 'base64'));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString('base64');\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(''));\n }\n}\n\ntype Builtin =\n | Date\n | Function\n | Uint8Array\n | string\n | number\n | boolean\n | undefined;\n\nexport type DeepPartial<T> = T extends Builtin\n ? T\n : T extends Long\n ? string | number | Long\n : T extends globalThis.Array<infer U>\n ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin\n ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & {\n [K in Exclude<keyof I, KeysOfUnion<P>>]: never;\n };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\nexport interface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;\n fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;\n}\n","import axios from 'axios';\nimport { RequestParams } from './restService.types';\nimport { RPCResponse } from '../../provider';\n\nexport class RestService {\n static async post<TResult>(\n baseURL: string,\n params: RequestParams\n ): Promise<TResult> {\n const axiosResponse = await axios.post<RPCResponse<TResult>>(\n baseURL,\n params.request,\n params.config\n );\n\n const { result, error } = axiosResponse.data;\n\n // Check for errors\n if (error) {\n // Error encountered during the POST request\n throw new Error(`${error.message}: ${error.data}`);\n }\n\n // Check for the correct result format\n if (!result) {\n throw new Error('invalid result returned');\n }\n\n return result;\n }\n}\n","export enum CommonEndpoint {\n HEALTH = 'health',\n STATUS = 'status',\n}\n\nexport enum ConsensusEndpoint {\n NET_INFO = 'net_info',\n GENESIS = 'genesis',\n CONSENSUS_PARAMS = 'consensus_params',\n CONSENSUS_STATE = 'consensus_state',\n COMMIT = 'commit',\n VALIDATORS = 'validators',\n}\n\nexport enum BlockEndpoint {\n BLOCK = 'block',\n BLOCK_RESULTS = 'block_results',\n BLOCKCHAIN = 'blockchain',\n}\n\nexport enum TransactionEndpoint {\n NUM_UNCONFIRMED_TXS = 'num_unconfirmed_txs',\n UNCONFIRMED_TXS = 'unconfirmed_txs',\n BROADCAST_TX_ASYNC = 'broadcast_tx_async',\n BROADCAST_TX_SYNC = 'broadcast_tx_sync',\n BROADCAST_TX_COMMIT = 'broadcast_tx_commit',\n TX = 'tx',\n}\n\nexport enum ABCIEndpoint {\n ABCI_INFO = 'abci_info',\n ABCI_QUERY = 'abci_query',\n}\n","export interface ABCIResponse {\n response: {\n ResponseBase: ABCIResponseBase;\n Key: string | null;\n Value: string | null;\n Proof: MerkleProof | null;\n Height: string;\n };\n}\n\nexport interface ABCIResponseBase {\n Error: {\n // ABCIErrorKey\n [key: string]: string;\n } | null;\n Data: string | null;\n Events: string | null;\n Log: string;\n Info: string;\n}\n\ninterface MerkleProof {\n ops: {\n type: string;\n key: string | null;\n data: string | null;\n }[];\n}\n\nexport interface ABCIAccount {\n BaseAccount: {\n // the associated account address\n address: string;\n // the balance list\n coins: string;\n // the public key info\n public_key: {\n // type of public key\n '@type': string;\n // public key value\n value: string;\n } | null;\n // the account number (state-dependent) (decimal)\n account_number: string;\n // the account sequence / nonce (decimal)\n sequence: string;\n };\n}\n\nexport const ABCIErrorKey = '@type';\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc v5.29.3\n// source: tm2/abci.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';\nimport Long from 'long';\nimport { Any } from '../google/protobuf/any';\n\nexport const protobufPackage = 'tm2.abci';\n\nexport interface ResponseDeliverTx {\n response_base?: ResponseBase | undefined;\n gas_wanted: Long;\n gas_used: Long;\n}\n\nexport interface ResponseBase {\n error?: Any | undefined;\n data: Uint8Array;\n events: Any[];\n log: string;\n info: string;\n}\n\nfunction createBaseResponseDeliverTx(): ResponseDeliverTx {\n return {\n response_base: undefined,\n gas_wanted: Long.ZERO,\n gas_used: Long.ZERO,\n };\n}\n\nexport const ResponseDeliverTx: MessageFns<ResponseDeliverTx> = {\n encode(\n message: ResponseDeliverTx,\n writer: BinaryWriter = new BinaryWriter()\n ): BinaryWriter {\n if (message.response_base !== undefined) {\n ResponseBase.encode(\n message.response_base,\n writer.uint32(10).fork()\n ).join();\n }\n if (!message.gas_wanted.equals(Long.ZERO)) {\n writer.uint32(16).sint64(message.gas_wanted.toString());\n }\n if (!message.gas_used.equals(Long.ZERO)) {\n writer.uint32(24).sint64(message.gas_used.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResponseDeliverTx {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResponseDeliverTx();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.response_base = ResponseBase.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.gas_wanted = Long.fromString(reader.sint64().toString());\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.gas_used = Long.fromString(reader.sint64().toString());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResponseDeliverTx {\n return {\n response_base: isSet(object.ResponseBase)\n ? ResponseBase.fromJSON(object.ResponseBase)\n : undefined,\n gas_wanted: isSet(object.GasWanted)\n ? Long.fromValue(object.GasWanted)\n : Long.ZERO,\n gas_used: isSet(object.GasUsed)\n ? Long.fromValue(object.GasUsed)\n : Long.ZERO,\n };\n },\n\n toJSON(message: ResponseDeliverTx): unknown {\n const obj: any = {};\n if (message.response_base !== undefined) {\n obj.ResponseBase = ResponseBase.toJSON(message.response_base);\n }\n if (message.gas_wanted !== undefined) {\n obj.GasWanted = (message.gas_wanted || Long.ZERO).toString();\n }\n if (message.gas_used !== undefined) {\n obj.GasUsed = (message.gas_used || Long.ZERO).toString();\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<ResponseDeliverTx>, I>>(\n base?: I\n ): ResponseDeliverTx {\n return ResponseDeliverTx.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<ResponseDeliverTx>, I>>(\n object: I\n ): ResponseDeliverTx {\n const message = createBaseResponseDeliverTx();\n message.response_base =\n object.response_base !== undefined && object.response_base !== null\n ? ResponseBase.fromPartial(object.response_base)\n : undefined;\n message.gas_wanted =\n object.gas_wanted !== undefined && object.gas_wanted !== null\n ? Long.fromValue(object.gas_wanted)\n : Long.ZERO;\n message.gas_used =\n object.gas_used !== undefined && object.gas_used !== null\n ? Long.fromValue(object.gas_used)\n : Long.ZERO;\n return message;\n },\n};\n\nfunction createBaseResponseBase(): ResponseBase {\n return {\n error: undefined,\n data: new Uint8Array(0),\n events: [],\n log: '',\n info: '',\n };\n}\n\nexport const ResponseBase: MessageFns<ResponseBase> = {\n encode(\n message: ResponseBase,\n writer: BinaryWriter = new BinaryWriter()\n ): BinaryWriter {\n if (message.error !== undefined) {\n Any.encode(message.error, writer.uint32(10).fork()).join();\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n for (const v of message.events) {\n Any.encode(v!, writer.uint32(26).fork()).join();\n }\n if (message.log !== '') {\n writer.uint32(34).string(message.log);\n }\n if (message.info !== '') {\n writer.uint32(42).string(message.info);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResponseBase {\n const reader =\n input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResponseBase();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.error = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.events.push(Any.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.log = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.info = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResponseBase {\n return {\n error: isSet(object.Error) ? Any.fromJSON(object.Error) : undefined,\n data: isSet(object.Data)\n ? bytesFromBase64(object.Data)\n : new Uint8Array(0),\n events: globalThis.Array.isArray(object?.Events)\n ? object.Events.map((e: any) => Any.fromJSON(e))\n : [],\n log: isSet(object.Log) ? globalThis.String(object.Log) : '',\n info: isSet(object.Info) ? globalThis.String(object.Info) : '',\n };\n },\n\n toJSON(message: ResponseBase): unknown {\n const obj: any = {};\n if (message.error !== undefined) {\n obj.Error = Any.toJSON(message.error);\n }\n if (message.data !== undefined) {\n obj.Data = base64FromBytes(message.data);\n }\n if (message.events?.length) {\n obj.Events = message.events.map((e) => Any.toJSON(e));\n }\n if (message.log !== undefined) {\n obj.Log = message.log;\n }\n if (message.info !== undefined) {\n obj.Info = message.info;\n }\n return obj;\n },\n\n create<I extends Exact<DeepPartial<ResponseBase>, I>>(\n base?: I\n ): ResponseBase {\n return ResponseBase.fromPartial(base ?? ({} as any));\n },\n fromPartial<I extends Exact<DeepPartial<ResponseBase>, I>>(\n object: I\n ): ResponseBase {\n const message = createBaseResponseBase();\n message.error =\n object.error !== undefined && object.error !== null\n ? Any.fromPartial(object.error)\n : undefined;\n message.data = object.data ?? new Uint8Array(0);\n message.events = object.events?.map((e) => Any.fromPartial(e)) || [];\n message.log = object.log ?? '';\n message.info = object.info ?? '';\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, 'base64'));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString('base64');\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(''));\n }\n}\n\ntype Builtin =\n | Date\n | Function\n | Uint8Array\n | string\n | number\n | boolean\n | undefined;\n\nexport type DeepPartial<T> = T extends Builtin\n ? T\n : T extends Long\n ? string | number | Long\n : T extends globalThis.Array<infer U>\n ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ntype KeysOfUnion<T> = T extends T ? keyof T : never;\nexport type Exact<P, I extends P> = P extends Builtin\n ? P\n : P & { [K in keyof P]: Exact<P[K], I[K]> } & {\n [K in Exclude<keyof I, KeysOfUnion<P>>]: never;\n };\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\nexport interface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;\n fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;\n}\n","// Errors constructed from:\n// https://github.com/gnolang/gno/blob/master/tm2/pkg/std/errors.go\n\nconst InternalErrorMessage = 'internal error encountered';\nconst TxDecodeErrorMessage = 'unable to decode tx';\nconst InvalidSequenceErrorMessage = 'invalid sequence';\nconst UnauthorizedErrorMessage = 'signature is unauthorized';\nconst InsufficientFundsErrorMessage = 'insufficient funds';\nconst UnknownRequestErrorMessage = 'unknown request';\nconst InvalidAddressErrorMessage = 'invalid address';\nconst UnknownAddressErrorMessage = 'unknown address';\nconst InvalidPubKeyErrorMessage = 'invalid pubkey';\nconst InsufficientCoinsErrorMessage = 'insufficient coins';\nconst InvalidCoinsErrorMessage = 'invalid coins';\nconst InvalidGasWantedErrorMessage = 'invalid gas wanted';\nconst OutOfGasErrorMessage = 'out of gas';\nconst MemoTooLargeErrorMessage = 'memo too large';\nconst InsufficientFeeErrorMessage = 'insufficient fee';\nconst TooManySignaturesErrorMessage = 'too many signatures';\nconst NoSignaturesErrorMessage = 'no signatures';\nconst GasOverflowErrorMessage = 'gas overflow';\n\nexport {\n InternalErrorMessage,\n TxDecodeErrorMessage,\n InvalidSequenceErrorMessage,\n UnauthorizedErrorMessage,\n InsufficientFundsErrorMessage,\n UnknownRequestErrorMessage,\n InvalidAddressErrorMessage,\n UnknownAddressErrorMessage,\n InvalidPubKeyErrorMessage,\n InsufficientCoinsErrorMessage,\n InvalidCoinsErrorMessage,\n InvalidGasWantedErrorMessage,\n OutOfGasErrorMessage,\n MemoTooLargeErrorMessage,\n InsufficientFeeErrorMessage,\n TooManySignaturesErrorMessage,\n NoSignaturesErrorMessage,\n GasOverflowErrorMessage,\n};\n","import {\n GasOverflowErrorMessage,\n InsufficientCoinsErrorMessage,\n InsufficientFeeErrorMessage,\n InsufficientFundsErrorMessage,\n InternalErrorMessage,\n InvalidAddressErrorMessage,\n InvalidCoinsErrorMessage,\n InvalidGasWantedErrorMessage,\n InvalidPubKeyErrorMessage,\n InvalidSequenceErrorMessage,\n MemoTooLargeErrorMessage,\n NoSignaturesErrorMessage,\n OutOfGasErrorMessage,\n TooManySignaturesErrorMessage,\n TxDecodeErrorMessage,\n UnauthorizedErrorMessage,\n UnknownAddressErrorMessage,\n UnknownRequestErrorMessage,\n} from './messages';\n\nclass TM2Error extends Error {\n public log?: string;\n\n constructor(message: string, log?: string) {\n super(message);\n\n this.log = log;\n }\n}\n\nclass InternalError extends TM2Error {\n constructor(log?: string) {\n super(InternalErrorMessage, log);\n }\n}\n\nclass TxDecodeError extends TM2Error {\n constructor(log?: string) {\n super(TxDecodeErrorMessage, log);\n }\n}\n\nclass InvalidSequenceError extends TM2Error {\n constructor(log?: string) {\n super(InvalidSequenceErrorMessage, log);\n }\n}\n\nclass UnauthorizedError extends TM2Error {\n constructor(log?: string) {\n super(UnauthorizedErrorMessage, log);\n }\n}\n\nclass InsufficientFundsError extends TM2Error {\n constructor(log?: string) {\n super(InsufficientFundsErrorMessage, log);\n }\n}\n\nclass UnknownRequestError extends TM2Error {\n constructor(log?: string) {\n super(UnknownRequestErrorMessage, log);\n }\n}\n\nclass InvalidAddressError extends TM2Error {\n constructor(log?: string) {\n super(InvalidAddressErrorMessage, log);\n }\n}\n\nclass UnknownAddressError extends TM2Error {\n constructor(log?: string) {\n super(UnknownAddressErrorMessage, log);\n }\n}\n\nclass InvalidPubKeyError extends TM2Error {\n constructor(log?: string) {\n super(InvalidPubKeyErrorMessage, log);\n }\n}\n\nclass InsufficientCoinsError extends TM2Error {\n constructor(log?: string) {\n super(InsufficientCoinsErrorMessage, log);\n }\n}\n\nclass InvalidCoinsError extends TM2Error {\n constructor(log?: string) {\n super(InvalidCoinsErrorMessage, log);\n }\n}\n\nclass InvalidGasWantedError extends TM2Error {\n constructor(log?: string) {\n super(InvalidGasWantedErrorMessage, log);\n }\n}\n\nclass OutOfGasError extends TM2Error {\n constructor(log?: string) {\n super(OutOfGasErrorMessage, log);\n }\n}\n\nclass MemoTooLargeError extends TM2Error {\n constructor(log?: string) {\n super(MemoTooLargeErrorMessage, log);\n }\n}\n\nclass InsufficientFeeError extends TM2Error {\n constructor(log?: string) {\n super(InsufficientFeeErrorMessage, log);\n }\n}\n\nclass TooManySignaturesError extends TM2Error {\n constructor(log?: string) {\n super(TooManySignaturesErrorMessage, log);\n }\n}\n\nclass NoSignaturesError extends TM2Error {\n constructor(log?: string) {\n super(NoSignaturesErrorMessage, log);\n }\n}\n\nclass GasOverflowError extends TM2Error {\n constructor(log?: string) {\n super(GasOverflowErrorMessage, log);\n }\n}\n\nexport {\n TM2Error,\n InternalError,\n TxDecodeError,\n InvalidSequenceError,\n UnauthorizedError,\n InsufficientFundsError,\n UnknownRequestError,\n InvalidAddressError,\n UnknownAddressError,\n InvalidPubKeyError,\n InsufficientCoinsError,\n InvalidCoinsError,\n InvalidGasWantedError,\n OutOfGasError,\n MemoTooLargeError,\n InsufficientFeeError,\n TooManySignaturesError,\n NoSignaturesError,\n GasOverflowError,\n};\n","import {\n GasOverflowError,\n InsufficientCoinsError,\n InsufficientFeeError,\n InsufficientFundsError,\n InternalError,\n InvalidAddressError,\n InvalidCoinsError,\n InvalidGasWantedError,\n InvalidPubKeyError,\n InvalidSequenceError,\n MemoTooLargeError,\n NoSignaturesError,\n OutOfGasError,\n TM2Error,\n TooManySignaturesError,\n TxDecodeError,\n UnauthorizedError,\n UnknownAddressError,\n UnknownRequestError,\n} from '../errors';\n\n/**\n * Constructs the appropriate Tendermint2\n * error based on the error ID.\n * Error IDs retrieved from:\n * https://github.com/gnolang/gno/blob/64f0fd0fa44021a076e1453b1767fbc914ed3b66/tm2/pkg/std/package.go#L20C1-L38\n * @param {string} errorID the proto ID of the error\n * @param {string} [log] the log associated with the error, if any\n * @returns {TM2Error}\n */\nexport const constructRequestError = (\n errorID: string,\n log?: string\n): TM2Error => {\n switch (errorID) {\n case '/std.InternalError':\n return new InternalError(log);\n case '/std.TxDecodeError':\n return new TxDecodeError(log);\n case '/std.InvalidSequenceError':\n return new InvalidSequenceError(log);\n case '/std.UnauthorizedError':\n return new UnauthorizedError(log);\n case '/std.InsufficientFundsError':\n return new InsufficientFundsError(log);\n case '/std.UnknownRequestError':\n return new UnknownRequestError(log);\n case '/std.InvalidAddressError':\n return new InvalidAddressError(log);\n case '/std.UnknownAddressError':\n return new UnknownAddressError(log);\n case '/std.InvalidPubKeyError':\n return new InvalidPubKeyError(log);\n case '/std.InsufficientCoinsError':\n return new InsufficientCoinsError(log);\n case '/std.InvalidCoinsError':\n return new InvalidCoinsError(log);\n case '/std.InvalidGasWantedError':\n return new InvalidGasWantedError(log);\n case '/std.OutOfGasError':\n return new OutOfGasError(log);\n case '/std.MemoTooLargeError':\n return new MemoTooLargeError(log);\n case '/std.InsufficientFeeError':\n return new InsufficientFeeError(log);\n case '/std.TooManySignaturesError':\n return new TooManySignaturesError(log);\n case '/std.NoSignaturesError':\n return new NoSignaturesError(log);\n case '/std.GasOverflowError':\n return new GasOverflowError(log);\n default:\n return new TM2Error(`unknown error: ${errorID}`, log);\n }\n};\n","import { BinaryReader } from '@bufbuild/protobuf/wire';\nimport { v4 as uuidv4 } from 'uuid';\nimport { RPCError, RPCRequest, RPCResponse } from '../types';\n\n// The version of the supported JSON-RPC protocol\nconst standardVersion = '2.0';\n\n/**\n * Creates a new JSON-RPC 2.0 request\n * @param {string} method the requested method\n * @param {string[]} [params] the requested params, if any\n */\nexport const newRequest = (method: string, params?: any[]): RPCRequest => {\n return {\n // the ID of the request is not that relevant for this helper method;\n // for finer ID control, instantiate the request object directly\n id: uuidv4(),\n jsonrpc: standardVersion,\n method: method,\n params: params,\n };\n};\n\n/**\n * Creates a new JSON-RPC 2.0 response\n * @param {Result} result the response result, if any\n * @param {RPCError} error the response error, if any\n */\nexport const newResponse = <Result>(\n result?: Result,\n error?: RPCError\n): RPCResponse<Result> => {\n return {\n id: uuidv4(),\n jsonrpc: standardVersion,\n result: result,\n error: error,\n };\n};\n\n/**\n * Parses the base64 encoded ABCI JSON into a concrete type\n * @param {string} data the base64-encoded JSON\n */\nexport const parseABCI = <Result>(data: string): Result => {\n const jsonData: string = Buffer.from(data, 'base64').toString();\n const parsedData: Result | null = JSON.parse(jsonData);\n\n if (!parsedData) {\n throw new Error('unable to parse JSON response');\n }\n\n return parsedData;\n};\n\nexport const parseProto = <T>(\n data: string,\n decodeFn: (input: BinaryReader | Uint8Array, length?: number) => T\n) => {\n const protoData = decodeFn(Buffer.from(data, 'base64'));\n\n return protoData;\n};\n\n/**\n * Converts a string into base64 representation\n * @param {string} str the raw string\n */\nexport const stringToBase64 = (str: string): string => {\n const buffer = Buffer.from(str, 'utf-8');\n\n return buffer.toString('base64');\n};\n\n/**\n * Converts a base64 string into a Uint8Array representation\n * @param {string} str the base64-encoded string\n */\nexport const base64ToUint8Array = (str: string): Uint8Array => {\n const buffer = Buffer.from(str, 'base64');\n\n return new Uint8Array(buffer);\n};\n\n/**\n * Converts a Uint8Array into base64 representation\n * @param {Uint8Array} data the Uint8Array to be encoded\n */\nexport const uint8ArrayToBase64 = (data: Uint8Array): string => {\n return Buffer.from(data).toString('base64');\n};\n","import { sha256 } from '@cosmjs/crypto';\nimport { Tx } from '../../proto';\nimport { ResponseDeliverTx } from '../../proto/tm2/abci';\nimport { Provider } from '../provider';\nimport { ABCIAccount, ABCIErrorKey, ABCIResponse, BlockInfo } from '../types';\nimport { constructRequestError } from './errors.utility';\nimport {\n base64ToUint8Array,\n parseABCI,\n parseProto,\n uint8ArrayToBase64,\n} from './requests.utility';\n\n/**\n * Extracts the specific balance denomination from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n * @param {string} denomination the required denomination\n */\nexport const extractBalanceFromResponse = (\n abciData: string | null,\n denomination: string\n): number => {\n // Make sure the response is initialized\n if (!abciData) {\n return 0;\n }\n\n // Extract the balances\n const balancesRaw = Buffer.from(abciData, 'base64')\n .toString()\n .replace(/\"/gi, '');\n\n // Find the correct balance denomination\n const balances: string[] = balancesRaw.split(',');\n if (balances.length < 1) {\n return 0;\n }\n\n // Find the correct denomination\n const pattern = new RegExp(`^(\\\\d+)${denomination}$`);\n for (const balance of balances) {\n const match = balance.match(pattern);\n if (match) {\n return parseInt(match[1], 10);\n }\n }\n\n return 0;\n};\n\n/**\n * Extracts the account sequence from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n */\nexport const extractSequenceFromResponse = (\n abciData: string | null\n): number => {\n // Make sure the response is initialized\n if (!abciData) {\n return 0;\n }\n\n try {\n // Parse the account\n const account: ABCIAccount = parseABCI<ABCIAccount>(abciData);\n\n return parseInt(account.BaseAccount.sequence, 10);\n } catch (e) {\n // unused case\n }\n\n // Account not initialized,\n // return default value (0)\n return 0;\n};\n\n/**\n * Extracts the account number from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n */\nexport const extractAccountNumberFromResponse = (\n abciData: string | null\n): number => {\n // Make sure the response is initialized\n if (!abciData) {\n throw new Error('account is not initialized');\n }\n\n try {\n // Parse the account\n const account: ABCIAccount = parseABCI<ABCIAccount>(abciData);\n\n return parseInt(account.BaseAccount.account_number, 10);\n } catch (e) {\n throw new Error('account is not initialized');\n }\n};\n\n/**\n * Extracts the account from the ABCI response\n * @param {string | null} abciData the base64-encoded ABCI data\n */\nexport const extractAccountFromResponse = (\n abciData: string | null\n): ABCIAccount => {\n // Make sure the response is initialized\n if (!abciData) {\n throw new Error('account is not initialized');\n }\n\n try {\n // Parse the account\n const account: ABCIAccount = parseABCI<ABCIAccount>(abciData);\n\n return account;\n } catch (e) {\n throw new Error('account is not initialized');\n }\n};\n\n/**\n * Extracts the simulate transaction response from the ABCI response value\n * @param {string | null} abciData the base64-encoded ResponseDeliverTx proto message\n */\nexport const extractSimulateFromResponse = (\n abciResponse: ABCIResponse | null\n): ResponseDeliverTx => {\n // Make sure the response is initialized\n if (!abciResponse) {\n throw new Error('abci data is not initialized');\n }\n\n const error = abciResponse.response?.ResponseBase?.Error;\n if (error && error[ABCIErrorKey]) {\n throw constructRequestError(error[ABCIErrorKey]);\n }\n\n const value = abciResponse.response.Value;\n if (!value) {\n throw new Error('abci data is not initialized');\n }\n\n try {\n return parseProto(value, ResponseDeliverTx.decode);\n } catch (e) {\n throw new Error('unable to parse simulate response');\n }\n};\n\n/**\n * Waits for the transaction to be committed to a block in the chain\n * of the specified provider. This helper does a search for incoming blocks\n * and checks if a transaction\n * @param {Provider} provider the provider instance\n * @param {string} hash the base64-encoded hash of the transaction\n * @param {number} [fromHeight=latest] the starting height for the search. If omitted, it is the latest block in the chain\n * @param {number} [timeout=15000] the timeout in MS for the search\n */\nexport const waitForTransaction = async (\n provider: Provider,\n hash: string,\n fromHeight?: number,\n timeout?: number\n): Promise<Tx> => {\n return new Promise(async (resolve, reject) => {\n // Fetch the starting point\n let currentHeight = fromHeight\n ? fromHeight\n : await provider.getBlockNumber();\n\n const exitTimeout = timeout ? timeout : 15000;\n\n const fetchInterval = setInterval(async () => {\n // Fetch the latest block height\n const latestHeight = await provider.getBlockNumber();\n\n if (latestHeight < currentHeight) {\n // No need to parse older blocks\n return;\n }\n\n for (let blockNum = currentHeight; blockNum <= latestHeight; blockNum++) {\n // Fetch the block from the chain\n const block: BlockInfo = await provider.getBlock(blockNum);\n\n // Check if there are any transactions at all in the block\n if (!block.block.data.txs || block.block.data.txs.length == 0) {\n continue;\n }\n\n // Find the transaction among the block transactions\n for (const tx of block.block.data.txs) {\n // Decode the base-64 transaction\n const txRaw = base64ToUint8Array(tx);\n\n // Calculate the transaction hash\n const txHash = sha256(txRaw);\n\n if (uint8ArrayToBase64(txHash) == hash) {\n // Clear the interval\n clearInterval(fetchInterval);\n\n // Decode the transaction from amino\n resolve(Tx.decode(txRaw));\n }\n }\n }\n\n currentHeight = latestHeight + 1;\n }, 1000);\n\n setTimeout(() => {\n // Clear the fetch interval\n clearInterval(fetchInterval);\n\n reject('transaction fetch timeout');\n }, exitTimeout);\n });\n};\n","import { Tx } from '../../proto';\nimport { RestService } from '../../services';\nimport {\n ABCIEndpoint,\n BlockEndpoint,\n CommonEndpoint,\n ConsensusEndpoint,\n TransactionEndpoint,\n} from '../endpoints';\nimport { Provider } from '../provider';\nimport {\n ABCIAccount,\n ABCIErrorKey,\n ABCIResponse,\n BlockInfo,\n BlockResult,\n BroadcastTransactionMap,\n BroadcastTxCommitResult,\n BroadcastTxSyncResult,\n ConsensusParams,\n NetworkInfo,\n RPCRequest,\n Status,\n TxResult,\n} from '../types';\nimport {\n extractAccountFromResponse,\n extractAccountNumberFromResponse,\n extractBalanceFromResponse,\n extractSequenceFromResponse,\n extractSimulateFromResponse,\n newRequest,\n uint8ArrayToBase64,\n waitForTransaction,\n} from '../utility';\nimport { constructRequestError } from '../utility/errors.utility';\n\n/**\n * Provider based on JSON-RPC HTTP requests\n */\nexport class JSONRPCProvider implements Provider {\n protected readonly baseURL: string;\n\n /**\n * Creates a new instance of the JSON-RPC Provider\n * @param {string} baseURL the JSON-RPC URL of the node\n */\n constructor(baseURL: string) {\n this.baseURL = baseURL;\n }\n\n async estimateGas(tx: Tx): Promise<number> {\n const encodedTx = uint8ArrayToBase64(Tx.encode(tx).finish());\n const abciResponse: ABCIResponse = await RestService.post<ABCIResponse>(\n this.baseURL,\n {\n request: newRequest(ABCIEndpoint.ABCI_QUERY, [\n `.app/simulate`,\n `${encodedTx}`,\n '0', // Height; not supported > 0 for now\n false,\n ]),\n }\n );\n\n const simulateResult = extractSimulateFromResponse(abciResponse);\n\n return simulateResult.gas_used.toInt();\n }\n\n async getBalance(\n address: string,\n denomination?: string,\n height?: number\n ): Promise<number> {\n const abciResponse: ABCIResponse = await RestService.post<ABCIResponse>(\n this.baseURL,\n {\n request: newRequest(ABCIEndpoint.ABCI_QUERY, [\n `bank/balances/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ]),\n }\n );\n\n return extractBalanceFromResponse(\n abciResponse.response.ResponseBase.Data,\n denomination ? denomination : 'ugnot'\n );\n }\n\n async getBlock(height: number): Promise<BlockInfo> {\n return await RestService.post<BlockInfo>(this.baseURL, {\n request: newRequest(BlockEndpoint.BLOCK, [height.toString()]),\n });\n }\n\n async getBlockResult(height: number): Promise<BlockResult> {\n return await RestService.post<BlockResult>(this.baseURL, {\n request: newRequest(BlockEndpoint.BLOCK_RESULTS, [height.toString()]),\n });\n }\n\n async getBlockNumber(): Promise<number> {\n // Fetch the status for the latest info\n const status = await this.getStatus();\n\n return parseInt(status.sync_info.latest_block_height);\n }\n\n async getConsensusParams(height: number): Promise<ConsensusParams> {\n return await RestService.post<ConsensusParams>(this.baseURL, {\n request: newRequest(ConsensusEndpoint.CONSENSUS_PARAMS, [\n height.toString(),\n ]),\n });\n }\n\n getGasPrice(): Promise<number> {\n return Promise.reject('not supported');\n }\n\n async getNetwork(): Promise<NetworkInfo> {\n return await RestService.post<NetworkInfo>(this.baseURL, {\n request: newRequest(ConsensusEndpoint.NET_INFO),\n });\n }\n\n async getAccountSequence(address: string, height?: number): Promise<number> {\n const abciResponse: ABCIResponse = await RestService.post<ABCIResponse>(\n this.baseURL,\n {\n request: newRequest(ABCIEndpoint.ABCI_QUERY, [\n `auth/accounts/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ]),\n }\n );\n\n return extractSequenceFromResponse(abciResponse.response.ResponseBase.Data);\n }\n\n async getAccountNumber(address: string, height?: number): Promise<number> {\n const abciResponse: ABCIResponse = await RestService.post<ABCIResponse>(\n this.baseURL,\n {\n request: newRequest(ABCIEndpoint.ABCI_QUERY, [\n `auth/accounts/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ]),\n }\n );\n\n return extractAccountNumberFromResponse(\n abciResponse.response.ResponseBase.Data\n );\n }\n\n async getAccount(address: string, height?: number): Promise<ABCIAccount> {\n const abciResponse: ABCIResponse = await RestService.post<ABCIResponse>(\n this.baseURL,\n {\n request: newRequest(ABCIEndpoint.ABCI_QUERY, [\n `auth/accounts/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ]),\n }\n );\n\n return extractAccountFromResponse(abciResponse.response.ResponseBase.Data);\n }\n\n async getStatus(): Promise<Status> {\n return await RestService.post<Status>(this.baseURL, {\n request: newRequest(CommonEndpoint.STATUS, [null]),\n });\n }\n\n async getTransaction(hash: string): Promise<TxResult> {\n return await RestService.post<TxResult>(this.baseURL, {\n request: newRequest(TransactionEndpoint.TX, [hash]),\n });\n }\n\n async sendTransaction<K extends keyof BroadcastTransactionMap>(\n tx: string,\n endpoint: K\n ): Promise<BroadcastTransactionMap[K]['result']> {\n const request: RPCRequest = newRequest(endpoint, [tx]);\n\n switch (endpoint) {\n case TransactionEndpoint.BROADCAST_TX_COMMIT:\n // The endpoint is a commit broadcast\n // (it waits for the transaction to be committed) to the chain before returning\n return this.broadcastTxCommit(request);\n case TransactionEndpoint.BROADCAST_TX_SYNC:\n default:\n return this.broadcastTxSync(request);\n }\n }\n\n private async broadcastTxSync(\n request: RPCRequest\n ): Promise<BroadcastTxSyncResult> {\n const response: BroadcastTxSyncResult =\n await RestService.post<BroadcastTxSyncResult>(this.baseURL, {\n request,\n });\n\n // Check if there is an immediate tx-broadcast error\n // (originating from basic transaction checks like CheckTx)\n if (response.error) {\n const errType: string = response.error[ABCIErrorKey];\n const log: string = response.Log;\n\n throw constructRequestError(errType, log);\n }\n\n return response;\n }\n\n private async broadcastTxCommit(\n request: RPCRequest\n ): Promise<BroadcastTxCommitResult> {\n const response: BroadcastTxCommitResult =\n await RestService.post<BroadcastTxCommitResult>(this.baseURL, {\n request,\n });\n\n const { check_tx, deliver_tx } = response;\n\n // Check if there is an immediate tx-broadcast error (in CheckTx)\n if (check_tx.ResponseBase.Error) {\n const errType: string = check_tx.ResponseBase.Error[ABCIErrorKey];\n const log: string = check_tx.ResponseBase.Log;\n\n throw constructRequestError(errType, log);\n }\n\n // Check if there is a parsing error with the transaction (in DeliverTx)\n if (deliver_tx.ResponseBase.Error) {\n const errType: string = deliver_tx.ResponseBase.Error[ABCIErrorKey];\n const log: string = deliver_tx.ResponseBase.Log;\n\n throw constructRequestError(errType, log);\n }\n\n return response;\n }\n\n async waitForTransaction(\n hash: string,\n fromHeight?: number,\n timeout?: number\n ): Promise<Tx> {\n return waitForTransaction(this, hash, fromHeight, timeout);\n }\n}\n","import { Tx } from '../../proto';\nimport {\n ABCIEndpoint,\n BlockEndpoint,\n CommonEndpoint,\n ConsensusEndpoint,\n TransactionEndpoint,\n} from '../endpoints';\nimport { Provider } from '../provider';\nimport {\n ABCIAccount,\n ABCIErrorKey,\n ABCIResponse,\n BlockInfo,\n BlockResult,\n BroadcastTransactionMap,\n BroadcastTxCommitResult,\n BroadcastTxSyncResult,\n ConsensusParams,\n NetworkInfo,\n RPCRequest,\n RPCResponse,\n Status,\n TxResult,\n} from '../types';\nimport {\n extractAccountFromResponse,\n extractAccountNumberFromResponse,\n extractBalanceFromResponse,\n extractSequenceFromResponse,\n extractSimulateFromResponse,\n newRequest,\n uint8ArrayToBase64,\n waitForTransaction,\n} from '../utility';\nimport { constructRequestError } from '../utility/errors.utility';\n\n/**\n * Provider based on WS JSON-RPC HTTP requests\n */\nexport class WSProvider implements Provider {\n protected ws: WebSocket; // the persistent WS connection\n protected readonly requestMap: Map<\n number | string,\n {\n resolve: (response: RPCResponse<any>) => void;\n reject: (reason: Error) => void;\n timeout: NodeJS.Timeout;\n }\n > = new Map(); // callback method map for the individual endpoints\n protected requestTimeout = 15000; // 15s\n\n /**\n * Creates a new instance of the {@link WSProvider}\n * @param {string} baseURL the WS URL of the node\n * @param {number} requestTimeout the timeout for the WS request (in MS)\n */\n constructor(baseURL: string, requestTimeout?: number) {\n this.ws = new WebSocket(baseURL);\n\n this.ws.addEventListener('message', (event) => {\n const response = JSON.parse(event.data as string) as RPCResponse<any>;\n const request = this.requestMap.get(response.id);\n if (request) {\n this.requestMap.delete(response.id);\n clearTimeout(request.timeout);\n\n request.resolve(response);\n }\n\n // Set the default timeout\n this.requestTimeout = requestTimeout ? requestTimeout : 15000;\n });\n }\n\n /**\n * Closes the WS connection. Required when done working\n * with the WS provider\n */\n closeConnection() {\n this.ws.close();\n }\n\n /**\n * Sends a request to the WS connection, and resolves\n * upon receiving the response\n * @param {RPCRequest} request the RPC request\n */\n async sendRequest<Result>(request: RPCRequest): Promise<RPCResponse<Result>> {\n // Make sure the connection is open\n if (this.ws.readyState != WebSocket.OPEN) {\n await this.waitForOpenConnection();\n }\n\n // The promise will resolve as soon as the response is received\n const promise = new Promise<RPCResponse<Result>>((resolve, reject) => {\n const timeout = setTimeout(() => {\n this.requestMap.delete(request.id);\n\n reject(new Error('Request timed out'));\n }, this.requestTimeout);\n\n this.requestMap.set(request.id, { resolve, reject, timeout });\n });\n\n this.ws.send(JSON.stringify(request));\n\n return promise;\n }\n\n /**\n * Parses the result from the response\n * @param {RPCResponse<Result>} response the response to be parsed\n */\n parseResponse<Result>(response: RPCResponse<Result>): Result {\n if (!response) {\n throw new Error('invalid response');\n }\n\n if (response.error) {\n throw new Error(response.error?.message);\n }\n\n if (!response.result) {\n throw new Error('invalid response returned');\n }\n\n return response.result;\n }\n\n /**\n * Waits for the WS connection to be established\n */\n waitForOpenConnection = (): Promise<null> => {\n return new Promise((resolve, reject) => {\n const maxNumberOfAttempts = 20;\n const intervalTime = 500; // ms\n\n let currentAttempt = 0;\n const interval = setInterval(() => {\n if (this.ws.readyState === WebSocket.OPEN) {\n clearInterval(interval);\n resolve(null);\n }\n\n currentAttempt++;\n if (currentAttempt >= maxNumberOfAttempts) {\n clearInterval(interval);\n reject(new Error('Unable to establish WS connection'));\n }\n }, intervalTime);\n });\n };\n\n async estimateGas(tx: Tx): Promise<number> {\n const encodedTx = uint8ArrayToBase64(Tx.encode(tx).finish());\n const response = await this.sendRequest<ABCIResponse>(\n newRequest(ABCIEndpoint.ABCI_QUERY, [\n `.app/simulate`,\n `${encodedTx}`,\n '0', // Height; not supported > 0 for now\n false,\n ])\n );\n\n // Parse the response\n const abciResponse = this.parseResponse<ABCIResponse>(response);\n\n const simulateResult = extractSimulateFromResponse(abciResponse);\n\n const resultErrorKey = simulateResult.response_base?.error?.type_url;\n if (resultErrorKey) {\n throw constructRequestError(resultErrorKey);\n }\n\n return simulateResult.gas_used.toInt();\n }\n\n async getBalance(\n address: string,\n denomination?: string,\n height?: number\n ): Promise<number> {\n const response = await this.sendRequest<ABCIResponse>(\n newRequest(ABCIEndpoint.ABCI_QUERY, [\n `bank/balances/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ])\n );\n\n // Parse the response\n const abciResponse = this.parseResponse<ABCIResponse>(response);\n\n return extractBalanceFromResponse(\n abciResponse.response.ResponseBase.Data,\n denomination ? denomination : 'ugnot'\n );\n }\n\n async getBlock(height: number): Promise<BlockInfo> {\n const response = await this.sendRequest<BlockInfo>(\n newRequest(BlockEndpoint.BLOCK, [height.toString()])\n );\n\n return this.parseResponse<BlockInfo>(response);\n }\n\n async getBlockResult(height: number): Promise<BlockResult> {\n const response = await this.sendRequest<BlockResult>(\n newRequest(BlockEndpoint.BLOCK_RESULTS, [height.toString()])\n );\n\n return this.parseResponse<BlockResult>(response);\n }\n\n async getBlockNumber(): Promise<number> {\n // Fetch the status for the latest info\n const status = await this.getStatus();\n\n return parseInt(status.sync_info.latest_block_height);\n }\n\n async getConsensusParams(height: number): Promise<ConsensusParams> {\n const response = await this.sendRequest<ConsensusParams>(\n newRequest(ConsensusEndpoint.CONSENSUS_PARAMS, [height.toString()])\n );\n\n return this.parseResponse<ConsensusParams>(response);\n }\n\n getGasPrice(): Promise<number> {\n return Promise.reject('implement me');\n }\n\n async getNetwork(): Promise<NetworkInfo> {\n const response = await this.sendRequest<NetworkInfo>(\n newRequest(ConsensusEndpoint.NET_INFO)\n );\n\n return this.parseResponse<NetworkInfo>(response);\n }\n\n async getAccountSequence(address: string, height?: number): Promise<number> {\n const response = await this.sendRequest<ABCIResponse>(\n newRequest(ABCIEndpoint.ABCI_QUERY, [\n `auth/accounts/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ])\n );\n\n // Parse the response\n const abciResponse = this.parseResponse<ABCIResponse>(response);\n\n return extractSequenceFromResponse(abciResponse.response.ResponseBase.Data);\n }\n\n async getAccountNumber(address: string, height?: number): Promise<number> {\n const response = await this.sendRequest<ABCIResponse>(\n newRequest(ABCIEndpoint.ABCI_QUERY, [\n `auth/accounts/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ])\n );\n\n // Parse the response\n const abciResponse = this.parseResponse<ABCIResponse>(response);\n\n return extractAccountNumberFromResponse(\n abciResponse.response.ResponseBase.Data\n );\n }\n\n async getAccount(address: string, height?: number): Promise<ABCIAccount> {\n const response = await this.sendRequest<ABCIResponse>(\n newRequest(ABCIEndpoint.ABCI_QUERY, [\n `auth/accounts/${address}`,\n '',\n '0', // Height; not supported > 0 for now\n false,\n ])\n );\n\n // Parse the response\n const abciResponse = this.parseResponse<ABCIResponse>(response);\n\n return extractAccountFromResponse(abciResponse.response.ResponseBase.Data);\n }\n\n async getStatus(): Promise<Status> {\n const response = await this.sendRequest<Status>(\n newRequest(CommonEndpoint.STATUS, [null])\n );\n\n return this.parseResponse<Status>(response);\n }\n\n async getTransaction(hash: string): Promise<TxResult> {\n const response = await this.sendRequest<TxResult>(\n newRequest(TransactionEndpoint.TX, [hash])\n );\n\n return this.parseResponse<TxResult>(response);\n }\n\n async sendTransaction<K extends keyof BroadcastTransactionMap>(\n tx: string,\n endpoint: K\n ): Promise<BroadcastTransactionMap[K]['result']> {\n const request: RPCRequest = newRequest(endpoint, [tx]);\n\n switch (endpoint) {\n case TransactionEndpoint.BROADCAST_TX_COMMIT:\n // The endpoint is a commit broadcast\n // (it waits for the transaction to be committed) to the chain before returning\n return this.broadcastTxCommit(request);\n case TransactionEndpoint.BROADCAST_TX_SYNC:\n default:\n return this.broadcastTxSync(request);\n }\n }\n\n private async broadcastTxSync(\n request: RPCRequest\n ): Promise<BroadcastTxSyncResult> {\n const response: RPCResponse<BroadcastTxSyncResult> =\n await this.sendRequest<BroadcastTxSyncResult>(request);\n\n const broadcastResponse: BroadcastTxSyncResult =\n this.parseResponse<BroadcastTxSyncResult>(response);\n\n // Check if there is an immediate tx-broadcast error\n // (originating from basic transaction checks like CheckTx)\n if (broadcastResponse.error) {\n const errType: string = broadcastResponse.error[ABCIErrorKey];\n const log: string = broadcastResponse.Log;\n\n throw constructRequestError(errType, log);\n }\n\n return broadcastResponse;\n }\n\n private async broadcastTxCommit(\n request: RPCRequest\n ): Promise<BroadcastTxCommitResult> {\n const response: RPCResponse<BroadcastTxCommitResult> =\n await this.sendRequest<BroadcastTxCommitResult>(request);\n\n const broadcastResponse: BroadcastTxCommitResult =\n this.parseResponse<BroadcastTxCommitResult>(response);\n\n const { check_tx, deliver_tx } = broadcastResponse;\n\n // Check if there is an immediate tx-broadcast error (in CheckTx)\n if (check_tx.ResponseBase.Error) {\n const errType: string = check_tx.ResponseBase.Error[ABCIErrorKey];\n const log: string = check_tx.ResponseBase.Log;\n\n throw constructRequestError(errType, log);\n }\n\n // Check if there is a parsing error with the transaction (in DeliverTx)\n if (deliver_tx.ResponseBase.Error) {\n const errType: string = deliver_tx.ResponseBase.Error[ABCIErrorKey];\n const log: string = deliver_tx.ResponseBase.Log;\n\n throw constructRequestError(errType, log);\n }\n\n return broadcastResponse;\n }\n\n waitForTransaction(\n hash: string,\n fromHeight?: number,\n timeout?: number\n ): Promise<Tx> {\n return waitForTransaction(this, hash, fromHeight, timeout);\n }\n}\n","import {\n Bip39,\n EnglishMnemonic,\n HdPath,\n Secp256k1,\n Slip10,\n Slip10Curve,\n Slip10RawIndex,\n} from '@cosmjs/crypto';\nimport crypto from 'crypto';\n\n/**\n * Generates the HD path, for the specified index, in the form 'm/44'/118'/0'/0/i',\n * where 'i' is the account index\n * @param {number} [index=0] the account index\n */\nexport const generateHDPath = (index?: number): HdPath => {\n return [\n Slip10RawIndex.hardened(44),\n Slip10RawIndex.hardened(118),\n Slip10RawIndex.hardened(0),\n Slip10RawIndex.normal(0),\n Slip10RawIndex.normal(index ? index : 0),\n ];\n};\n\n/**\n * Generates random entropy of the specified size (in B)\n * @param {number} [size=32] the entropy size in bytes\n */\nexport const generateEntropy = (size?: number): Uint8Array => {\n const array = new Uint8Array(size ? size : 32);\n\n // Generate random data\n crypto.randomFillSync(array);\n\n return array;\n};\n\ninterface keyPair {\n privateKey: Uint8Array;\n publicKey: Uint8Array;\n}\n\n/**\n * Generates a new Secp256k1 key-pair using\n * the provided English mnemonic and account index\n * @param {string} mnemonic the English mnemonic\n * @param {number} [accountIndex=0] the account index\n */\nexport const generateKeyPair = async (\n mnemonic: string,\n accountIndex?: number\n): Promise<keyPair> => {\n // Generate the seed\n const seed = await Bip39.mnemonicToSeed(new EnglishMnemonic(mnemonic));\n\n // Derive the private key\n const { privkey: privateKey } = Slip10.derivePath(\n Slip10Curve.Secp256k1,\n seed,\n generateHDPath(accountIndex)\n );\n\n // Derive the public key\n const { pubkey: publicKey } = await Secp256k1.makeKeypair(privateKey);\n\n return {\n publicKey: publicKey,\n privateKey: privateKey,\n };\n};\n\n// Address prefix for TM2 networks\nexport const defaultAddressPrefix = 'g';\n\n/**\n * Encodes a string into a Uint8Array\n * @param {string} str the string to be encoded\n */\nexport const stringToUTF8 = (str: string): Uint8Array => {\n return new TextEncoder().encode(str);\n};\n\n/**\n * Escapes <,>,& in string.\n * Golang's json marshaller escapes <,>,& by default.\n * https://cs.opensource.google/go/go/+/refs/tags/go1.20.6:src/encoding/json/encode.go;l=46-53\n */\nexport function encodeCharacterSet(data: string) {\n return data\n .replace(/</g, '\\\\u003c')\n .replace(/>/g, '\\\\u003e')\n .replace(/&/g, '\\\\u0026');\n}\n\nfunction sortedObject(obj: any): any {\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return obj.map(sortedObject);\n }\n const sortedKeys = Object.keys(obj).sort();\n const result: Record<string, any> = {};\n // NOTE: Use forEach instead of reduce for performance with large objects eg Wasm code\n sortedKeys.forEach((key) => {\n result[key] = sortedObject(obj[key]);\n });\n return result;\n}\n\n/** Returns a JSON string with objects sorted by key */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function sortedJsonStringify(obj: any): string {\n return JSON.stringify(sortedObject(obj));\n}","import { Signer } from '../signer';\nimport { encodeSecp256k1Pubkey, pubkeyToAddress } from '@cosmjs/amino';\nimport { Secp256k1, Secp256k1Signature, sha256 } from '@cosmjs/crypto';\nimport { defaultAddressPrefix } from '../utility';\n\n/**\n * KeySigner implements the logic for the private key signer\n */\nexport class KeySigner implements Signer {\n private readonly privateKey: Uint8Array; // the raw private key\n private readonly publicKey: Uint8Array; // the compressed public key\n private readonly addressPrefix: string; // the address prefix\n\n /**\n * Creates a new {@link KeySigner} instance\n * @param {Uint8Array} privateKey the raw Secp256k1 private key\n * @param {Uint8Array} publicKey the raw Secp256k1 public key\n * @param {string} addressPrefix the address prefix\n */\n constructor(\n privateKey: Uint8Array,\n publicKey: Uint8Array,\n addressPrefix: string = defaultAddressPrefix\n ) {\n this.privateKey = privateKey;\n this.publicKey = publicKey;\n this.addressPrefix = addressPrefix;\n }\n\n getAddress = async (): Promise<string> => {\n return pubkeyToAddress(\n encodeSecp256k1Pubkey(Secp256k1.compressPubkey(this.publicKey)),\n this.addressPrefix\n );\n };\n\n getPublicKey = async (): Promise<Uint8Array> => {\n return this.publicKey;\n };\n\n getPrivateKey = async (): Promise<Uint8Array> => {\n return this.privateKey;\n };\n\n signData = async (data: Uint8Array): Promise<Uint8Array> => {\n const signature = await Secp256k1.createSignature(\n sha256(data),\n this.privateKey\n );\n\n return new Uint8Array([\n ...(signature.r(32) as any),\n ...(signature.s(32) as any),\n ]);\n };\n\n verifySignature = async (\n data: Uint8Array,\n signature: Uint8Array\n ): Promise<boolean> => {\n return Secp256k1.verifySignature(\n Secp256k1Signature.fromFixedLength(signature),\n sha256(data),\n this.publicKey\n );\n };\n}\n","import { Signer } from '../signer';\nimport { LedgerConnector } from '@cosmjs/ledger-amino';\nimport { defaultAddressPrefix, generateHDPath } from '../utility';\nimport { HdPath, Secp256k1, Secp256k1Signature, sha256 } from '@cosmjs/crypto';\nimport { encodeSecp256k1Pubkey, pubkeyToAddress } from '@cosmjs/amino';\n\n/**\n * LedgerSigner implements the logic for the Ledger device signer\n */\nexport class LedgerSigner implements Signer {\n private readonly connector: LedgerConnector;\n private readonly hdPath: HdPath;\n private readonly addressPrefix: string;\n\n /**\n * Creates a new Ledger device signer instance\n * @param {LedgerConnector} connector the Ledger connector\n * @param {number} accountIndex the desired account index\n * @param {string} addressPrefix the address prefix\n */\n constructor(\n connector: LedgerConnector,\n accountIndex: number,\n addressPrefix: string = defaultAddressPrefix\n ) {\n this.connector = connector;\n this.hdPath = generateHDPath(accountIndex);\n this.addressPrefix = addressPrefix;\n }\n\n getAddress = async (): Promise<string> => {\n if (!this.connector) {\n throw new Error('Ledger not connected');\n }\n\n const compressedPubKey: Uint8Array = await this.connector.getPubkey(\n this.hdPath\n );\n\n return pubkeyToAddress(\n encodeSecp256k1Pubkey(compressedPubKey),\n this.addressPrefix\n );\n };\n\n getPublicKey = async (): Promise<Uint8Array> => {\n if (!this.connector) {\n throw new Error('Ledger not connected');\n }\n\n return this.connector.getPubkey(this.hdPath);\n };\n\n getPrivateKey = async (): Promise<Uint8Array> => {\n throw new Error('Ledger does not support private key exports');\n };\n\n signData = async (data: Uint8Array): Promise<Uint8Array> => {\n if (!this.connector) {\n throw new Error('Ledger not connected');\n }\n\n return this.connector.sign(data, this.hdPath);\n };\n\n verifySignature = async (\n data: Uint8Array,\n signature: Uint8Array\n ): Promise<boolean> => {\n const publicKey = await this.getPublicKey();\n\n return Secp256k1.verifySignature(\n Secp256k1Signature.fromFixedLength(signature),\n sha256(data),\n publicKey\n );\n };\n}\n","/**\n * The transaction payload that is signed to generate\n * a valid transaction signature\n */\nexport interface TxSignPayload {\n // the ID of the chain\n chain_id: string;\n // the account number of the\n // account that's signing (decimal)\n account_number: string;\n // the sequence number of the\n // account that's signing (decimal)\n sequence: string;\n // the fee of the transaction\n fee: {\n // gas price of the transaction\n // in the format <amount (decimal)><denomination>\n gas_fee: string;\n // gas limit of the transaction (decimal)\n gas_wanted: string;\n };\n // the messages associated\n // with the transaction.\n // These messages have the form: \\\n // @type: ...\n // value: ...\n msgs: any[];\n // the transaction memo\n memo: string;\n}\n\nexport const Secp256k1PubKeyType = '/tm.PubKeySecp256k1';\n","import {\n BroadcastTransactionMap,\n Provider,\n Status,\n uint8ArrayToBase64,\n} from '../provider';\nimport { Signer } from './signer';\nimport { LedgerSigner } from './ledger';\nimport { KeySigner } from './key';\nimport { Bip39, Secp256k1 } from '@cosmjs/crypto';\nimport {\n encodeCharacterSet,\n generateEntropy,\n generateKeyPair,\n stringToUTF8,\n} from './utility';\nimport { LedgerConnector } from '@cosmjs/ledger-amino';\nimport { Any, PubKeySecp256k1, Tx, TxSignature } from '../proto';\nimport {\n AccountWalletOption,\n CreateWalletOptions,\n Secp256k1PubKeyType,\n TxSignPayload,\n} from './types';\nimport { sortedJsonStringify } from './utility/index.js';\nexport interface SignTransactionOptions {\n accountNumber?: string;\n sequence?: string;\n}\n\n/**\n * Wallet is a single account abstraction\n * that can interact with the blockchain\n */\nexport class Wallet {\n protected declare provider: Provider;\n protected declare signer: Signer;\n\n /**\n * Connects the wallet to the specified {@link Provider}\n * @param {Provider} provider the active {@link Provider}, if any\n */\n connect = (provider: Provider) => {\n this.provider = provider;\n };\n\n // Wallet initialization //\n\n /**\n * Generates a private key-based wallet, using a random seed\n * @param {AccountWalletOption} options the account options\n */\n static createRandom = async (\n options?: AccountWalletOption\n ): Promise<Wallet> => {\n const { publicKey, privateKey } = await generateKeyPair(\n Bip39.encode(generateEntropy()).toString(),\n 0\n );\n\n // Initialize the wallet\n const wallet: Wallet = new Wallet();\n wallet.signer = new KeySigner(\n privateKey,\n Secp256k1.compressPubkey(publicKey),\n options?.addressPrefix\n );\n\n return wallet;\n };\n\n /**\n * Generates a custom signer-based wallet\n * @param {Signer} signer the custom signer implementing the Signer interface\n * @param {CreateWalletOptions} options the wallet generation options\n */\n static fromSigner = async (signer: Signer): Promise<Wallet> => {\n // Initialize the wallet\n const wallet: Wallet = new Wallet();\n wallet.signer = signer;\n\n return wallet;\n };\n\n /**\n * Generates a bip39 mnemonic-based wallet\n * @param {string} mnemonic the bip39 mnemonic\n * @param {CreateWalletOptions} options the wallet generation options\n */\n static fromMnemonic = async (\n mnemonic: string,\n options?: CreateWalletOptions\n ): Promise<Wallet> => {\n const { publicKey, privateKey } = await generateKeyPair(\n mnemonic,\n options?.accountIndex\n );\n\n // Initialize the wallet\n const wallet: Wallet = new Wallet();\n wallet.signer = new KeySigner(\n privateKey,\n Secp256k1.compressPubkey(publicKey),\n options?.addressPrefix\n );\n\n return wallet;\n };\n\n /**\n * Generates a private key-based wallet\n * @param {string} privateKey the private key\n * @param {AccountWalletOption} options the account options\n */\n static fromPrivateKey = async (\n privateKey: Uint8Array,\n options?: AccountWalletOption\n ): Promise<Wallet> => {\n // Derive the public key\n const { pubkey: publicKey } = await Secp256k1.makeKeypair(privateKey);\n\n // Initialize the wallet\n const wallet: Wallet = new Wallet();\n wallet.signer = new KeySigner(\n privateKey,\n Secp256k1.compressPubkey(publicKey),\n options?.addressPrefix\n );\n\n return wallet;\n };\n\n /**\n * Creates a Ledger-based wallet\n * @param {LedgerConnector} connector the Ledger device connector\n * @param {CreateWalletOptions} options the wallet generation options\n */\n static fromLedger = (\n connector: LedgerConnector,\n options?: CreateWalletOptions\n ): Wallet => {\n const wallet: Wallet = new Wallet();\n\n wallet.signer = new LedgerSigner(\n connector,\n options?.accountIndex ?? 0,\n options?.addressPrefix\n );\n\n return wallet;\n };\n\n // Account manipulation //\n\n /**\n * Fetches the address associated with the wallet\n */\n getAddress = (): Promise<string> => {\n return this.signer.getAddress();\n };\n\n /**\n * Fetches the account sequence for the wallet\n * @param {number} [height=latest] the block height\n */\n getAccountSequence = async (height?: number): Promise<number> => {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n // Get the address\n const address: string = await this.getAddress();\n\n return this.provider.getAccountSequence(address, height);\n };\n\n /**\n * Fetches the account number for the wallet. Errors out if the\n * account is not initialized\n * @param {number} [height=latest] the block height\n */\n getAccountNumber = async (height?: number): Promise<number> => {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n // Get the address\n const address: string = await this.getAddress();\n\n return this.provider.getAccountNumber(address, height);\n };\n\n /**\n * Fetches the account balance for the specific denomination\n * @param {string} [denomination=ugnot] the fund denomination\n */\n getBalance = async (denomination?: string): Promise<number> => {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n // Get the address\n const address: string = await this.getAddress();\n\n return this.provider.getBalance(\n address,\n denomination ? denomination : 'ugnot'\n );\n };\n\n /**\n * Fetches the current (recommended) average gas price\n */\n getGasPrice = async (): Promise<number> => {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n return this.provider.getGasPrice();\n };\n\n /**\n * Estimates the gas limit for the transaction\n * @param {Tx} tx the transaction that needs estimating\n */\n estimateGas = async (tx: Tx): Promise<number> => {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n return this.provider.estimateGas(tx);\n };\n\n /**\n * Returns the connected provider, if any\n */\n getProvider = (): Provider => {\n return this.provider;\n };\n\n /**\n * Generates a transaction signature, and appends it to the transaction\n * @param {Tx} tx the transaction to be signed\n * @param {(messages: Any[]) => any[]} decodeTxMessages tx message decode callback\n * that should expand the concrete message fields into an object. Required because\n * the transaction sign bytes are generated using sorted JSON, which requires\n * encoded message values to be decoded for sorting\n */\n signTransaction = async (\n tx: Tx,\n decodeTxMessages: (messages: Any[]) => any[],\n opts?: SignTransactionOptions\n ): Promise<Tx> => {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n // Make sure the tx fee is initialized\n if (!tx.fee) {\n throw new Error('invalid transaction fee provided');\n }\n\n // Extract the relevant chain data\n const status: Status = await this.provider.getStatus();\n const chainID: string = status.node_info.network;\n\n // Extract the relevant account data\n let accountNumber = opts?.accountNumber;\n let accountSequence = opts?.sequence;\n if (accountNumber === undefined || accountSequence === undefined) {\n const address: string = await this.getAddress();\n const account = await this.provider.getAccount(address);\n if (accountNumber === undefined) {\n accountNumber = account.BaseAccount.account_number;\n }\n if (accountSequence === undefined) {\n accountSequence = account.BaseAccount.sequence;\n }\n }\n const publicKey: Uint8Array = await this.signer.getPublicKey();\n\n // Create the signature payload\n const signPayload: TxSignPayload = {\n chain_id: chainID,\n account_number: accountNumber,\n sequence: accountSequence,\n fee: {\n gas_fee: tx.fee.gas_fee,\n gas_wanted: tx.fee.gas_wanted.toString(10),\n },\n msgs: decodeTxMessages(tx.messages), // unrolled message objects\n memo: tx.memo,\n };\n\n // The TM2 node does signature verification using\n // a sorted JSON object, so the payload needs to be sorted\n // before signing\n const signBytes: Uint8Array = stringToUTF8(\n encodeCharacterSet(sortedJsonStringify(signPayload))\n );\n\n // The public key needs to be encoded using protobuf for Amino\n const wrappedKey: PubKeySecp256k1 = {\n key: publicKey,\n };\n\n // Generate the signature\n const txSignature: TxSignature = {\n pub_key: {\n type_url: Secp256k1PubKeyType,\n value: PubKeySecp256k1.encode(wrappedKey).finish(),\n },\n signature: await this.getSigner().signData(signBytes),\n };\n\n // Append the signature\n return {\n ...tx,\n signatures: [...tx.signatures, txSignature],\n };\n };\n\n /**\n * Encodes and sends the transaction. If the type of endpoint\n * is a broadcast commit, waits for the transaction to be committed to the chain.\n * The transaction needs to be signed beforehand.\n * Returns the transaction hash (base-64)\n * @param {Tx} tx the signed transaction\n * @param {BroadcastType} endpoint the transaction broadcast type (sync / commit)\n */\n async sendTransaction<K extends keyof BroadcastTransactionMap>(\n tx: Tx,\n endpoint: K\n ): Promise<BroadcastTransactionMap[K]['result']> {\n if (!this.provider) {\n throw new Error('provider not connected');\n }\n\n // Encode the transaction to base-64\n const encodedTx: string = uint8ArrayToBase64(Tx.encode(tx).finish());\n\n // Send the encoded transaction\n return this.provider.sendTransaction(encodedTx, endpoint);\n }\n\n /**\n * Returns the associated signer\n */\n getSigner = (): Signer => {\n return this.signer;\n };\n}\n"],"mappings":"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"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Any } from "./proto/google/protobuf/any.cjs";
|
|
2
|
+
import { DeepPartial, Exact, MessageFns, PubKeySecp256k1, Tx, TxFee, TxSignature, protobufPackage } from "./proto/tm2/tx.cjs";
|
|
3
|
+
import { ABCIEndpoint, BlockEndpoint, CommonEndpoint, ConsensusEndpoint, TransactionEndpoint } from "./provider/endpoints.cjs";
|
|
4
|
+
import { GasOverflowError, InsufficientCoinsError, InsufficientFeeError, InsufficientFundsError, InternalError, InvalidAddressError, InvalidCoinsError, InvalidGasWantedError, InvalidPubKeyError, InvalidSequenceError, MemoTooLargeError, NoSignaturesError, OutOfGasError, TM2Error, TooManySignaturesError, TxDecodeError, UnauthorizedError, UnknownAddressError, UnknownRequestError } from "./provider/errors/errors.cjs";
|
|
5
|
+
import { ABCIAccount, ABCIErrorKey, ABCIResponse, ABCIResponseBase } from "./provider/types/abci.cjs";
|
|
6
|
+
import { BeginBlock, Block, BlockHeader, BlockID, BlockInfo, BlockMeta, BlockResult, BroadcastAsGeneric, BroadcastTransactionCommit, BroadcastTransactionMap, BroadcastTransactionSync, BroadcastTxCommitResult, BroadcastTxSyncResult, BroadcastType, ConsensusParams, ConsensusState, DeliverTx, EndBlock, NetworkInfo, PrecommitInfo, Status, TxResult } from "./provider/types/common.cjs";
|
|
7
|
+
import { RPCError, RPCRequest, RPCResponse } from "./provider/types/jsonrpc.cjs";
|
|
8
|
+
import { BaseTm2Provider, Provider } from "./provider/provider.cjs";
|
|
9
|
+
import { JSONRPCProvider } from "./provider/jsonrpc/jsonrpc.cjs";
|
|
10
|
+
import { adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, toBase64, toHexString } from "./provider/utility/adapters.cjs";
|
|
11
|
+
import { extractAccountFromResponse, extractAccountNumberFromResponse, extractBalanceFromResponse, extractSequenceFromResponse, extractSimulateFromResponse, waitForTransaction } from "./provider/utility/provider.utility.cjs";
|
|
12
|
+
import { base64ToUint8Array, newRequest, newResponse, parseABCI, parseProto, stringToBase64, uint8ArrayToBase64 } from "./provider/utility/requests.utility.cjs";
|
|
13
|
+
import { WSProvider } from "./provider/websocket/ws.cjs";
|
|
14
|
+
import { RequestParams } from "./services/rest/restService.types.cjs";
|
|
15
|
+
import { RestService } from "./services/rest/restService.cjs";
|
|
16
|
+
import { Signer } from "./wallet/signer.cjs";
|
|
17
|
+
import { KeySigner } from "./wallet/key/key.cjs";
|
|
18
|
+
import { LedgerSigner } from "./wallet/ledger/ledger.cjs";
|
|
19
|
+
import { Secp256k1PubKeyType, TxSignPayload } from "./wallet/types/sign.cjs";
|
|
20
|
+
import { AccountWalletOption, CreateWalletOptions } from "./wallet/types/wallet.cjs";
|
|
21
|
+
import { defaultAddressPrefix, encodeCharacterSet, generateEntropy, generateHDPath, generateKeyPair, sortedJsonStringify, stringToUTF8 } from "./wallet/utility/utility.cjs";
|
|
22
|
+
import { SignTransactionOptions, Wallet } from "./wallet/wallet.cjs";
|
|
23
|
+
export { ABCIAccount, ABCIEndpoint, ABCIErrorKey, ABCIResponse, ABCIResponseBase, AccountWalletOption, Any, BaseTm2Provider, BeginBlock, Block, BlockEndpoint, BlockHeader, BlockID, BlockInfo, BlockMeta, BlockResult, BroadcastAsGeneric, BroadcastTransactionCommit, BroadcastTransactionMap, BroadcastTransactionSync, BroadcastTxCommitResult, BroadcastTxSyncResult, BroadcastType, CommonEndpoint, ConsensusEndpoint, ConsensusParams, ConsensusState, CreateWalletOptions, DeepPartial, DeliverTx, EndBlock, Exact, GasOverflowError, InsufficientCoinsError, InsufficientFeeError, InsufficientFundsError, InternalError, InvalidAddressError, InvalidCoinsError, InvalidGasWantedError, InvalidPubKeyError, InvalidSequenceError, JSONRPCProvider, KeySigner, LedgerSigner, MemoTooLargeError, MessageFns, NetworkInfo, NoSignaturesError, OutOfGasError, PrecommitInfo, Provider, PubKeySecp256k1, RPCError, RPCRequest, RPCResponse, RequestParams, RestService, Secp256k1PubKeyType, SignTransactionOptions, Signer, Status, TM2Error, TooManySignaturesError, TransactionEndpoint, Tx, TxDecodeError, TxFee, TxResult, TxSignPayload, TxSignature, UnauthorizedError, UnknownAddressError, UnknownRequestError, WSProvider, Wallet, adaptAbciQueryResponse, adaptBlockResponse, adaptBlockResultsResponse, adaptBroadcastTxCommitResponse, adaptBroadcastTxSyncResponse, adaptConsensusParamsResponse, adaptNetInfoResponse, adaptStatusResponse, adaptTxResponse, base64ToUint8Array, defaultAddressPrefix, encodeCharacterSet, extractAccountFromResponse, extractAccountNumberFromResponse, extractBalanceFromResponse, extractSequenceFromResponse, extractSimulateFromResponse, generateEntropy, generateHDPath, generateKeyPair, newRequest, newResponse, parseABCI, parseProto, protobufPackage, sortedJsonStringify, stringToBase64, stringToUTF8, toBase64, toHexString, uint8ArrayToBase64, waitForTransaction };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/proto/google/protobuf/any.ts","../src/proto/tm2/tx.ts","../src/provider/types/abci.ts","../src/provider/endpoints.ts","../src/provider/types/common.ts","../src/provider/types/jsonrpc.ts","../src/provider/provider.ts","../src/provider/jsonrpc/jsonrpc.ts","../src/proto/tm2/abci.ts","../src/provider/utility/provider.utility.ts","../src/provider/utility/requests.utility.ts","../src/provider/websocket/ws.ts","../src/provider/errors/errors.ts","../src/wallet/signer.ts","../src/wallet/key/key.ts","../src/wallet/ledger/ledger.ts","../src/wallet/types/sign.ts","../src/wallet/types/wallet.ts","../src/wallet/utility/utility.ts","../src/wallet/wallet.ts","../src/services/rest/restService.types.ts","../src/services/rest/restService.ts"],"mappings":"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"}
|