@tomo-inc/chains-service 0.0.22 → 0.0.23

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/dist/index.cjs CHANGED
@@ -3976,6 +3976,7 @@ var FEE_RATE_KB = 0.5;
3976
3976
  var DECIMALS = 1e8;
3977
3977
  var TRANSACTION_PAGE_SIZE = 10;
3978
3978
  var MYDOGE_BASE_URL = "https://api.mydoge.com";
3979
+ var RPC_URL_TOMO = "https://wallet-pro.tomo.inc/rpc/v1/doge_coin";
3979
3980
  var RPC_URL = "https://api.bitcore.io/api/DOGE/mainnet";
3980
3981
  var RPC_TIMEOUT = 20 * 1e3;
3981
3982
  var TX_OVERHEAD = 10;
@@ -4183,6 +4184,10 @@ var TransactionParser = class {
4183
4184
  var mydoge = axios__default.default.create({
4184
4185
  baseURL: MYDOGE_BASE_URL
4185
4186
  });
4187
+ var tomoApi = axios__default.default.create({
4188
+ baseURL: RPC_URL_TOMO,
4189
+ timeout: RPC_TIMEOUT
4190
+ });
4186
4191
  var api = axios__default.default.create({
4187
4192
  baseURL: RPC_URL,
4188
4193
  timeout: RPC_TIMEOUT
@@ -4341,11 +4346,23 @@ var getDogeFeeByBlock = async (address, n = 22) => {
4341
4346
  };
4342
4347
  var sendDogeTx = async (rawTx) => {
4343
4348
  try {
4344
- const res = await api.post("/tx/send", { rawTx });
4345
- return res.data;
4349
+ const body = {
4350
+ jsonrpc: "2.0",
4351
+ method: "sendrawtransaction",
4352
+ params: [rawTx],
4353
+ id: 1
4354
+ };
4355
+ const res = await tomoApi.post("/", body);
4356
+ const data = res.data;
4357
+ if (data?.error) {
4358
+ return Promise.reject(new Error(data.error.message || String(data.error)));
4359
+ }
4360
+ const txid = data?.result ?? "";
4361
+ return { txid };
4346
4362
  } catch (e) {
4347
- if (typeof e?.response?.data === "string") return Promise.reject(e?.response?.data);
4348
- else return Promise.reject(e.message);
4363
+ if (typeof e?.response?.data === "string") return Promise.reject(new Error(e.response.data));
4364
+ if (e?.response?.data?.error?.message) return Promise.reject(new Error(e.response.data.error.message));
4365
+ return Promise.reject(e?.message ? new Error(e.message) : e);
4349
4366
  }
4350
4367
  };
4351
4368
 
package/dist/index.d.cts CHANGED
@@ -491,7 +491,9 @@ declare function getTransactions(address: string, config?: {
491
491
  pageNumber: number;
492
492
  }): Promise<TransactionResponse>;
493
493
  declare const getDogeFeeByBlock: (address?: string, n?: number) => Promise<number>;
494
- declare const sendDogeTx: (rawTx: string) => Promise<any>;
494
+ declare const sendDogeTx: (rawTx: string) => Promise<{
495
+ txid: any;
496
+ }>;
495
497
 
496
498
  type API_Transaction = Transaction;
497
499
  type API_TransactionResponse = TransactionResponse;
package/dist/index.d.ts CHANGED
@@ -491,7 +491,9 @@ declare function getTransactions(address: string, config?: {
491
491
  pageNumber: number;
492
492
  }): Promise<TransactionResponse>;
493
493
  declare const getDogeFeeByBlock: (address?: string, n?: number) => Promise<number>;
494
- declare const sendDogeTx: (rawTx: string) => Promise<any>;
494
+ declare const sendDogeTx: (rawTx: string) => Promise<{
495
+ txid: any;
496
+ }>;
495
497
 
496
498
  type API_Transaction = Transaction;
497
499
  type API_TransactionResponse = TransactionResponse;
package/dist/index.js CHANGED
@@ -3968,6 +3968,7 @@ var FEE_RATE_KB = 0.5;
3968
3968
  var DECIMALS = 1e8;
3969
3969
  var TRANSACTION_PAGE_SIZE = 10;
3970
3970
  var MYDOGE_BASE_URL = "https://api.mydoge.com";
3971
+ var RPC_URL_TOMO = "https://wallet-pro.tomo.inc/rpc/v1/doge_coin";
3971
3972
  var RPC_URL = "https://api.bitcore.io/api/DOGE/mainnet";
3972
3973
  var RPC_TIMEOUT = 20 * 1e3;
3973
3974
  var TX_OVERHEAD = 10;
@@ -4175,6 +4176,10 @@ var TransactionParser = class {
4175
4176
  var mydoge = axios.create({
4176
4177
  baseURL: MYDOGE_BASE_URL
4177
4178
  });
4179
+ var tomoApi = axios.create({
4180
+ baseURL: RPC_URL_TOMO,
4181
+ timeout: RPC_TIMEOUT
4182
+ });
4178
4183
  var api = axios.create({
4179
4184
  baseURL: RPC_URL,
4180
4185
  timeout: RPC_TIMEOUT
@@ -4333,11 +4338,23 @@ var getDogeFeeByBlock = async (address, n = 22) => {
4333
4338
  };
4334
4339
  var sendDogeTx = async (rawTx) => {
4335
4340
  try {
4336
- const res = await api.post("/tx/send", { rawTx });
4337
- return res.data;
4341
+ const body = {
4342
+ jsonrpc: "2.0",
4343
+ method: "sendrawtransaction",
4344
+ params: [rawTx],
4345
+ id: 1
4346
+ };
4347
+ const res = await tomoApi.post("/", body);
4348
+ const data = res.data;
4349
+ if (data?.error) {
4350
+ return Promise.reject(new Error(data.error.message || String(data.error)));
4351
+ }
4352
+ const txid = data?.result ?? "";
4353
+ return { txid };
4338
4354
  } catch (e) {
4339
- if (typeof e?.response?.data === "string") return Promise.reject(e?.response?.data);
4340
- else return Promise.reject(e.message);
4355
+ if (typeof e?.response?.data === "string") return Promise.reject(new Error(e.response.data));
4356
+ if (e?.response?.data?.error?.message) return Promise.reject(new Error(e.response.data.error.message));
4357
+ return Promise.reject(e?.message ? new Error(e.message) : e);
4341
4358
  }
4342
4359
  };
4343
4360
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomo-inc/chains-service",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "author": "tomo.inc",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -18,6 +18,7 @@ export const NETWORK = "livenet";
18
18
  export const MYDOGE_BASE_URL = "https://api.mydoge.com";
19
19
  export const TX_LINK = "https://chain.so/tx/DOGE/";
20
20
 
21
+ export const RPC_URL_TOMO = "https://wallet-pro.tomo.inc/rpc/v1/doge_coin";
21
22
  export const RPC_URL = "https://api.bitcore.io/api/DOGE/mainnet";
22
23
  export const RPC_TIMEOUT = 20 * 1000;
23
24
 
@@ -1,14 +1,18 @@
1
1
  import axios from "axios";
2
2
 
3
- import { TRANSACTION_PAGE_SIZE, BLOCK_CONFIRMATIONS, FEE_RATE_KB } from "./config";
4
- import { RPC_URL, MYDOGE_BASE_URL, RPC_TIMEOUT, TX_SIZE } from "./config";
5
- import { TransactionParser, toSatoshi, toBitcoin } from "./utils";
3
+ import { BLOCK_CONFIRMATIONS, FEE_RATE_KB, MYDOGE_BASE_URL, RPC_TIMEOUT, RPC_URL, RPC_URL_TOMO, TRANSACTION_PAGE_SIZE, TX_SIZE } from "./config";
6
4
  import { DogeSpendableUtxos } from "./type";
5
+ import { TransactionParser, toBitcoin, toSatoshi } from "./utils";
7
6
 
8
7
  export const mydoge = axios.create({
9
8
  baseURL: MYDOGE_BASE_URL,
10
9
  });
11
10
 
11
+ const tomoApi = axios.create({
12
+ baseURL: RPC_URL_TOMO,
13
+ timeout: RPC_TIMEOUT,
14
+ });
15
+
12
16
  const api = axios.create({
13
17
  baseURL: RPC_URL,
14
18
  timeout: RPC_TIMEOUT,
@@ -259,10 +263,23 @@ export const getDogeFeeByBlock = async (address?: string, n = 22) => {
259
263
 
260
264
  export const sendDogeTx = async (rawTx: string) => {
261
265
  try {
262
- const res = await api.post("/tx/send", { rawTx });
263
- return res.data;
266
+ //https://wallet.tomo.inc/rpc/v1/doge_coin
267
+ const body = {
268
+ jsonrpc: "2.0",
269
+ method: "sendrawtransaction",
270
+ params: [rawTx],
271
+ id: 1,
272
+ };
273
+ const res: any = await tomoApi.post("/", body);
274
+ const data = res.data;
275
+ if (data?.error) {
276
+ return Promise.reject(new Error(data.error.message || String(data.error)));
277
+ }
278
+ const txid = data?.result ?? "";
279
+ return { txid };
264
280
  } catch (e: any) {
265
- if (typeof e?.response?.data === "string") return Promise.reject(e?.response?.data);
266
- else return Promise.reject(e.message);
281
+ if (typeof e?.response?.data === "string") return Promise.reject(new Error(e.response.data));
282
+ if (e?.response?.data?.error?.message) return Promise.reject(new Error(e.response.data.error.message));
283
+ return Promise.reject(e?.message ? new Error(e.message) : e);
267
284
  }
268
285
  };