@primuslabs/fund-js-sdk 0.1.2 → 0.1.3

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.js CHANGED
@@ -94,8 +94,14 @@ var Contract = class {
94
94
  }
95
95
  this.address = address;
96
96
  this.provider = provider;
97
- const signer = this.provider.getSigner();
98
- this.contractInstance = new import_ethers.ethers.Contract(this.address, abiJson, signer);
97
+ let formatProvider;
98
+ if (provider instanceof import_ethers.ethers.providers.JsonRpcProvider) {
99
+ formatProvider = provider;
100
+ } else {
101
+ const web3Provider = new import_ethers.ethers.providers.Web3Provider(provider);
102
+ formatProvider = web3Provider.getSigner();
103
+ }
104
+ this.contractInstance = new import_ethers.ethers.Contract(this.address, abiJson, formatProvider);
99
105
  }
100
106
  // Example method to read from the contract
101
107
  async callMethod(functionName, functionParams) {
@@ -126,14 +132,15 @@ var Contract = class {
126
132
  } catch (error) {
127
133
  console.log("sendTransaction error:", error);
128
134
  const errStr = error?.toString()?.toLowerCase() || "";
129
- if (error?.code === "ACTION_REJECTED" || errStr.indexOf("user rejected") > -1 || errStr.indexOf("approval denied") > -1) {
135
+ const userRejectErrStrArr = ["user rejected", "approval denied"];
136
+ const isUserRejected = userRejectErrStrArr.some((str) => errStr.indexOf(str) > -1);
137
+ if (error?.code === "ACTION_REJECTED" || isUserRejected) {
130
138
  return reject("user rejected transaction");
131
139
  }
132
- if (error?.reason) {
133
- return reject(error.reason);
134
- }
135
- if (error?.data?.message === "insufficient balance") {
136
- return reject(error?.data?.message);
140
+ const insufficientBalanceErrStrArr = ["insufficient balance", "unpredictable_gas_limit"];
141
+ const isInsufficientBalance = insufficientBalanceErrStrArr.some((str) => errStr.indexOf(str) > -1);
142
+ if (isInsufficientBalance) {
143
+ return reject("insufficient balance");
137
144
  }
138
145
  return reject(error);
139
146
  }
@@ -1092,7 +1099,13 @@ var Fund = class {
1092
1099
  async init(provider, chainId, appId) {
1093
1100
  return new Promise(async (resolve, reject) => {
1094
1101
  try {
1095
- const network = await provider.getNetwork();
1102
+ let formatProvider;
1103
+ if (provider instanceof import_ethers2.ethers.providers.JsonRpcProvider) {
1104
+ formatProvider = provider;
1105
+ } else {
1106
+ formatProvider = new import_ethers2.ethers.providers.Web3Provider(provider);
1107
+ }
1108
+ const network = await formatProvider.getNetwork();
1096
1109
  const providerChainId = network.chainId;
1097
1110
  console.log("init provider", provider, network);
1098
1111
  if (providerChainId !== chainId) {
@@ -1379,13 +1392,7 @@ var PrimusFund = class {
1379
1392
  return reject("chainId is not supported");
1380
1393
  }
1381
1394
  this._fund = new Fund();
1382
- let formatProvider;
1383
- if (provider instanceof import_ethers3.ethers.providers.JsonRpcProvider) {
1384
- formatProvider = new import_ethers3.ethers.providers.JsonRpcProvider(defaultRpcUrl);
1385
- } else {
1386
- formatProvider = new import_ethers3.ethers.providers.Web3Provider(provider);
1387
- }
1388
- const result = await this._fund.init(formatProvider, chainId, appId);
1395
+ const result = await this._fund.init(provider, chainId, appId);
1389
1396
  return resolve(result);
1390
1397
  } catch (error) {
1391
1398
  return reject(error);
package/dist/index.mjs CHANGED
@@ -70,8 +70,14 @@ var Contract = class {
70
70
  }
71
71
  this.address = address;
72
72
  this.provider = provider;
73
- const signer = this.provider.getSigner();
74
- this.contractInstance = new ethers.Contract(this.address, abiJson, signer);
73
+ let formatProvider;
74
+ if (provider instanceof ethers.providers.JsonRpcProvider) {
75
+ formatProvider = provider;
76
+ } else {
77
+ const web3Provider = new ethers.providers.Web3Provider(provider);
78
+ formatProvider = web3Provider.getSigner();
79
+ }
80
+ this.contractInstance = new ethers.Contract(this.address, abiJson, formatProvider);
75
81
  }
76
82
  // Example method to read from the contract
77
83
  async callMethod(functionName, functionParams) {
@@ -102,14 +108,15 @@ var Contract = class {
102
108
  } catch (error) {
103
109
  console.log("sendTransaction error:", error);
104
110
  const errStr = error?.toString()?.toLowerCase() || "";
105
- if (error?.code === "ACTION_REJECTED" || errStr.indexOf("user rejected") > -1 || errStr.indexOf("approval denied") > -1) {
111
+ const userRejectErrStrArr = ["user rejected", "approval denied"];
112
+ const isUserRejected = userRejectErrStrArr.some((str) => errStr.indexOf(str) > -1);
113
+ if (error?.code === "ACTION_REJECTED" || isUserRejected) {
106
114
  return reject("user rejected transaction");
107
115
  }
108
- if (error?.reason) {
109
- return reject(error.reason);
110
- }
111
- if (error?.data?.message === "insufficient balance") {
112
- return reject(error?.data?.message);
116
+ const insufficientBalanceErrStrArr = ["insufficient balance", "unpredictable_gas_limit"];
117
+ const isInsufficientBalance = insufficientBalanceErrStrArr.some((str) => errStr.indexOf(str) > -1);
118
+ if (isInsufficientBalance) {
119
+ return reject("insufficient balance");
113
120
  }
114
121
  return reject(error);
115
122
  }
@@ -1068,7 +1075,13 @@ var Fund = class {
1068
1075
  async init(provider, chainId, appId) {
1069
1076
  return new Promise(async (resolve, reject) => {
1070
1077
  try {
1071
- const network = await provider.getNetwork();
1078
+ let formatProvider;
1079
+ if (provider instanceof ethers2.providers.JsonRpcProvider) {
1080
+ formatProvider = provider;
1081
+ } else {
1082
+ formatProvider = new ethers2.providers.Web3Provider(provider);
1083
+ }
1084
+ const network = await formatProvider.getNetwork();
1072
1085
  const providerChainId = network.chainId;
1073
1086
  console.log("init provider", provider, network);
1074
1087
  if (providerChainId !== chainId) {
@@ -1355,13 +1368,7 @@ var PrimusFund = class {
1355
1368
  return reject("chainId is not supported");
1356
1369
  }
1357
1370
  this._fund = new Fund();
1358
- let formatProvider;
1359
- if (provider instanceof ethers3.providers.JsonRpcProvider) {
1360
- formatProvider = new ethers3.providers.JsonRpcProvider(defaultRpcUrl);
1361
- } else {
1362
- formatProvider = new ethers3.providers.Web3Provider(provider);
1363
- }
1364
- const result = await this._fund.init(formatProvider, chainId, appId);
1371
+ const result = await this._fund.init(provider, chainId, appId);
1365
1372
  return resolve(result);
1366
1373
  } catch (error) {
1367
1374
  return reject(error);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primuslabs/fund-js-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "author": "Primus Labs <dev@primuslabs.org>",
5
5
  "description": "Primus fund js sdk",
6
6
  "repository": {