ethers.js/lib.commonjs/_tests/test-providers-send.js

52 lines
2.2 KiB
JavaScript
Raw Normal View History

2022-11-09 10:57:02 +03:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
2023-04-25 14:04:48 +03:00
const tslib_1 = require("tslib");
const assert_1 = tslib_1.__importDefault(require("assert"));
2022-11-09 10:57:02 +03:00
const index_js_1 = require("../index.js");
const create_provider_js_1 = require("./create-provider.js");
2022-11-09 14:22:17 +03:00
function stall(duration) {
return new Promise((resolve) => { setTimeout(resolve, duration); });
}
2022-12-31 00:35:04 +03:00
(0, create_provider_js_1.setupProviders)();
2022-11-09 10:57:02 +03:00
describe("Sends Transactions", function () {
const wallet = new index_js_1.Wallet((process.env.FAUCET_PRIVATEKEY));
2023-08-03 06:52:01 +03:00
console.log("Faucet Address:", wallet.address);
2022-11-09 10:57:02 +03:00
const networkName = "goerli";
for (const providerName of create_provider_js_1.providerNames) {
const provider = (0, create_provider_js_1.getProvider)(providerName, networkName);
if (provider == null) {
continue;
}
it(`tests sending: ${providerName}`, async function () {
2022-12-10 02:24:58 +03:00
this.timeout(180000);
2022-11-09 10:57:02 +03:00
const w = wallet.connect(provider);
const dustAddr = index_js_1.Wallet.createRandom().address;
2022-11-09 14:22:17 +03:00
// Retry if another CI instance used our value
let tx = null;
for (let i = 0; i < 10; i++) {
try {
tx = await w.sendTransaction({
to: dustAddr,
value: 42,
type: 2
});
break;
}
catch (error) {
2022-12-30 19:53:40 +03:00
if ((0, index_js_1.isError)(error, "REPLACEMENT_UNDERPRICED") || (0, index_js_1.isError)(error, "NONCE_EXPIRED")) {
2022-11-09 14:22:17 +03:00
await stall(1000);
continue;
}
throw error;
}
}
assert_1.default.ok(!!tx, "too many retries");
2022-11-09 10:57:02 +03:00
//const receipt =
2022-12-10 02:24:58 +03:00
await provider.waitForTransaction(tx.hash, null, 60000); //tx.wait();
2022-11-09 10:57:02 +03:00
//console.log(receipt);
const balance = await provider.getBalance(dustAddr);
assert_1.default.equal(balance, BigInt(42), "target balance after send");
});
}
});
//# sourceMappingURL=test-providers-send.js.map