@primuslabs/fund-js-sdk 0.1.1 → 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 +25 -16
- package/dist/index.mjs +25 -16
- package/package.json +1 -1
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
|
-
|
|
98
|
-
|
|
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) {
|
|
@@ -125,15 +131,18 @@ var Contract = class {
|
|
|
125
131
|
resolve(txreceipt);
|
|
126
132
|
} catch (error) {
|
|
127
133
|
console.log("sendTransaction error:", error);
|
|
128
|
-
|
|
134
|
+
const errStr = error?.toString()?.toLowerCase() || "";
|
|
135
|
+
const userRejectErrStrArr = ["user rejected", "approval denied"];
|
|
136
|
+
const isUserRejected = userRejectErrStrArr.some((str) => errStr.indexOf(str) > -1);
|
|
137
|
+
if (error?.code === "ACTION_REJECTED" || isUserRejected) {
|
|
129
138
|
return reject("user rejected transaction");
|
|
130
139
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
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");
|
|
136
144
|
}
|
|
145
|
+
return reject(error);
|
|
137
146
|
}
|
|
138
147
|
});
|
|
139
148
|
}
|
|
@@ -1090,7 +1099,13 @@ var Fund = class {
|
|
|
1090
1099
|
async init(provider, chainId, appId) {
|
|
1091
1100
|
return new Promise(async (resolve, reject) => {
|
|
1092
1101
|
try {
|
|
1093
|
-
|
|
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();
|
|
1094
1109
|
const providerChainId = network.chainId;
|
|
1095
1110
|
console.log("init provider", provider, network);
|
|
1096
1111
|
if (providerChainId !== chainId) {
|
|
@@ -1377,13 +1392,7 @@ var PrimusFund = class {
|
|
|
1377
1392
|
return reject("chainId is not supported");
|
|
1378
1393
|
}
|
|
1379
1394
|
this._fund = new Fund();
|
|
1380
|
-
|
|
1381
|
-
if (provider instanceof import_ethers3.ethers.providers.JsonRpcProvider) {
|
|
1382
|
-
formatProvider = new import_ethers3.ethers.providers.JsonRpcProvider(defaultRpcUrl);
|
|
1383
|
-
} else {
|
|
1384
|
-
formatProvider = new import_ethers3.ethers.providers.Web3Provider(provider);
|
|
1385
|
-
}
|
|
1386
|
-
const result = await this._fund.init(formatProvider, chainId, appId);
|
|
1395
|
+
const result = await this._fund.init(provider, chainId, appId);
|
|
1387
1396
|
return resolve(result);
|
|
1388
1397
|
} catch (error) {
|
|
1389
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
|
-
|
|
74
|
-
|
|
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) {
|
|
@@ -101,15 +107,18 @@ var Contract = class {
|
|
|
101
107
|
resolve(txreceipt);
|
|
102
108
|
} catch (error) {
|
|
103
109
|
console.log("sendTransaction error:", error);
|
|
104
|
-
|
|
110
|
+
const errStr = error?.toString()?.toLowerCase() || "";
|
|
111
|
+
const userRejectErrStrArr = ["user rejected", "approval denied"];
|
|
112
|
+
const isUserRejected = userRejectErrStrArr.some((str) => errStr.indexOf(str) > -1);
|
|
113
|
+
if (error?.code === "ACTION_REJECTED" || isUserRejected) {
|
|
105
114
|
return reject("user rejected transaction");
|
|
106
115
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
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");
|
|
112
120
|
}
|
|
121
|
+
return reject(error);
|
|
113
122
|
}
|
|
114
123
|
});
|
|
115
124
|
}
|
|
@@ -1066,7 +1075,13 @@ var Fund = class {
|
|
|
1066
1075
|
async init(provider, chainId, appId) {
|
|
1067
1076
|
return new Promise(async (resolve, reject) => {
|
|
1068
1077
|
try {
|
|
1069
|
-
|
|
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();
|
|
1070
1085
|
const providerChainId = network.chainId;
|
|
1071
1086
|
console.log("init provider", provider, network);
|
|
1072
1087
|
if (providerChainId !== chainId) {
|
|
@@ -1353,13 +1368,7 @@ var PrimusFund = class {
|
|
|
1353
1368
|
return reject("chainId is not supported");
|
|
1354
1369
|
}
|
|
1355
1370
|
this._fund = new Fund();
|
|
1356
|
-
|
|
1357
|
-
if (provider instanceof ethers3.providers.JsonRpcProvider) {
|
|
1358
|
-
formatProvider = new ethers3.providers.JsonRpcProvider(defaultRpcUrl);
|
|
1359
|
-
} else {
|
|
1360
|
-
formatProvider = new ethers3.providers.Web3Provider(provider);
|
|
1361
|
-
}
|
|
1362
|
-
const result = await this._fund.init(formatProvider, chainId, appId);
|
|
1371
|
+
const result = await this._fund.init(provider, chainId, appId);
|
|
1363
1372
|
return resolve(result);
|
|
1364
1373
|
} catch (error) {
|
|
1365
1374
|
return reject(error);
|