Allow passing optional explicit bond value (#652)

* Allows passing an optional argument to specify bond value

* Fixed incorrect coin array usage

* Using minimum gateway bond for gateway bonding

* Bumped validator client version number

* Made the explicit bond value required as an argument
This commit is contained in:
Jędrzej Stuczyński
2021-06-22 17:15:20 +01:00
committed by GitHub
parent 4e03759c0f
commit 5ba20268dd
2 changed files with 4 additions and 6 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@nymproject/nym-validator-client",
"version": "0.12.1",
"version": "0.13.0",
"description": "A TypeScript client for interacting with smart contracts in Nym validators",
"repository": "https://github.com/nymtech/nym",
"main": "./dist/index.js",
+3 -5
View File
@@ -254,10 +254,9 @@ export default class ValidatorClient {
/**
* Announce a mixnode, paying a fee.
*/
async bondMixnode(mixNode: MixNode): Promise<ExecuteResult> {
async bondMixnode(mixNode: MixNode, bond: Coin): Promise<ExecuteResult> {
if (this.client instanceof NetClient) {
const bond = [await this.minimumMixnodeBond()];
const result = await this.client.executeContract(this.client.clientAddress, this.contractAddress, { bond_mixnode: { mix_node: mixNode } }, "adding mixnode", bond).catch((err) => this.handleRequestFailure(err));
const result = await this.client.executeContract(this.client.clientAddress, this.contractAddress, { bond_mixnode: { mix_node: mixNode } }, "adding mixnode", [bond]).catch((err) => this.handleRequestFailure(err));
console.log(`account ${this.client.clientAddress} added mixnode with ${mixNode.host}`);
return result;
} else {
@@ -401,9 +400,8 @@ export default class ValidatorClient {
/**
* Announce a gateway, paying a fee.
*/
async bondGateway(gateway: Gateway): Promise<ExecuteResult> {
async bondGateway(gateway: Gateway, bond: Coin): Promise<ExecuteResult> {
if (this.client instanceof NetClient) {
const bond = await this.minimumGatewayBond()
const result = await this.client.executeContract(this.client.clientAddress, this.contractAddress, {bond_gateway: {gateway: gateway}}, "adding gateway", [bond]).catch((err) => this.handleRequestFailure(err));
console.log(`account ${this.client.clientAddress} added gateway with ${gateway.mix_host}`);
return result;