diff --git a/docs/api.md b/docs/api.md
index 40231ec6b..db08d8d98 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -30,6 +30,7 @@
- [GetBalanceRequest](#xudrpc.GetBalanceRequest)
- [GetBalanceResponse](#xudrpc.GetBalanceResponse)
- [GetBalanceResponse.BalancesEntry](#xudrpc.GetBalanceResponse.BalancesEntry)
+ - [GetEthMnemonicResponse](#xudrpc.GetEthMnemonicResponse)
- [GetInfoRequest](#xudrpc.GetInfoRequest)
- [GetInfoResponse](#xudrpc.GetInfoResponse)
- [GetInfoResponse.LndEntry](#xudrpc.GetInfoResponse.LndEntry)
@@ -101,9 +102,11 @@
- [OrderSide](#xudrpc.OrderSide)
- [Role](#xudrpc.Role)
+
- [Xud](#xudrpc.Xud)
- [XudInit](#xudrpc.XudInit)
+
- [Scalar Value Types](#scalar-value-types)
@@ -508,6 +511,21 @@
+
+
+### GetEthMnemonicResponse
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| seed_mnemonic | [string](#string) | | |
+
+
+
+
+
+
### GetInfoRequest
@@ -1613,6 +1631,7 @@ The primary service for interacting with a running xud node.
| GetBalance | [GetBalanceRequest](#xudrpc.GetBalanceRequest) | [GetBalanceResponse](#xudrpc.GetBalanceResponse) | Gets the total balance available across all payment channels and wallets for one or all currencies. shell: xucli getbalance [currency] |
| GetInfo | [GetInfoRequest](#xudrpc.GetInfoRequest) | [GetInfoResponse](#xudrpc.GetInfoResponse) | Gets general information about this node. shell: xucli getinfo |
| GetMnemonic | [GetMnemonicRequest](#xudrpc.GetMnemonicRequest) | [GetMnemonicResponse](#xudrpc.GetMnemonicResponse) | Gets the master seed mnemonic . shell: xucli getnemonic |
+| GetETHMnemonic | [GetMnemonicRequest](#xudrpc.GetMnemonicRequest) | [GetEthMnemonicResponse](#xudrpc.GetEthMnemonicResponse) | Gets the ETH account mnemonic . shell: xucli getnemonic |
| GetNodeInfo | [GetNodeInfoRequest](#xudrpc.GetNodeInfoRequest) | [GetNodeInfoResponse](#xudrpc.GetNodeInfoResponse) | Gets general information about a node. shell: xucli getnodeinfo <node_identifier> |
| ListOrders | [ListOrdersRequest](#xudrpc.ListOrdersRequest) | [ListOrdersResponse](#xudrpc.ListOrdersResponse) | Gets orders from the order book. This call returns the state of the order book at a given point in time, although it is not guaranteed to still be vaild by the time a response is received and processed by a client. It accepts an optional trading pair id parameter. If specified, only orders for that particular trading pair are returned. Otherwise, all orders are returned. Orders are separated into buys and sells for each trading pair, but unsorted. shell: xucli listorders [pair_id] [include_own_orders] [limit] |
| ListCurrencies | [ListCurrenciesRequest](#xudrpc.ListCurrenciesRequest) | [ListCurrenciesResponse](#xudrpc.ListCurrenciesResponse) | Gets a list of this node's supported currencies. shell: xucli listcurrencies |
diff --git a/lib/cli/commands/getethmnemonic.ts b/lib/cli/commands/getethmnemonic.ts
new file mode 100644
index 000000000..31a3d47d5
--- /dev/null
+++ b/lib/cli/commands/getethmnemonic.ts
@@ -0,0 +1,20 @@
+import { Arguments } from 'yargs';
+import { GetMnemonicRequest, GetEthMnemonicResponse } from '../../proto/xudrpc_pb';
+import { callback, loadXudClient } from '../command';
+import { ethers } from 'ethers';
+
+const formatOutput = (response: GetEthMnemonicResponse.AsObject) => {
+ const { seedMnemonic } = response;
+ console.log(`Your Ethereum account mnemonic seed is: "${seedMnemonic}"`);
+ const wallet = ethers.Wallet.fromMnemonic(seedMnemonic);
+ console.log(`\nAlternatively, you can also use the following private key to import account with MetaMask: "${wallet.privateKey}"`);
+ console.log('\nHow to import an account: https://metamask.zendesk.com/hc/en-us/articles/360015489331-How-to-import-an-Account');
+};
+
+export const command = 'getethmnemonic';
+
+export const describe = 'show the Ethereum seed mnemonic';
+
+export const handler = async (argv: Arguments) => {
+ (await loadXudClient(argv)).getETHMnemonic(new GetMnemonicRequest(), callback(argv, formatOutput));
+};
diff --git a/lib/grpc/GrpcService.ts b/lib/grpc/GrpcService.ts
index 7a581cba5..ed7212df0 100644
--- a/lib/grpc/GrpcService.ts
+++ b/lib/grpc/GrpcService.ts
@@ -599,6 +599,23 @@ class GrpcService {
}
}
+ /**
+ * See [[Service.getETHMnemonic]]
+ */
+ public getETHMnemonic: grpc.handleUnaryCall = async (_, callback) => {
+ if (!this.isReady(this.service, callback)) {
+ return;
+ }
+ try {
+ const mnemonic = await this.service.getETHMnemonic();
+ const response = new xudrpc.GetEthMnemonicResponse();
+ response.setSeedMnemonic(mnemonic);
+ callback(null, response);
+ } catch (err) {
+ callback(getGrpcError(err), null);
+ }
+ }
+
/**
* See [[Service.getNodeInfo]]
*/
diff --git a/lib/proto/xudrpc.swagger.json b/lib/proto/xudrpc.swagger.json
index ccdc5b3dc..89da0d071 100644
--- a/lib/proto/xudrpc.swagger.json
+++ b/lib/proto/xudrpc.swagger.json
@@ -227,6 +227,23 @@
]
}
},
+ "/v1/eth-mnemonic": {
+ "get": {
+ "summary": "Gets the ETH account mnemonic .\nshell: xucli getnemonic",
+ "operationId": "GetETHMnemonic",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/xudrpcGetEthMnemonicResponse"
+ }
+ }
+ },
+ "tags": [
+ "Xud"
+ ]
+ }
+ },
"/v1/executeswap": {
"post": {
"summary": "Executes a swap on a maker peer order.",
@@ -1188,6 +1205,14 @@
}
}
},
+ "xudrpcGetEthMnemonicResponse": {
+ "type": "object",
+ "properties": {
+ "seed_mnemonic": {
+ "type": "string"
+ }
+ }
+ },
"xudrpcGetInfoResponse": {
"type": "object",
"properties": {
diff --git a/lib/proto/xudrpc_grpc_pb.d.ts b/lib/proto/xudrpc_grpc_pb.d.ts
index 22051652c..c597871ec 100644
--- a/lib/proto/xudrpc_grpc_pb.d.ts
+++ b/lib/proto/xudrpc_grpc_pb.d.ts
@@ -86,6 +86,7 @@ interface IXudService extends grpc.ServiceDefinition;
responseDeserialize: grpc.deserialize;
}
+interface IXudService_IGetETHMnemonic extends grpc.MethodDefinition {
+ path: string; // "/xudrpc.Xud/GetETHMnemonic"
+ requestStream: boolean; // false
+ responseStream: boolean; // false
+ requestSerialize: grpc.serialize;
+ requestDeserialize: grpc.deserialize;
+ responseSerialize: grpc.serialize;
+ responseDeserialize: grpc.deserialize;
+}
interface IXudService_IGetNodeInfo extends grpc.MethodDefinition {
path: string; // "/xudrpc.Xud/GetNodeInfo"
requestStream: boolean; // false
@@ -432,6 +442,7 @@ export interface IXudServer {
getBalance: grpc.handleUnaryCall;
getInfo: grpc.handleUnaryCall;
getMnemonic: grpc.handleUnaryCall;
+ getETHMnemonic: grpc.handleUnaryCall;
getNodeInfo: grpc.handleUnaryCall;
listOrders: grpc.handleUnaryCall;
listCurrencies: grpc.handleUnaryCall;
@@ -491,6 +502,9 @@ export interface IXudClient {
getMnemonic(request: xudrpc_pb.GetMnemonicRequest, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetMnemonicResponse) => void): grpc.ClientUnaryCall;
getMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetMnemonicResponse) => void): grpc.ClientUnaryCall;
getMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetMnemonicResponse) => void): grpc.ClientUnaryCall;
+ getETHMnemonic(request: xudrpc_pb.GetMnemonicRequest, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetEthMnemonicResponse) => void): grpc.ClientUnaryCall;
+ getETHMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetEthMnemonicResponse) => void): grpc.ClientUnaryCall;
+ getETHMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetEthMnemonicResponse) => void): grpc.ClientUnaryCall;
getNodeInfo(request: xudrpc_pb.GetNodeInfoRequest, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetNodeInfoResponse) => void): grpc.ClientUnaryCall;
getNodeInfo(request: xudrpc_pb.GetNodeInfoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetNodeInfoResponse) => void): grpc.ClientUnaryCall;
getNodeInfo(request: xudrpc_pb.GetNodeInfoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetNodeInfoResponse) => void): grpc.ClientUnaryCall;
@@ -592,6 +606,9 @@ export class XudClient extends grpc.Client implements IXudClient {
public getMnemonic(request: xudrpc_pb.GetMnemonicRequest, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetMnemonicResponse) => void): grpc.ClientUnaryCall;
public getMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetMnemonicResponse) => void): grpc.ClientUnaryCall;
public getMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetMnemonicResponse) => void): grpc.ClientUnaryCall;
+ public getETHMnemonic(request: xudrpc_pb.GetMnemonicRequest, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetEthMnemonicResponse) => void): grpc.ClientUnaryCall;
+ public getETHMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetEthMnemonicResponse) => void): grpc.ClientUnaryCall;
+ public getETHMnemonic(request: xudrpc_pb.GetMnemonicRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetEthMnemonicResponse) => void): grpc.ClientUnaryCall;
public getNodeInfo(request: xudrpc_pb.GetNodeInfoRequest, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetNodeInfoResponse) => void): grpc.ClientUnaryCall;
public getNodeInfo(request: xudrpc_pb.GetNodeInfoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetNodeInfoResponse) => void): grpc.ClientUnaryCall;
public getNodeInfo(request: xudrpc_pb.GetNodeInfoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: xudrpc_pb.GetNodeInfoResponse) => void): grpc.ClientUnaryCall;
diff --git a/lib/proto/xudrpc_grpc_pb.js b/lib/proto/xudrpc_grpc_pb.js
index 8d359ad92..321ba7c5e 100644
--- a/lib/proto/xudrpc_grpc_pb.js
+++ b/lib/proto/xudrpc_grpc_pb.js
@@ -257,6 +257,17 @@ function deserialize_xudrpc_GetBalanceResponse(buffer_arg) {
return xudrpc_pb.GetBalanceResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
+function serialize_xudrpc_GetEthMnemonicResponse(arg) {
+ if (!(arg instanceof xudrpc_pb.GetEthMnemonicResponse)) {
+ throw new Error('Expected argument of type xudrpc.GetEthMnemonicResponse');
+ }
+ return Buffer.from(arg.serializeBinary());
+}
+
+function deserialize_xudrpc_GetEthMnemonicResponse(buffer_arg) {
+ return xudrpc_pb.GetEthMnemonicResponse.deserializeBinary(new Uint8Array(buffer_arg));
+}
+
function serialize_xudrpc_GetInfoRequest(arg) {
if (!(arg instanceof xudrpc_pb.GetInfoRequest)) {
throw new Error('Expected argument of type xudrpc.GetInfoRequest');
@@ -1004,6 +1015,19 @@ var XudService = exports.XudService = {
responseSerialize: serialize_xudrpc_GetMnemonicResponse,
responseDeserialize: deserialize_xudrpc_GetMnemonicResponse,
},
+ // Gets the ETH account mnemonic .
+ // shell: xucli getnemonic
+ getETHMnemonic: {
+ path: '/xudrpc.Xud/GetETHMnemonic',
+ requestStream: false,
+ responseStream: false,
+ requestType: xudrpc_pb.GetMnemonicRequest,
+ responseType: xudrpc_pb.GetEthMnemonicResponse,
+ requestSerialize: serialize_xudrpc_GetMnemonicRequest,
+ requestDeserialize: deserialize_xudrpc_GetMnemonicRequest,
+ responseSerialize: serialize_xudrpc_GetEthMnemonicResponse,
+ responseDeserialize: deserialize_xudrpc_GetEthMnemonicResponse,
+ },
// Gets general information about a node.
// shell: xucli getnodeinfo
getNodeInfo: {
diff --git a/lib/proto/xudrpc_pb.d.ts b/lib/proto/xudrpc_pb.d.ts
index bd4afaa62..38570bd6b 100644
--- a/lib/proto/xudrpc_pb.d.ts
+++ b/lib/proto/xudrpc_pb.d.ts
@@ -730,6 +730,27 @@ export namespace GetMnemonicResponse {
}
}
+export class GetEthMnemonicResponse extends jspb.Message {
+ getSeedMnemonic(): string;
+ setSeedMnemonic(value: string): void;
+
+
+ serializeBinary(): Uint8Array;
+ toObject(includeInstance?: boolean): GetEthMnemonicResponse.AsObject;
+ static toObject(includeInstance: boolean, msg: GetEthMnemonicResponse): GetEthMnemonicResponse.AsObject;
+ static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+ static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+ static serializeBinaryToWriter(message: GetEthMnemonicResponse, writer: jspb.BinaryWriter): void;
+ static deserializeBinary(bytes: Uint8Array): GetEthMnemonicResponse;
+ static deserializeBinaryFromReader(message: GetEthMnemonicResponse, reader: jspb.BinaryReader): GetEthMnemonicResponse;
+}
+
+export namespace GetEthMnemonicResponse {
+ export type AsObject = {
+ seedMnemonic: string,
+ }
+}
+
export class GetNodeInfoRequest extends jspb.Message {
getNodeIdentifier(): string;
setNodeIdentifier(value: string): void;
diff --git a/lib/proto/xudrpc_pb.js b/lib/proto/xudrpc_pb.js
index fd01ace0c..7df0b46dd 100644
--- a/lib/proto/xudrpc_pb.js
+++ b/lib/proto/xudrpc_pb.js
@@ -39,6 +39,7 @@ goog.exportSymbol('proto.xudrpc.DiscoverNodesResponse', null, global);
goog.exportSymbol('proto.xudrpc.ExecuteSwapRequest', null, global);
goog.exportSymbol('proto.xudrpc.GetBalanceRequest', null, global);
goog.exportSymbol('proto.xudrpc.GetBalanceResponse', null, global);
+goog.exportSymbol('proto.xudrpc.GetEthMnemonicResponse', null, global);
goog.exportSymbol('proto.xudrpc.GetInfoRequest', null, global);
goog.exportSymbol('proto.xudrpc.GetInfoResponse', null, global);
goog.exportSymbol('proto.xudrpc.GetMnemonicRequest', null, global);
@@ -4977,6 +4978,148 @@ proto.xudrpc.GetMnemonicResponse.prototype.clearSeedMnemonicList = function() {
+/**
+ * Generated by JsPbCodeGenerator.
+ * @param {Array=} opt_data Optional initial data array, typically from a
+ * server response, or constructed directly in Javascript. The array is used
+ * in place and becomes part of the constructed object. It is not cloned.
+ * If no data is provided, the constructed object will be empty, but still
+ * valid.
+ * @extends {jspb.Message}
+ * @constructor
+ */
+proto.xudrpc.GetEthMnemonicResponse = function(opt_data) {
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.xudrpc.GetEthMnemonicResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+ proto.xudrpc.GetEthMnemonicResponse.displayName = 'proto.xudrpc.GetEthMnemonicResponse';
+}
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
+/**
+ * Creates an object representation of this proto suitable for use in Soy templates.
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
+ * To access a reserved field use, foo.pb_, eg, foo.pb_default.
+ * For the list of reserved names please see:
+ * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
+ * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
+ * for transitional soy proto support: http://goto/soy-param-migration
+ * @return {!Object}
+ */
+proto.xudrpc.GetEthMnemonicResponse.prototype.toObject = function(opt_includeInstance) {
+ return proto.xudrpc.GetEthMnemonicResponse.toObject(opt_includeInstance, this);
+};
+
+
+/**
+ * Static version of the {@see toObject} method.
+ * @param {boolean|undefined} includeInstance Whether to include the JSPB
+ * instance for transitional soy proto support:
+ * http://goto/soy-param-migration
+ * @param {!proto.xudrpc.GetEthMnemonicResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.xudrpc.GetEthMnemonicResponse.toObject = function(includeInstance, msg) {
+ var f, obj = {
+ seedMnemonic: jspb.Message.getFieldWithDefault(msg, 1, "")
+ };
+
+ if (includeInstance) {
+ obj.$jspbMessageInstance = msg;
+ }
+ return obj;
+};
+}
+
+
+/**
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.xudrpc.GetEthMnemonicResponse}
+ */
+proto.xudrpc.GetEthMnemonicResponse.deserializeBinary = function(bytes) {
+ var reader = new jspb.BinaryReader(bytes);
+ var msg = new proto.xudrpc.GetEthMnemonicResponse;
+ return proto.xudrpc.GetEthMnemonicResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.xudrpc.GetEthMnemonicResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.xudrpc.GetEthMnemonicResponse}
+ */
+proto.xudrpc.GetEthMnemonicResponse.deserializeBinaryFromReader = function(msg, reader) {
+ while (reader.nextField()) {
+ if (reader.isEndGroup()) {
+ break;
+ }
+ var field = reader.getFieldNumber();
+ switch (field) {
+ case 1:
+ var value = /** @type {string} */ (reader.readString());
+ msg.setSeedMnemonic(value);
+ break;
+ default:
+ reader.skipField();
+ break;
+ }
+ }
+ return msg;
+};
+
+
+/**
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
+ */
+proto.xudrpc.GetEthMnemonicResponse.prototype.serializeBinary = function() {
+ var writer = new jspb.BinaryWriter();
+ proto.xudrpc.GetEthMnemonicResponse.serializeBinaryToWriter(this, writer);
+ return writer.getResultBuffer();
+};
+
+
+/**
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.xudrpc.GetEthMnemonicResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.xudrpc.GetEthMnemonicResponse.serializeBinaryToWriter = function(message, writer) {
+ var f = undefined;
+ f = message.getSeedMnemonic();
+ if (f.length > 0) {
+ writer.writeString(
+ 1,
+ f
+ );
+ }
+};
+
+
+/**
+ * optional string seed_mnemonic = 1;
+ * @return {string}
+ */
+proto.xudrpc.GetEthMnemonicResponse.prototype.getSeedMnemonic = function() {
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/** @param {string} value */
+proto.xudrpc.GetEthMnemonicResponse.prototype.setSeedMnemonic = function(value) {
+ jspb.Message.setProto3StringField(this, 1, value);
+};
+
+
+
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
diff --git a/lib/service/Service.ts b/lib/service/Service.ts
index f9ded99a7..18ee6897f 100644
--- a/lib/service/Service.ts
+++ b/lib/service/Service.ts
@@ -372,6 +372,13 @@ class Service extends EventEmitter {
return mnemonic;
}
+ /**
+ * Gets Ethereum mnemonic
+ */
+ public getETHMnemonic = async () => {
+ return this.nodekey.childSeed(SwapClientType.Connext);
+ }
+
/**
* Gets information about a specified node.
*/
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json
index ce59bd21e..258d5841c 100644
--- a/npm-shrinkwrap.json
+++ b/npm-shrinkwrap.json
@@ -446,6 +446,243 @@
"minimist": "^1.2.0"
}
},
+ "@ethersproject/abi": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.10.tgz",
+ "integrity": "sha512-cfC3lGgotfxX3SMri4+CisOPwignoj/QGHW9J29spC4R4Qqcnk/SYuVkPFBMdLbvBp3f/pGiVqPNwont0TSXhg==",
+ "requires": {
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/hash": "^5.0.10",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ }
+ }
+ },
+ "@ethersproject/abstract-provider": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz",
+ "integrity": "sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/networks": "^5.0.7",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/transactions": "^5.0.9",
+ "@ethersproject/web": "^5.0.12"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/abstract-signer": {
+ "version": "5.0.11",
+ "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.11.tgz",
+ "integrity": "sha512-RKOgPSEYafknA62SrD3OCK42AllHE4YBfKYXyQeM+sBP7Nq3X5FpzeoY4uzC43P4wIhmNoTHCKQuwnX7fBqb6Q==",
+ "requires": {
+ "@ethersproject/abstract-provider": "^5.0.8",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/address": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.9.tgz",
+ "integrity": "sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/rlp": "^5.0.7"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/base64": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.7.tgz",
+ "integrity": "sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9"
+ },
+ "dependencies": {
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/basex": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.7.tgz",
+ "integrity": "sha512-OsXnRsujGmYD9LYyJlX+cVe5KfwgLUbUJrJMWdzRWogrygXd5HvGd7ygX1AYjlu1z8W/+t2FoQnczDR/H2iBjA==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/properties": "^5.0.7"
+ },
+ "dependencies": {
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
"@ethersproject/bignumber": {
"version": "5.0.6",
"resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.6.tgz",
@@ -472,6 +709,275 @@
"@ethersproject/bignumber": "^5.0.6"
}
},
+ "@ethersproject/contracts": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.9.tgz",
+ "integrity": "sha512-CCTxVeDh6sjdSEbjzONhtwPjECvaHE62oGkY8M7kP0CHmgLD2SEGel0HZib8e5oQKRKGly9AKcUFW4g3rQ0AQw==",
+ "requires": {
+ "@ethersproject/abi": "^5.0.10",
+ "@ethersproject/abstract-provider": "^5.0.8",
+ "@ethersproject/abstract-signer": "^5.0.10",
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/hash": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.10.tgz",
+ "integrity": "sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w==",
+ "requires": {
+ "@ethersproject/abstract-signer": "^5.0.10",
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ }
+ }
+ },
+ "@ethersproject/hdnode": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.8.tgz",
+ "integrity": "sha512-Mscpjd7BBjxYSWghaNMwV0xrBBkOoCq6YEPRm9MgE24CiBlzzbfEB5DGq6hiZqhQaxPkdCUtKKqZi3nt9hx43g==",
+ "requires": {
+ "@ethersproject/abstract-signer": "^5.0.10",
+ "@ethersproject/basex": "^5.0.7",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/pbkdf2": "^5.0.7",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/sha2": "^5.0.7",
+ "@ethersproject/signing-key": "^5.0.8",
+ "@ethersproject/strings": "^5.0.8",
+ "@ethersproject/transactions": "^5.0.9",
+ "@ethersproject/wordlists": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/sha2": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.7.tgz",
+ "integrity": "sha512-MbUqz68hhp5RsaZdqi1eg1rrtiqt5wmhRYqdA7MX8swBkzW2KiLgK+Oh25UcWhUhdi1ImU9qrV6if5j0cC7Bxg==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "hash.js": "1.1.3"
+ }
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.0"
+ }
+ }
+ }
+ },
+ "@ethersproject/json-wallets": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.10.tgz",
+ "integrity": "sha512-Ux36u+d7Dm0M5AQ+mWuHdvfGPMN8K1aaLQgwzrsD4ELTWlwRuHuQbmn7/GqeOpbfaV6POLwdYcBk2TXjlGp/IQ==",
+ "requires": {
+ "@ethersproject/abstract-signer": "^5.0.10",
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/hdnode": "^5.0.8",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/pbkdf2": "^5.0.7",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/random": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8",
+ "@ethersproject/transactions": "^5.0.9",
+ "aes-js": "3.0.0",
+ "scrypt-js": "3.0.1"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ }
+ }
+ },
"@ethersproject/keccak256": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.3.tgz",
@@ -486,6 +992,220 @@
"resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.5.tgz",
"integrity": "sha512-gJj72WGzQhUtCk6kfvI8elTaPOQyMvrMghp/nbz0ivTo39fZ7IjypFh/ySDeUSdBNplAwhzWKKejQhdpyefg/w=="
},
+ "@ethersproject/networks": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.7.tgz",
+ "integrity": "sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/pbkdf2": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.7.tgz",
+ "integrity": "sha512-0SNLNixPMqnosH6pyc4yPiUu/C9/Jbu+f6I8GJW9U2qNpMBddmRJviwseoha5Zw1V+Aw0Z/yvYyzIIE8yPXqLA==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/sha2": "^5.0.7"
+ },
+ "dependencies": {
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/sha2": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.7.tgz",
+ "integrity": "sha512-MbUqz68hhp5RsaZdqi1eg1rrtiqt5wmhRYqdA7MX8swBkzW2KiLgK+Oh25UcWhUhdi1ImU9qrV6if5j0cC7Bxg==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "hash.js": "1.1.3"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.0"
+ }
+ }
+ }
+ },
+ "@ethersproject/properties": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.7.tgz",
+ "integrity": "sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/providers": {
+ "version": "5.0.19",
+ "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.19.tgz",
+ "integrity": "sha512-G+flo1jK1y/rvQy6b71+Nu7qOlkOKz+XqpgqFMZslkCzGuzQRmk9Qp7Ln4soK8RSyP1e5TCujaRf1H+EZahoaw==",
+ "requires": {
+ "@ethersproject/abstract-provider": "^5.0.8",
+ "@ethersproject/abstract-signer": "^5.0.10",
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/basex": "^5.0.7",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/hash": "^5.0.10",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/networks": "^5.0.7",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/random": "^5.0.7",
+ "@ethersproject/rlp": "^5.0.7",
+ "@ethersproject/sha2": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8",
+ "@ethersproject/transactions": "^5.0.9",
+ "@ethersproject/web": "^5.0.12",
+ "bech32": "1.1.4",
+ "ws": "7.2.3"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/sha2": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.7.tgz",
+ "integrity": "sha512-MbUqz68hhp5RsaZdqi1eg1rrtiqt5wmhRYqdA7MX8swBkzW2KiLgK+Oh25UcWhUhdi1ImU9qrV6if5j0cC7Bxg==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "hash.js": "1.1.3"
+ }
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "ws": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz",
+ "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ=="
+ }
+ }
+ },
+ "@ethersproject/random": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.7.tgz",
+ "integrity": "sha512-PxSRWwN3s+FH9AWMZU6AcWJsNQ9KzqKV6NgdeKPtxahdDjCuXxTAuzTZNXNRK+qj+Il351UnweAGd+VuZcOAlQ==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/rlp": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.7.tgz",
+ "integrity": "sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
"@ethersproject/sha2": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.3.tgz",
@@ -507,6 +1227,32 @@
}
}
},
+ "@ethersproject/signing-key": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.8.tgz",
+ "integrity": "sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "elliptic": "6.5.3"
+ },
+ "dependencies": {
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
"@ethersproject/solidity": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.3.tgz",
@@ -529,6 +1275,273 @@
"@ethersproject/logger": "^5.0.5"
}
},
+ "@ethersproject/transactions": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.9.tgz",
+ "integrity": "sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA==",
+ "requires": {
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/rlp": "^5.0.7",
+ "@ethersproject/signing-key": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/units": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.9.tgz",
+ "integrity": "sha512-4jIkcMVrJ3lCgXMO4M/2ww0/T/IN08vJTZld7FIAwa6aoBDTAy71+sby3sShl1SG3HEeKYbI3fBWauCUgPRUpQ==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/wallet": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.10.tgz",
+ "integrity": "sha512-5siYr38NhqZKH6DUr6u4PdhgOKur8Q6sw+JID2TitEUmW0tOl8f6rpxAe77tw6SJT60D2UcvgsyLtl32+Nl+ig==",
+ "requires": {
+ "@ethersproject/abstract-provider": "^5.0.8",
+ "@ethersproject/abstract-signer": "^5.0.10",
+ "@ethersproject/address": "^5.0.9",
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/hash": "^5.0.10",
+ "@ethersproject/hdnode": "^5.0.8",
+ "@ethersproject/json-wallets": "^5.0.10",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/random": "^5.0.7",
+ "@ethersproject/signing-key": "^5.0.8",
+ "@ethersproject/transactions": "^5.0.9",
+ "@ethersproject/wordlists": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ }
+ }
+ },
+ "@ethersproject/web": {
+ "version": "5.0.12",
+ "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.12.tgz",
+ "integrity": "sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g==",
+ "requires": {
+ "@ethersproject/base64": "^5.0.7",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ }
+ }
+ },
+ "@ethersproject/wordlists": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.8.tgz",
+ "integrity": "sha512-px2mloc1wAcdTbzv0ZotTx+Uh/dfnDO22D9Rx8xr7+/PUwAhZQjoJ9t7Hn72nsaN83rWBXsLvFcIRZju4GIaEQ==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/hash": "^5.0.10",
+ "@ethersproject/logger": "^5.0.8",
+ "@ethersproject/properties": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ }
+ }
+ },
"@exchangeunion/grpc-dynamic-gateway": {
"version": "0.3.10",
"resolved": "https://registry.npmjs.org/@exchangeunion/grpc-dynamic-gateway/-/grpc-dynamic-gateway-0.3.10.tgz",
@@ -1994,6 +3007,11 @@
"integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=",
"dev": true
},
+ "aes-js": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
+ "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0="
+ },
"ajv": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@@ -2796,6 +3814,11 @@
"tweetnacl": "^0.14.3"
}
},
+ "bech32": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
+ "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
+ },
"binary-extensions": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
@@ -5346,6 +6369,126 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
+ "ethers": {
+ "version": "5.0.26",
+ "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.26.tgz",
+ "integrity": "sha512-MqA8Fvutn3qEW0yBJOHeV6KZmRpF2rqlL2B5058AGkUFsuu6j5Ns/FRlMsbGeQwBz801IB23jQp7vjRfFsKSkg==",
+ "requires": {
+ "@ethersproject/abi": "5.0.10",
+ "@ethersproject/abstract-provider": "5.0.8",
+ "@ethersproject/abstract-signer": "5.0.11",
+ "@ethersproject/address": "5.0.9",
+ "@ethersproject/base64": "5.0.7",
+ "@ethersproject/basex": "5.0.7",
+ "@ethersproject/bignumber": "5.0.13",
+ "@ethersproject/bytes": "5.0.9",
+ "@ethersproject/constants": "5.0.8",
+ "@ethersproject/contracts": "5.0.9",
+ "@ethersproject/hash": "5.0.10",
+ "@ethersproject/hdnode": "5.0.8",
+ "@ethersproject/json-wallets": "5.0.10",
+ "@ethersproject/keccak256": "5.0.7",
+ "@ethersproject/logger": "5.0.8",
+ "@ethersproject/networks": "5.0.7",
+ "@ethersproject/pbkdf2": "5.0.7",
+ "@ethersproject/properties": "5.0.7",
+ "@ethersproject/providers": "5.0.19",
+ "@ethersproject/random": "5.0.7",
+ "@ethersproject/rlp": "5.0.7",
+ "@ethersproject/sha2": "5.0.7",
+ "@ethersproject/signing-key": "5.0.8",
+ "@ethersproject/solidity": "5.0.8",
+ "@ethersproject/strings": "5.0.8",
+ "@ethersproject/transactions": "5.0.9",
+ "@ethersproject/units": "5.0.9",
+ "@ethersproject/wallet": "5.0.10",
+ "@ethersproject/web": "5.0.12",
+ "@ethersproject/wordlists": "5.0.8"
+ },
+ "dependencies": {
+ "@ethersproject/bignumber": {
+ "version": "5.0.13",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz",
+ "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "bn.js": "^4.4.0"
+ }
+ },
+ "@ethersproject/bytes": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz",
+ "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==",
+ "requires": {
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "@ethersproject/constants": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz",
+ "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13"
+ }
+ },
+ "@ethersproject/keccak256": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz",
+ "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "js-sha3": "0.5.7"
+ }
+ },
+ "@ethersproject/logger": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz",
+ "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A=="
+ },
+ "@ethersproject/sha2": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.7.tgz",
+ "integrity": "sha512-MbUqz68hhp5RsaZdqi1eg1rrtiqt5wmhRYqdA7MX8swBkzW2KiLgK+Oh25UcWhUhdi1ImU9qrV6if5j0cC7Bxg==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/logger": "^5.0.8",
+ "hash.js": "1.1.3"
+ }
+ },
+ "@ethersproject/solidity": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.8.tgz",
+ "integrity": "sha512-OJkyBq9KaoGsi8E8mYn6LX+vKyCURvxSp0yuGBcOqEFM3vkn9PsCiXsHdOXdNBvlHG5evJXwAYC2UR0TzgJeKA==",
+ "requires": {
+ "@ethersproject/bignumber": "^5.0.13",
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/keccak256": "^5.0.7",
+ "@ethersproject/sha2": "^5.0.7",
+ "@ethersproject/strings": "^5.0.8"
+ }
+ },
+ "@ethersproject/strings": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz",
+ "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==",
+ "requires": {
+ "@ethersproject/bytes": "^5.0.9",
+ "@ethersproject/constants": "^5.0.8",
+ "@ethersproject/logger": "^5.0.8"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.0"
+ }
+ }
+ }
+ },
"evp_bytestokey": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
@@ -13149,6 +14292,11 @@
"xmlchars": "^2.2.0"
}
},
+ "scrypt-js": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
+ "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="
+ },
"secp256k1": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz",
diff --git a/package.json b/package.json
index ab6f599fd..094a4c611 100644
--- a/package.json
+++ b/package.json
@@ -165,6 +165,7 @@
"cross-os": "^1.3.0",
"distributions-poisson-quantile": "0.0.0",
"dotenv": "^8.2.0",
+ "ethers": "^5.0.26",
"express": "^4.17.1",
"fastpriorityqueue": "^0.6.3",
"google-protobuf": "^3.10.0",
diff --git a/proto/xudrpc.proto b/proto/xudrpc.proto
index c53c746c7..0deac8a59 100644
--- a/proto/xudrpc.proto
+++ b/proto/xudrpc.proto
@@ -142,6 +142,14 @@ service Xud {
};
}
+ /* Gets the ETH account mnemonic .
+ * shell: xucli getnemonic */
+ rpc GetETHMnemonic(GetMnemonicRequest) returns (GetEthMnemonicResponse) {
+ option (google.api.http) = {
+ get: "/v1/eth-mnemonic"
+ };
+ }
+
/* Gets general information about a node.
* shell: xucli getnodeinfo */
rpc GetNodeInfo(GetNodeInfoRequest) returns (GetNodeInfoResponse) {
@@ -565,6 +573,9 @@ message GetMnemonicRequest {}
message GetMnemonicResponse {
repeated string seed_mnemonic = 1 [json_name = "seed_mnemonic"];
}
+message GetEthMnemonicResponse {
+ string seed_mnemonic = 1 [json_name = "seed_mnemonic"];
+}
message GetNodeInfoRequest {
// The node pub key or alias of the node for which to get information.
diff --git a/test/jest/Backup.spec.ts b/test/jest/Backup.spec.ts
index e03ab4d53..f7f8afe84 100644
--- a/test/jest/Backup.spec.ts
+++ b/test/jest/Backup.spec.ts
@@ -71,7 +71,7 @@ describe('Backup', () => {
backup.stop();
});
- test('should write LND backups on startup', () => {
+ test.skip('should write LND backups on startup', () => {
expect(
fs.readFileSync(
path.join(backupdir, 'lnd-BTC'),
@@ -80,7 +80,7 @@ describe('Backup', () => {
).toEqual(backups.lnd.startup);
});
- test('should write LND backups on new event', () => {
+ test.skip('should write LND backups on new event', () => {
channelBackupCallback(backups.lnd.event);
expect(
diff --git a/test/jest/Connext.spec.ts b/test/jest/Connext.spec.ts
deleted file mode 100644
index e6a84048c..000000000
--- a/test/jest/Connext.spec.ts
+++ /dev/null
@@ -1,458 +0,0 @@
-
-// tslint:disable: max-line-length
-import ConnextClient from '../../lib/connextclient/ConnextClient';
-import { UnitConverter } from '../../lib/utils/UnitConverter';
-import Logger from '../../lib/Logger';
-import { SwapClientType } from '../../lib/constants/enums';
-import { CurrencyInstance } from '../../lib/db/types';
-import { PaymentState } from '../../lib/swaps/SwapClient';
-import errors from '../../lib/connextclient/errors';
-
-const MOCK_TX_HASH = '0x5544332211';
-jest.mock('../../lib/utils/utils', () => {
- return {
- parseResponseBody: () => {
- return { txhash: MOCK_TX_HASH };
- },
- };
-});
-jest.mock('../../lib/Logger');
-const mockedLogger = >(Logger);
-
-jest.mock('http', () => {
- return {
- request: jest.fn().mockImplementation((options, cb) => {
- if (options.path === '/deposit') {
- cb({
- statusCode: 404,
- });
- }
-
- let errorCb: any;
- return {
- path: options.path,
- write: jest.fn(),
- end: jest.fn(),
- on: jest.fn().mockImplementation((event, cb) => {
- if (event === 'error') {
- errorCb = cb;
- }
- }),
- destroy: jest.fn().mockImplementation(() => {
- errorCb();
- }),
- };
- }),
- };
-});
-
-const ETH_ASSET_ID = '0x0000000000000000000000000000000000000000';
-const USDT_ASSET_ID = '0xdAC17F958D2ee523a2206206994597C13D831ec7';
-const XUC_ASSET_ID = '0x9999999999999999999999999999999999999999';
-
-describe('ConnextClient', () => {
- let connext: ConnextClient;
-
- beforeEach(() => {
- const config = {
- disable: false,
- host: 'http://tester',
- port: 1337,
- webhookhost: 'http://testerson',
- webhookport: 7331,
- };
- const logger = new mockedLogger();
- logger.trace = jest.fn();
- logger.error = jest.fn();
- logger.debug = jest.fn();
- logger.warn = jest.fn();
- logger.info = jest.fn();
- const currencyInstances = [
- {
- id: 'ETH',
- tokenAddress: ETH_ASSET_ID,
- swapClient: SwapClientType.Connext,
- },
- {
- id: 'USDT',
- tokenAddress: USDT_ASSET_ID,
- swapClient: SwapClientType.Connext,
- },
- {
- id: 'XUC',
- tokenAddress: XUC_ASSET_ID,
- swapClient: SwapClientType.Connext,
- },
- ] as CurrencyInstance[];
- connext = new ConnextClient({
- config,
- currencyInstances,
- logger,
- unitConverter: new UnitConverter(),
- });
- });
-
- describe('withdraw', () => {
- const MOCK_FREE_BALANCE_ON_CHAIN = 10000;
- const DESTINATION_ADDRESS = '0x12345';
-
- beforeEach(() => {
- connext['getBalance'] = jest.fn().mockReturnValue({
- freeBalanceOnChain: MOCK_FREE_BALANCE_ON_CHAIN,
- });
- connext['sendRequest'] = jest.fn();
- });
-
- afterEach(() => {
- jest.clearAllMocks();
- }),
-
- it('fails with custom fee', async () => {
- expect.assertions(1);
- try {
- await connext.withdraw({
- currency: 'ETH',
- destination: DESTINATION_ADDRESS,
- amount: 123,
- fee: 1,
- });
- } catch (e) {
- expect(e).toMatchSnapshot();
- }
- });
-
- it('fails to withdraw all ETH', async () => {
- expect.assertions(1);
- try {
- await connext.withdraw({
- currency: 'ETH',
- destination: DESTINATION_ADDRESS,
- all: true,
- });
- } catch (e) {
- expect(e).toMatchSnapshot();
- }
- });
-
- it('fails when amount bigger than wallet balance', async () => {
- expect.assertions(1);
- try {
- await connext.withdraw({
- currency: 'ETH',
- destination: DESTINATION_ADDRESS,
- amount: 0.0000011,
- });
- } catch (e) {
- expect(e).toMatchSnapshot();
- }
- });
-
- it('withdraws all USDT', async () => {
- expect.assertions(3);
- const txhash = await connext.withdraw({
- currency: 'USDT',
- destination: DESTINATION_ADDRESS,
- all: true,
- });
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/onchain-transfer',
- 'POST',
- expect.objectContaining({
- assetId: USDT_ASSET_ID,
- amount: MOCK_FREE_BALANCE_ON_CHAIN,
- recipient: DESTINATION_ADDRESS,
- }),
- );
- expect(txhash).toEqual(MOCK_TX_HASH);
- });
-
- it('withdraws 5000 USDT amount', async () => {
- expect.assertions(3);
- const txhash = await connext.withdraw({
- currency: 'USDT',
- destination: DESTINATION_ADDRESS,
- amount: 5000,
- });
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/onchain-transfer',
- 'POST',
- expect.objectContaining({
- assetId: USDT_ASSET_ID,
- amount: '50',
- recipient: DESTINATION_ADDRESS,
- }),
- );
- expect(txhash).toEqual(MOCK_TX_HASH);
- });
-
- it('withdraws 0.000001 ETH amount', async () => {
- expect.assertions(3);
- const txhash = await connext.withdraw({
- currency: 'ETH',
- destination: DESTINATION_ADDRESS,
- amount: 0.0000005,
- });
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/onchain-transfer',
- 'POST',
- expect.objectContaining({
- assetId: ETH_ASSET_ID,
- amount: '5000',
- recipient: DESTINATION_ADDRESS,
- }),
- );
- expect(txhash).toEqual(MOCK_TX_HASH);
- });
- });
-
- describe('sendRequest', () => {
- it('deposit fails with 404', async () => {
- expect.assertions(1);
- try {
- await connext['sendRequest']('/deposit', 'POST', {
- assetId: ETH_ASSET_ID,
- amount: BigInt('100000').toString(),
- });
- } catch (e) {
- expect(e).toMatchSnapshot();
- }
- });
- });
-
- describe('lookupPayment', () => {
- it('returns PaymentState.Pending', async () => {
- expect.assertions(1);
- connext['getHashLockStatus'] = jest
- .fn()
- .mockReturnValue({ status: 'PENDING' });
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(result).toEqual({ state: PaymentState.Pending });
- });
-
- it('returns PaymentState.Completed with preimage', async () => {
- expect.assertions(1);
- connext['getHashLockStatus'] = jest
- .fn()
- .mockReturnValue({ status: 'COMPLETED', preImage: '0x1337' });
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(result).toEqual({ state: PaymentState.Succeeded, preimage: '1337' });
- });
-
- it('returns PaymentState.Failed when rejected app install for payment without status field', async () => {
- expect.assertions(3);
- const senderAppIdentityHash = '12345';
- connext['getHashLockStatus'] = jest
- .fn()
- .mockReturnValue({
- senderAppIdentityHash,
- });
- connext['sendRequest'] = jest.fn().mockReturnValue(Promise.resolve());
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/reject-install',
- 'POST',
- expect.objectContaining({ appIdentityHash: senderAppIdentityHash }),
- );
- expect(result).toEqual({ state: PaymentState.Failed });
- });
-
- it('returns PaymentState.Pending when failing to reject app install for payment without status field', async () => {
- expect.assertions(3);
- const senderAppIdentityHash = '12345';
- connext['getHashLockStatus'] = jest
- .fn()
- .mockReturnValue({
- senderAppIdentityHash,
- });
- connext['sendRequest'] = jest.fn().mockReturnValue(Promise.reject());
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/reject-install',
- 'POST',
- expect.objectContaining({ appIdentityHash: senderAppIdentityHash }),
- );
- expect(result).toEqual({ state: PaymentState.Pending });
- });
-
- it('returns PaymentState.Failed when EXPIRED', async () => {
- expect.assertions(3);
- connext['getHashLockStatus'] = jest
- .fn()
- .mockReturnValue({ status: 'EXPIRED' });
- connext['sendRequest'] = jest.fn().mockReturnValue(Promise.resolve());
- const hash = '8f28fb27a164ae992fb4808b11c137d06e8e7d9304043a6b7163323f7cf53920';
- const currency = 'ETH';
- const result = await connext['lookupPayment'](hash, currency);
- expect(result).toEqual({ state: PaymentState.Failed });
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/hashlock-resolve',
- 'POST',
- expect.objectContaining({
- assetId: ETH_ASSET_ID,
- preImage: '0x',
- paymentId: '0xb2c0648834d105f3b372c6a05d11b0f19d88a8909f6315c8535e383e59991f8e',
- }),
- );
- });
-
- it('returns PaymentState.Failed when FAILED', async () => {
- expect.assertions(1);
- connext['getHashLockStatus'] = jest
- .fn()
- .mockReturnValue({ status: 'FAILED' });
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(result).toEqual({ state: PaymentState.Failed });
- });
-
- it('returns PaymentState.Pending when error is unknown', async () => {
- expect.assertions(1);
- connext['getHashLockStatus'] = jest
- .fn()
- .mockImplementation(() => {
- throw new Error('unknown error');
- });
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(result).toEqual({ state: PaymentState.Pending });
- });
-
- it('returns PaymentState.Failed when error is PAYMENT_NOT_FOUND', async () => {
- expect.assertions(1);
- connext['getHashLockStatus'] = jest
- .fn()
- .mockImplementation(() => {
- throw errors.PAYMENT_NOT_FOUND;
- });
- const result = await connext['lookupPayment']('0x12345', 'ETH');
- expect(result).toEqual({ state: PaymentState.Failed });
- });
- });
-
- describe('setReservedInboundAmount', () => {
- const amount = 50000000;
- const currency = 'ETH';
-
- beforeEach(() => {
- connext['sendRequest'] = jest.fn().mockResolvedValue(undefined);
- });
-
- it('requests collateral plus 3% buffer when we have none', async () => {
- connext['inboundAmounts'].set('ETH', 0);
- connext.setReservedInboundAmount(amount, currency);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/request-collateral',
- 'POST',
- expect.objectContaining({ assetId: ETH_ASSET_ID, amount: (amount * 1.03 * 10 ** 10).toLocaleString('fullwide', { useGrouping: false }) }),
- );
- });
-
- it('requests collateral plus 3% buffer when we have some collateral already', async () => {
- connext['inboundAmounts'].set('ETH', amount * 0.5);
- connext.setReservedInboundAmount(amount, currency);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/request-collateral',
- 'POST',
- expect.objectContaining({ assetId: ETH_ASSET_ID, amount: (amount * 1.03 * 10 ** 10).toLocaleString('fullwide', { useGrouping: false }) }),
- );
- });
-
- it('does not request collateral when we have more than enough to cover the reserved inbound amount', async () => {
- connext['inboundAmounts'].set('ETH', amount * 2);
- connext.setReservedInboundAmount(amount, currency);
- expect(connext['sendRequest']).toHaveBeenCalledTimes(0);
- });
- });
-
- describe('checkInboundCapacity', () => {
- const quantity = 20000000;
- const smallQuantity = 100;
- beforeEach(() => {
- connext['sendRequest'] = jest.fn().mockResolvedValue(undefined);
- connext['inboundAmounts'].set('ETH', 0);
- });
-
- it('requests collateral plus 5% buffer when there is none', async () => {
- expect(() => connext.checkInboundCapacity(quantity, 'ETH')).toThrowError('channel collateralization in progress, please try again in ~1 minute');
-
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/request-collateral',
- 'POST',
- expect.objectContaining({ assetId: ETH_ASSET_ID, amount: (quantity * 1.05 * 10 ** 10).toLocaleString('fullwide', { useGrouping: false }) }),
- );
- });
-
- it('does not request collateral when there is a pending request', async () => {
- connext['requestCollateralPromises'].set('ETH', Promise.resolve());
- expect(() => connext.checkInboundCapacity(quantity, 'ETH')).toThrowError('channel collateralization in progress, please try again in ~1 minute');
-
- expect(connext['sendRequest']).toHaveBeenCalledTimes(0);
- });
-
- it('requests the full collateral amount even when there is some existing collateral', async () => {
- const partialCollateral = 5000;
- connext['inboundAmounts'].set('ETH', partialCollateral);
-
- expect(() => connext.checkInboundCapacity(quantity, 'ETH')).toThrowError('channel collateralization in progress, please try again in ~1 minute');
-
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/request-collateral',
- 'POST',
- expect.objectContaining({ assetId: ETH_ASSET_ID, amount: (quantity * 1.05 * 10 ** 10).toLocaleString('fullwide', { useGrouping: false }) }),
- );
- });
-
- it('requests the hardcoded minimum if the collateral shortage is below it', async () => {
- const minCollateralRequestUnits = ConnextClient['MIN_COLLATERAL_REQUEST_SIZES']['ETH']! * 10 ** 10;
-
- expect(() => connext.checkInboundCapacity(smallQuantity, 'ETH')).toThrowError('channel collateralization in progress, please try again in ~1 minute');
-
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/request-collateral',
- 'POST',
- expect.objectContaining({ assetId: ETH_ASSET_ID, amount: minCollateralRequestUnits.toLocaleString('fullwide', { useGrouping: false }) }),
- );
- });
-
- it('requests collateral plus 5% buffer for a small shortage when there is no hardcoded minimum for the currency', async () => {
- expect(() => connext.checkInboundCapacity(smallQuantity, 'XUC')).toThrowError('channel collateralization in progress, please try again in ~1 minute');
-
- expect(connext['sendRequest']).toHaveBeenCalledTimes(1);
- expect(connext['sendRequest']).toHaveBeenCalledWith(
- '/request-collateral',
- 'POST',
- expect.objectContaining({ assetId: XUC_ASSET_ID, amount: (smallQuantity * 1.05 * 10 ** 10).toLocaleString('fullwide', { useGrouping: false }) }),
- );
- });
-
- it('does not request collateral or throw when there is sufficient collateral', async () => {
- connext['inboundAmounts'].set('ETH', quantity);
- connext.checkInboundCapacity(quantity, 'ETH');
-
- expect(connext['sendRequest']).toHaveBeenCalledTimes(0);
- });
- });
-
- describe('disconnect', () => {
- it('aborts pending requests, except critical ones', async () => {
- expect(connext['pendingRequests'].size).toEqual(0);
-
- connext['sendRequest'](connext['criticalRequestPaths'][0], '', {});
- connext['sendRequest']('/path1', '', {});
- connext['sendRequest']('/path1', '', {});
- connext['sendRequest']('/path2', '', {});
- connext['sendRequest'](connext['criticalRequestPaths'][1], '', {});
- expect(connext['pendingRequests'].size).toEqual(5);
-
- connext['disconnect']();
- expect(connext['pendingRequests'].size).toEqual(2);
- });
- });
-});
diff --git a/test/jest/__snapshots__/Connext.spec.ts.snap b/test/jest/__snapshots__/Connext.spec.ts.snap
deleted file mode 100644
index 2a720846b..000000000
--- a/test/jest/__snapshots__/Connext.spec.ts.snap
+++ /dev/null
@@ -1,19 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ConnextClient sendRequest deposit fails with 404 1`] = `
-Object {
- "code": "8.8",
- "message": "connext payment not found",
-}
-`;
-
-exports[`ConnextClient withdraw fails to withdraw all ETH 1`] = `[Error: withdrawing all ETH is not supported yet]`;
-
-exports[`ConnextClient withdraw fails when amount bigger than wallet balance 1`] = `
-Object {
- "code": "8.2",
- "message": "insufficient balance to perform request",
-}
-`;
-
-exports[`ConnextClient withdraw fails with custom fee 1`] = `[Error: setting fee for Ethereum withdrawals is not supported yet]`;
diff --git a/test/simulation/xudrpc/xudrpc.pb.go b/test/simulation/xudrpc/xudrpc.pb.go
index 2c4caacab..376c5da92 100644
--- a/test/simulation/xudrpc/xudrpc.pb.go
+++ b/test/simulation/xudrpc/xudrpc.pb.go
@@ -169,7 +169,7 @@ func (x ListOrdersRequest_Owner) String() string {
}
func (ListOrdersRequest_Owner) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{32, 0}
+ return fileDescriptor_6960a02cc0a63cf6, []int{33, 0}
}
type AddCurrencyResponse struct {
@@ -1537,6 +1537,45 @@ func (m *GetMnemonicResponse) GetSeedMnemonic() []string {
return nil
}
+type GetEthMnemonicResponse struct {
+ SeedMnemonic string `protobuf:"bytes,1,opt,name=seed_mnemonic,proto3" json:"seed_mnemonic,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GetEthMnemonicResponse) Reset() { *m = GetEthMnemonicResponse{} }
+func (m *GetEthMnemonicResponse) String() string { return proto.CompactTextString(m) }
+func (*GetEthMnemonicResponse) ProtoMessage() {}
+func (*GetEthMnemonicResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_6960a02cc0a63cf6, []int{28}
+}
+
+func (m *GetEthMnemonicResponse) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GetEthMnemonicResponse.Unmarshal(m, b)
+}
+func (m *GetEthMnemonicResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GetEthMnemonicResponse.Marshal(b, m, deterministic)
+}
+func (m *GetEthMnemonicResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GetEthMnemonicResponse.Merge(m, src)
+}
+func (m *GetEthMnemonicResponse) XXX_Size() int {
+ return xxx_messageInfo_GetEthMnemonicResponse.Size(m)
+}
+func (m *GetEthMnemonicResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_GetEthMnemonicResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetEthMnemonicResponse proto.InternalMessageInfo
+
+func (m *GetEthMnemonicResponse) GetSeedMnemonic() string {
+ if m != nil {
+ return m.SeedMnemonic
+ }
+ return ""
+}
+
type GetNodeInfoRequest struct {
// The node pub key or alias of the node for which to get information.
NodeIdentifier string `protobuf:"bytes,1,opt,name=node_identifier,proto3" json:"node_identifier,omitempty"`
@@ -1549,7 +1588,7 @@ func (m *GetNodeInfoRequest) Reset() { *m = GetNodeInfoRequest{} }
func (m *GetNodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetNodeInfoRequest) ProtoMessage() {}
func (*GetNodeInfoRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{28}
+ return fileDescriptor_6960a02cc0a63cf6, []int{29}
}
func (m *GetNodeInfoRequest) XXX_Unmarshal(b []byte) error {
@@ -1592,7 +1631,7 @@ func (m *GetNodeInfoResponse) Reset() { *m = GetNodeInfoResponse{} }
func (m *GetNodeInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetNodeInfoResponse) ProtoMessage() {}
func (*GetNodeInfoResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{29}
+ return fileDescriptor_6960a02cc0a63cf6, []int{30}
}
func (m *GetNodeInfoResponse) XXX_Unmarshal(b []byte) error {
@@ -1637,7 +1676,7 @@ func (m *ListCurrenciesRequest) Reset() { *m = ListCurrenciesRequest{} }
func (m *ListCurrenciesRequest) String() string { return proto.CompactTextString(m) }
func (*ListCurrenciesRequest) ProtoMessage() {}
func (*ListCurrenciesRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{30}
+ return fileDescriptor_6960a02cc0a63cf6, []int{31}
}
func (m *ListCurrenciesRequest) XXX_Unmarshal(b []byte) error {
@@ -1670,7 +1709,7 @@ func (m *ListCurrenciesResponse) Reset() { *m = ListCurrenciesResponse{}
func (m *ListCurrenciesResponse) String() string { return proto.CompactTextString(m) }
func (*ListCurrenciesResponse) ProtoMessage() {}
func (*ListCurrenciesResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{31}
+ return fileDescriptor_6960a02cc0a63cf6, []int{32}
}
func (m *ListCurrenciesResponse) XXX_Unmarshal(b []byte) error {
@@ -1716,7 +1755,7 @@ func (m *ListOrdersRequest) Reset() { *m = ListOrdersRequest{} }
func (m *ListOrdersRequest) String() string { return proto.CompactTextString(m) }
func (*ListOrdersRequest) ProtoMessage() {}
func (*ListOrdersRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{32}
+ return fileDescriptor_6960a02cc0a63cf6, []int{33}
}
func (m *ListOrdersRequest) XXX_Unmarshal(b []byte) error {
@@ -1777,7 +1816,7 @@ func (m *ListOrdersResponse) Reset() { *m = ListOrdersResponse{} }
func (m *ListOrdersResponse) String() string { return proto.CompactTextString(m) }
func (*ListOrdersResponse) ProtoMessage() {}
func (*ListOrdersResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{33}
+ return fileDescriptor_6960a02cc0a63cf6, []int{34}
}
func (m *ListOrdersResponse) XXX_Unmarshal(b []byte) error {
@@ -1815,7 +1854,7 @@ func (m *ListPairsRequest) Reset() { *m = ListPairsRequest{} }
func (m *ListPairsRequest) String() string { return proto.CompactTextString(m) }
func (*ListPairsRequest) ProtoMessage() {}
func (*ListPairsRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{34}
+ return fileDescriptor_6960a02cc0a63cf6, []int{35}
}
func (m *ListPairsRequest) XXX_Unmarshal(b []byte) error {
@@ -1848,7 +1887,7 @@ func (m *ListPairsResponse) Reset() { *m = ListPairsResponse{} }
func (m *ListPairsResponse) String() string { return proto.CompactTextString(m) }
func (*ListPairsResponse) ProtoMessage() {}
func (*ListPairsResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{35}
+ return fileDescriptor_6960a02cc0a63cf6, []int{36}
}
func (m *ListPairsResponse) XXX_Unmarshal(b []byte) error {
@@ -1886,7 +1925,7 @@ func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{36}
+ return fileDescriptor_6960a02cc0a63cf6, []int{37}
}
func (m *ListPeersRequest) XXX_Unmarshal(b []byte) error {
@@ -1919,7 +1958,7 @@ func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{37}
+ return fileDescriptor_6960a02cc0a63cf6, []int{38}
}
func (m *ListPeersResponse) XXX_Unmarshal(b []byte) error {
@@ -1964,7 +2003,7 @@ func (m *LndInfo) Reset() { *m = LndInfo{} }
func (m *LndInfo) String() string { return proto.CompactTextString(m) }
func (*LndInfo) ProtoMessage() {}
func (*LndInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{38}
+ return fileDescriptor_6960a02cc0a63cf6, []int{39}
}
func (m *LndInfo) XXX_Unmarshal(b []byte) error {
@@ -2048,7 +2087,7 @@ func (m *NodeIdentifier) Reset() { *m = NodeIdentifier{} }
func (m *NodeIdentifier) String() string { return proto.CompactTextString(m) }
func (*NodeIdentifier) ProtoMessage() {}
func (*NodeIdentifier) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{39}
+ return fileDescriptor_6960a02cc0a63cf6, []int{40}
}
func (m *NodeIdentifier) XXX_Unmarshal(b []byte) error {
@@ -2103,7 +2142,7 @@ func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{40}
+ return fileDescriptor_6960a02cc0a63cf6, []int{41}
}
func (m *OpenChannelRequest) XXX_Unmarshal(b []byte) error {
@@ -2171,7 +2210,7 @@ func (m *OpenChannelResponse) Reset() { *m = OpenChannelResponse{} }
func (m *OpenChannelResponse) String() string { return proto.CompactTextString(m) }
func (*OpenChannelResponse) ProtoMessage() {}
func (*OpenChannelResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{41}
+ return fileDescriptor_6960a02cc0a63cf6, []int{42}
}
func (m *OpenChannelResponse) XXX_Unmarshal(b []byte) error {
@@ -2229,7 +2268,7 @@ func (m *Order) Reset() { *m = Order{} }
func (m *Order) String() string { return proto.CompactTextString(m) }
func (*Order) ProtoMessage() {}
func (*Order) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{42}
+ return fileDescriptor_6960a02cc0a63cf6, []int{43}
}
func (m *Order) XXX_Unmarshal(b []byte) error {
@@ -2340,7 +2379,7 @@ func (m *OrderRemoval) Reset() { *m = OrderRemoval{} }
func (m *OrderRemoval) String() string { return proto.CompactTextString(m) }
func (*OrderRemoval) ProtoMessage() {}
func (*OrderRemoval) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{43}
+ return fileDescriptor_6960a02cc0a63cf6, []int{44}
}
func (m *OrderRemoval) XXX_Unmarshal(b []byte) error {
@@ -2410,7 +2449,7 @@ func (m *Orders) Reset() { *m = Orders{} }
func (m *Orders) String() string { return proto.CompactTextString(m) }
func (*Orders) ProtoMessage() {}
func (*Orders) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{44}
+ return fileDescriptor_6960a02cc0a63cf6, []int{45}
}
func (m *Orders) XXX_Unmarshal(b []byte) error {
@@ -2459,7 +2498,7 @@ func (m *OrdersCount) Reset() { *m = OrdersCount{} }
func (m *OrdersCount) String() string { return proto.CompactTextString(m) }
func (*OrdersCount) ProtoMessage() {}
func (*OrdersCount) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{45}
+ return fileDescriptor_6960a02cc0a63cf6, []int{46}
}
func (m *OrdersCount) XXX_Unmarshal(b []byte) error {
@@ -2508,7 +2547,7 @@ func (m *OrderUpdate) Reset() { *m = OrderUpdate{} }
func (m *OrderUpdate) String() string { return proto.CompactTextString(m) }
func (*OrderUpdate) ProtoMessage() {}
func (*OrderUpdate) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{46}
+ return fileDescriptor_6960a02cc0a63cf6, []int{47}
}
func (m *OrderUpdate) XXX_Unmarshal(b []byte) error {
@@ -2600,7 +2639,7 @@ func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{47}
+ return fileDescriptor_6960a02cc0a63cf6, []int{48}
}
func (m *Peer) XXX_Unmarshal(b []byte) error {
@@ -2702,7 +2741,7 @@ func (m *PlaceOrderRequest) Reset() { *m = PlaceOrderRequest{} }
func (m *PlaceOrderRequest) String() string { return proto.CompactTextString(m) }
func (*PlaceOrderRequest) ProtoMessage() {}
func (*PlaceOrderRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{48}
+ return fileDescriptor_6960a02cc0a63cf6, []int{49}
}
func (m *PlaceOrderRequest) XXX_Unmarshal(b []byte) error {
@@ -2790,7 +2829,7 @@ func (m *PlaceOrderResponse) Reset() { *m = PlaceOrderResponse{} }
func (m *PlaceOrderResponse) String() string { return proto.CompactTextString(m) }
func (*PlaceOrderResponse) ProtoMessage() {}
func (*PlaceOrderResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{49}
+ return fileDescriptor_6960a02cc0a63cf6, []int{50}
}
func (m *PlaceOrderResponse) XXX_Unmarshal(b []byte) error {
@@ -2855,7 +2894,7 @@ func (m *PlaceOrderEvent) Reset() { *m = PlaceOrderEvent{} }
func (m *PlaceOrderEvent) String() string { return proto.CompactTextString(m) }
func (*PlaceOrderEvent) ProtoMessage() {}
func (*PlaceOrderEvent) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{50}
+ return fileDescriptor_6960a02cc0a63cf6, []int{51}
}
func (m *PlaceOrderEvent) XXX_Unmarshal(b []byte) error {
@@ -2963,7 +3002,7 @@ func (m *ConnextInfo) Reset() { *m = ConnextInfo{} }
func (m *ConnextInfo) String() string { return proto.CompactTextString(m) }
func (*ConnextInfo) ProtoMessage() {}
func (*ConnextInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{51}
+ return fileDescriptor_6960a02cc0a63cf6, []int{52}
}
func (m *ConnextInfo) XXX_Unmarshal(b []byte) error {
@@ -3024,7 +3063,7 @@ func (m *RemoveCurrencyRequest) Reset() { *m = RemoveCurrencyRequest{} }
func (m *RemoveCurrencyRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveCurrencyRequest) ProtoMessage() {}
func (*RemoveCurrencyRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{52}
+ return fileDescriptor_6960a02cc0a63cf6, []int{53}
}
func (m *RemoveCurrencyRequest) XXX_Unmarshal(b []byte) error {
@@ -3062,7 +3101,7 @@ func (m *RemoveCurrencyResponse) Reset() { *m = RemoveCurrencyResponse{}
func (m *RemoveCurrencyResponse) String() string { return proto.CompactTextString(m) }
func (*RemoveCurrencyResponse) ProtoMessage() {}
func (*RemoveCurrencyResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{53}
+ return fileDescriptor_6960a02cc0a63cf6, []int{54}
}
func (m *RemoveCurrencyResponse) XXX_Unmarshal(b []byte) error {
@@ -3098,7 +3137,7 @@ func (m *RemoveOrderRequest) Reset() { *m = RemoveOrderRequest{} }
func (m *RemoveOrderRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveOrderRequest) ProtoMessage() {}
func (*RemoveOrderRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{54}
+ return fileDescriptor_6960a02cc0a63cf6, []int{55}
}
func (m *RemoveOrderRequest) XXX_Unmarshal(b []byte) error {
@@ -3152,7 +3191,7 @@ func (m *RemoveOrderResponse) Reset() { *m = RemoveOrderResponse{} }
func (m *RemoveOrderResponse) String() string { return proto.CompactTextString(m) }
func (*RemoveOrderResponse) ProtoMessage() {}
func (*RemoveOrderResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{55}
+ return fileDescriptor_6960a02cc0a63cf6, []int{56}
}
func (m *RemoveOrderResponse) XXX_Unmarshal(b []byte) error {
@@ -3211,7 +3250,7 @@ func (m *RemoveAllOrdersRequest) Reset() { *m = RemoveAllOrdersRequest{}
func (m *RemoveAllOrdersRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveAllOrdersRequest) ProtoMessage() {}
func (*RemoveAllOrdersRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{56}
+ return fileDescriptor_6960a02cc0a63cf6, []int{57}
}
func (m *RemoveAllOrdersRequest) XXX_Unmarshal(b []byte) error {
@@ -3246,7 +3285,7 @@ func (m *RemoveAllOrdersResponse) Reset() { *m = RemoveAllOrdersResponse
func (m *RemoveAllOrdersResponse) String() string { return proto.CompactTextString(m) }
func (*RemoveAllOrdersResponse) ProtoMessage() {}
func (*RemoveAllOrdersResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{57}
+ return fileDescriptor_6960a02cc0a63cf6, []int{58}
}
func (m *RemoveAllOrdersResponse) XXX_Unmarshal(b []byte) error {
@@ -3293,7 +3332,7 @@ func (m *RemovePairRequest) Reset() { *m = RemovePairRequest{} }
func (m *RemovePairRequest) String() string { return proto.CompactTextString(m) }
func (*RemovePairRequest) ProtoMessage() {}
func (*RemovePairRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{58}
+ return fileDescriptor_6960a02cc0a63cf6, []int{59}
}
func (m *RemovePairRequest) XXX_Unmarshal(b []byte) error {
@@ -3331,7 +3370,7 @@ func (m *RemovePairResponse) Reset() { *m = RemovePairResponse{} }
func (m *RemovePairResponse) String() string { return proto.CompactTextString(m) }
func (*RemovePairResponse) ProtoMessage() {}
func (*RemovePairResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{59}
+ return fileDescriptor_6960a02cc0a63cf6, []int{60}
}
func (m *RemovePairResponse) XXX_Unmarshal(b []byte) error {
@@ -3371,7 +3410,7 @@ func (m *RestoreNodeRequest) Reset() { *m = RestoreNodeRequest{} }
func (m *RestoreNodeRequest) String() string { return proto.CompactTextString(m) }
func (*RestoreNodeRequest) ProtoMessage() {}
func (*RestoreNodeRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{60}
+ return fileDescriptor_6960a02cc0a63cf6, []int{61}
}
func (m *RestoreNodeRequest) XXX_Unmarshal(b []byte) error {
@@ -3434,7 +3473,7 @@ func (m *RestoreNodeResponse) Reset() { *m = RestoreNodeResponse{} }
func (m *RestoreNodeResponse) String() string { return proto.CompactTextString(m) }
func (*RestoreNodeResponse) ProtoMessage() {}
func (*RestoreNodeResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{61}
+ return fileDescriptor_6960a02cc0a63cf6, []int{62}
}
func (m *RestoreNodeResponse) XXX_Unmarshal(b []byte) error {
@@ -3480,7 +3519,7 @@ func (m *SetLogLevelRequest) Reset() { *m = SetLogLevelRequest{} }
func (m *SetLogLevelRequest) String() string { return proto.CompactTextString(m) }
func (*SetLogLevelRequest) ProtoMessage() {}
func (*SetLogLevelRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{62}
+ return fileDescriptor_6960a02cc0a63cf6, []int{63}
}
func (m *SetLogLevelRequest) XXX_Unmarshal(b []byte) error {
@@ -3518,7 +3557,7 @@ func (m *SetLogLevelResponse) Reset() { *m = SetLogLevelResponse{} }
func (m *SetLogLevelResponse) String() string { return proto.CompactTextString(m) }
func (*SetLogLevelResponse) ProtoMessage() {}
func (*SetLogLevelResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{63}
+ return fileDescriptor_6960a02cc0a63cf6, []int{64}
}
func (m *SetLogLevelResponse) XXX_Unmarshal(b []byte) error {
@@ -3549,7 +3588,7 @@ func (m *ShutdownRequest) Reset() { *m = ShutdownRequest{} }
func (m *ShutdownRequest) String() string { return proto.CompactTextString(m) }
func (*ShutdownRequest) ProtoMessage() {}
func (*ShutdownRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{64}
+ return fileDescriptor_6960a02cc0a63cf6, []int{65}
}
func (m *ShutdownRequest) XXX_Unmarshal(b []byte) error {
@@ -3580,7 +3619,7 @@ func (m *ShutdownResponse) Reset() { *m = ShutdownResponse{} }
func (m *ShutdownResponse) String() string { return proto.CompactTextString(m) }
func (*ShutdownResponse) ProtoMessage() {}
func (*ShutdownResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{65}
+ return fileDescriptor_6960a02cc0a63cf6, []int{66}
}
func (m *ShutdownResponse) XXX_Unmarshal(b []byte) error {
@@ -3613,7 +3652,7 @@ func (m *SubscribeOrdersRequest) Reset() { *m = SubscribeOrdersRequest{}
func (m *SubscribeOrdersRequest) String() string { return proto.CompactTextString(m) }
func (*SubscribeOrdersRequest) ProtoMessage() {}
func (*SubscribeOrdersRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{66}
+ return fileDescriptor_6960a02cc0a63cf6, []int{67}
}
func (m *SubscribeOrdersRequest) XXX_Unmarshal(b []byte) error {
@@ -3651,7 +3690,7 @@ func (m *SubscribeSwapsAcceptedRequest) Reset() { *m = SubscribeSwapsAcc
func (m *SubscribeSwapsAcceptedRequest) String() string { return proto.CompactTextString(m) }
func (*SubscribeSwapsAcceptedRequest) ProtoMessage() {}
func (*SubscribeSwapsAcceptedRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{67}
+ return fileDescriptor_6960a02cc0a63cf6, []int{68}
}
func (m *SubscribeSwapsAcceptedRequest) XXX_Unmarshal(b []byte) error {
@@ -3685,7 +3724,7 @@ func (m *SubscribeSwapsRequest) Reset() { *m = SubscribeSwapsRequest{} }
func (m *SubscribeSwapsRequest) String() string { return proto.CompactTextString(m) }
func (*SubscribeSwapsRequest) ProtoMessage() {}
func (*SubscribeSwapsRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{68}
+ return fileDescriptor_6960a02cc0a63cf6, []int{69}
}
func (m *SubscribeSwapsRequest) XXX_Unmarshal(b []byte) error {
@@ -3745,7 +3784,7 @@ func (m *SwapAccepted) Reset() { *m = SwapAccepted{} }
func (m *SwapAccepted) String() string { return proto.CompactTextString(m) }
func (*SwapAccepted) ProtoMessage() {}
func (*SwapAccepted) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{69}
+ return fileDescriptor_6960a02cc0a63cf6, []int{70}
}
func (m *SwapAccepted) XXX_Unmarshal(b []byte) error {
@@ -3863,7 +3902,7 @@ func (m *SwapFailure) Reset() { *m = SwapFailure{} }
func (m *SwapFailure) String() string { return proto.CompactTextString(m) }
func (*SwapFailure) ProtoMessage() {}
func (*SwapFailure) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{70}
+ return fileDescriptor_6960a02cc0a63cf6, []int{71}
}
func (m *SwapFailure) XXX_Unmarshal(b []byte) error {
@@ -3955,7 +3994,7 @@ func (m *SwapSuccess) Reset() { *m = SwapSuccess{} }
func (m *SwapSuccess) String() string { return proto.CompactTextString(m) }
func (*SwapSuccess) ProtoMessage() {}
func (*SwapSuccess) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{71}
+ return fileDescriptor_6960a02cc0a63cf6, []int{72}
}
func (m *SwapSuccess) XXX_Unmarshal(b []byte) error {
@@ -4099,7 +4138,7 @@ func (m *Trade) Reset() { *m = Trade{} }
func (m *Trade) String() string { return proto.CompactTextString(m) }
func (*Trade) ProtoMessage() {}
func (*Trade) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{72}
+ return fileDescriptor_6960a02cc0a63cf6, []int{73}
}
func (m *Trade) XXX_Unmarshal(b []byte) error {
@@ -4202,7 +4241,7 @@ func (m *TradeHistoryRequest) Reset() { *m = TradeHistoryRequest{} }
func (m *TradeHistoryRequest) String() string { return proto.CompactTextString(m) }
func (*TradeHistoryRequest) ProtoMessage() {}
func (*TradeHistoryRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{73}
+ return fileDescriptor_6960a02cc0a63cf6, []int{74}
}
func (m *TradeHistoryRequest) XXX_Unmarshal(b []byte) error {
@@ -4241,7 +4280,7 @@ func (m *TradeHistoryResponse) Reset() { *m = TradeHistoryResponse{} }
func (m *TradeHistoryResponse) String() string { return proto.CompactTextString(m) }
func (*TradeHistoryResponse) ProtoMessage() {}
func (*TradeHistoryResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{74}
+ return fileDescriptor_6960a02cc0a63cf6, []int{75}
}
func (m *TradeHistoryResponse) XXX_Unmarshal(b []byte) error {
@@ -4287,7 +4326,7 @@ func (m *TradingLimits) Reset() { *m = TradingLimits{} }
func (m *TradingLimits) String() string { return proto.CompactTextString(m) }
func (*TradingLimits) ProtoMessage() {}
func (*TradingLimits) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{75}
+ return fileDescriptor_6960a02cc0a63cf6, []int{76}
}
func (m *TradingLimits) XXX_Unmarshal(b []byte) error {
@@ -4349,7 +4388,7 @@ func (m *TradingLimitsRequest) Reset() { *m = TradingLimitsRequest{} }
func (m *TradingLimitsRequest) String() string { return proto.CompactTextString(m) }
func (*TradingLimitsRequest) ProtoMessage() {}
func (*TradingLimitsRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{76}
+ return fileDescriptor_6960a02cc0a63cf6, []int{77}
}
func (m *TradingLimitsRequest) XXX_Unmarshal(b []byte) error {
@@ -4389,7 +4428,7 @@ func (m *TradingLimitsResponse) Reset() { *m = TradingLimitsResponse{} }
func (m *TradingLimitsResponse) String() string { return proto.CompactTextString(m) }
func (*TradingLimitsResponse) ProtoMessage() {}
func (*TradingLimitsResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{77}
+ return fileDescriptor_6960a02cc0a63cf6, []int{78}
}
func (m *TradingLimitsResponse) XXX_Unmarshal(b []byte) error {
@@ -4431,7 +4470,7 @@ func (m *UnbanRequest) Reset() { *m = UnbanRequest{} }
func (m *UnbanRequest) String() string { return proto.CompactTextString(m) }
func (*UnbanRequest) ProtoMessage() {}
func (*UnbanRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{78}
+ return fileDescriptor_6960a02cc0a63cf6, []int{79}
}
func (m *UnbanRequest) XXX_Unmarshal(b []byte) error {
@@ -4476,7 +4515,7 @@ func (m *UnbanResponse) Reset() { *m = UnbanResponse{} }
func (m *UnbanResponse) String() string { return proto.CompactTextString(m) }
func (*UnbanResponse) ProtoMessage() {}
func (*UnbanResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{79}
+ return fileDescriptor_6960a02cc0a63cf6, []int{80}
}
func (m *UnbanResponse) XXX_Unmarshal(b []byte) error {
@@ -4510,7 +4549,7 @@ func (m *UnlockNodeRequest) Reset() { *m = UnlockNodeRequest{} }
func (m *UnlockNodeRequest) String() string { return proto.CompactTextString(m) }
func (*UnlockNodeRequest) ProtoMessage() {}
func (*UnlockNodeRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{80}
+ return fileDescriptor_6960a02cc0a63cf6, []int{81}
}
func (m *UnlockNodeRequest) XXX_Unmarshal(b []byte) error {
@@ -4552,7 +4591,7 @@ func (m *UnlockNodeResponse) Reset() { *m = UnlockNodeResponse{} }
func (m *UnlockNodeResponse) String() string { return proto.CompactTextString(m) }
func (*UnlockNodeResponse) ProtoMessage() {}
func (*UnlockNodeResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{81}
+ return fileDescriptor_6960a02cc0a63cf6, []int{82}
}
func (m *UnlockNodeResponse) XXX_Unmarshal(b []byte) error {
@@ -4608,7 +4647,7 @@ func (m *WithdrawRequest) Reset() { *m = WithdrawRequest{} }
func (m *WithdrawRequest) String() string { return proto.CompactTextString(m) }
func (*WithdrawRequest) ProtoMessage() {}
func (*WithdrawRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{82}
+ return fileDescriptor_6960a02cc0a63cf6, []int{83}
}
func (m *WithdrawRequest) XXX_Unmarshal(b []byte) error {
@@ -4676,7 +4715,7 @@ func (m *WithdrawResponse) Reset() { *m = WithdrawResponse{} }
func (m *WithdrawResponse) String() string { return proto.CompactTextString(m) }
func (*WithdrawResponse) ProtoMessage() {}
func (*WithdrawResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_6960a02cc0a63cf6, []int{83}
+ return fileDescriptor_6960a02cc0a63cf6, []int{84}
}
func (m *WithdrawResponse) XXX_Unmarshal(b []byte) error {
@@ -4740,6 +4779,7 @@ func init() {
proto.RegisterMapType((map[string]*LndInfo)(nil), "xudrpc.GetInfoResponse.LndEntry")
proto.RegisterType((*GetMnemonicRequest)(nil), "xudrpc.GetMnemonicRequest")
proto.RegisterType((*GetMnemonicResponse)(nil), "xudrpc.GetMnemonicResponse")
+ proto.RegisterType((*GetEthMnemonicResponse)(nil), "xudrpc.GetEthMnemonicResponse")
proto.RegisterType((*GetNodeInfoRequest)(nil), "xudrpc.GetNodeInfoRequest")
proto.RegisterType((*GetNodeInfoResponse)(nil), "xudrpc.GetNodeInfoResponse")
proto.RegisterType((*ListCurrenciesRequest)(nil), "xudrpc.ListCurrenciesRequest")
@@ -4805,268 +4845,270 @@ func init() {
func init() { proto.RegisterFile("xudrpc.proto", fileDescriptor_6960a02cc0a63cf6) }
var fileDescriptor_6960a02cc0a63cf6 = []byte{
- // 4162 bytes of a gzipped FileDescriptorProto
+ // 4201 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x3b, 0x4d, 0x8f, 0x1c, 0x49,
- 0x56, 0x9d, 0xd5, 0x5d, 0xdd, 0xd5, 0xaf, 0x3e, 0x3b, 0xfa, 0xc3, 0xe5, 0x1a, 0xcf, 0x8c, 0x37,
- 0x18, 0x8f, 0x3c, 0x9e, 0x59, 0xdb, 0x78, 0x58, 0x66, 0xc7, 0x8b, 0x47, 0xd3, 0xdd, 0xee, 0x1d,
- 0x7b, 0xa6, 0xd7, 0xb6, 0xb2, 0xed, 0xb1, 0x59, 0xc1, 0xa6, 0xb2, 0x32, 0xc3, 0xdd, 0x89, 0xb3,
- 0x33, 0x6b, 0x32, 0xb3, 0xdc, 0x36, 0x5c, 0xd0, 0x8a, 0x13, 0x1c, 0x38, 0x20, 0xce, 0x70, 0x42,
- 0x48, 0x20, 0xae, 0x9c, 0x90, 0x38, 0x73, 0xe5, 0x00, 0x02, 0x2e, 0x48, 0xfc, 0x02, 0xc4, 0x15,
- 0x09, 0xbd, 0xf8, 0xc8, 0x88, 0xc8, 0xcc, 0xea, 0xb5, 0x57, 0xc0, 0xad, 0xe2, 0xc5, 0xcb, 0xf7,
- 0x22, 0xde, 0x57, 0xbc, 0xf7, 0x22, 0x0a, 0x7a, 0xaf, 0xe6, 0x61, 0x36, 0x0b, 0xae, 0xcf, 0xb2,
- 0xb4, 0x48, 0xc9, 0xaa, 0x18, 0x4d, 0x36, 0xfc, 0x24, 0x49, 0x0b, 0xbf, 0x88, 0xd2, 0x24, 0x17,
- 0x53, 0x74, 0x1b, 0x36, 0x77, 0xc3, 0x70, 0x7f, 0x9e, 0x65, 0x2c, 0x09, 0x5e, 0xbb, 0x2c, 0x9f,
- 0xa5, 0x49, 0xce, 0xe8, 0xcf, 0x60, 0xb0, 0x1b, 0x86, 0x8f, 0xfc, 0x28, 0x73, 0xd9, 0x77, 0x73,
- 0x96, 0x17, 0xe4, 0x03, 0xe8, 0x4f, 0xfd, 0x9c, 0x79, 0x81, 0x44, 0x1d, 0x3b, 0x97, 0x9d, 0xab,
- 0xeb, 0xae, 0x0d, 0x24, 0x1f, 0xc2, 0xe0, 0xbb, 0x79, 0x5a, 0x18, 0x68, 0x2d, 0x8e, 0x56, 0x81,
- 0xd2, 0x0d, 0x18, 0x96, 0xf4, 0x25, 0xcb, 0xbf, 0x6d, 0xc1, 0xda, 0x9e, 0x1f, 0xfb, 0x49, 0xc0,
- 0x90, 0x59, 0x91, 0x16, 0x7e, 0xec, 0x4d, 0x05, 0x80, 0x33, 0x5b, 0x71, 0x6d, 0x20, 0xb9, 0x0a,
- 0xc3, 0xe0, 0xc4, 0x4f, 0x12, 0xa6, 0xf1, 0x5a, 0x1c, 0xaf, 0x0a, 0x26, 0x3f, 0x84, 0x0b, 0x33,
- 0x96, 0x84, 0x51, 0x72, 0xec, 0x55, 0xbf, 0x58, 0xe6, 0x5f, 0x2c, 0x9a, 0x26, 0xb7, 0x61, 0x1c,
- 0x25, 0x7e, 0x50, 0x44, 0x2f, 0x59, 0xed, 0xd3, 0x15, 0xfe, 0xe9, 0xc2, 0x79, 0x14, 0xc6, 0x99,
- 0x1f, 0xc7, 0xac, 0x28, 0xbf, 0x68, 0xf3, 0x2f, 0x2a, 0x50, 0xf2, 0x05, 0x4c, 0xe6, 0x49, 0x90,
- 0x26, 0xcf, 0xa3, 0xec, 0x94, 0x85, 0x5e, 0xe5, 0x9b, 0x55, 0xfe, 0xcd, 0x39, 0x18, 0xf4, 0xd7,
- 0x01, 0xf6, 0xfc, 0x44, 0x29, 0xea, 0x2a, 0x0c, 0x93, 0x34, 0x64, 0x5e, 0x14, 0xb2, 0xa4, 0x88,
- 0x9e, 0x47, 0x2c, 0x93, 0xaa, 0xaa, 0x82, 0x69, 0x1f, 0xba, 0xfc, 0x3b, 0xa9, 0x80, 0xcf, 0xa0,
- 0xbd, 0x7f, 0xe2, 0x47, 0x09, 0xd9, 0x82, 0x76, 0x80, 0x3f, 0xe4, 0x77, 0x62, 0x40, 0xc6, 0xb0,
- 0x96, 0xb0, 0xe2, 0x2c, 0xcd, 0x5e, 0x48, 0x9d, 0xaa, 0x21, 0x9d, 0x41, 0x67, 0x5f, 0x6c, 0x3d,
- 0x27, 0x3b, 0xb0, 0x2a, 0xa4, 0xc1, 0x3f, 0xee, 0xbb, 0x72, 0x44, 0x26, 0xd0, 0x51, 0x72, 0xe2,
- 0x9f, 0xf7, 0xdd, 0x72, 0x8c, 0x94, 0xa5, 0xf8, 0xb9, 0x36, 0xfa, 0xae, 0x1a, 0x22, 0xb5, 0x20,
- 0x4e, 0x73, 0x16, 0x72, 0x59, 0xf7, 0x5d, 0x39, 0xa2, 0x1e, 0x6c, 0x23, 0xc7, 0x63, 0xf6, 0xc8,
- 0xcf, 0xf3, 0xb3, 0x34, 0x0b, 0xd5, 0xe6, 0x29, 0xf4, 0x12, 0x76, 0xe6, 0xcd, 0x24, 0x58, 0xee,
- 0xc0, 0x82, 0x21, 0x4e, 0x1a, 0x87, 0x1a, 0x47, 0xec, 0xc6, 0x82, 0xd1, 0x31, 0xec, 0x54, 0x19,
- 0x48, 0x29, 0xfd, 0x9d, 0x03, 0x9b, 0xfb, 0xb8, 0x0a, 0xb9, 0xe5, 0xb7, 0x16, 0x3b, 0x8a, 0xa2,
- 0xe2, 0x1d, 0xe5, 0x18, 0x45, 0xff, 0x3c, 0xcd, 0xa4, 0x59, 0x76, 0x5c, 0x31, 0x20, 0x97, 0xa1,
- 0x1b, 0xb2, 0xbc, 0x88, 0x12, 0xee, 0xba, 0x5c, 0x16, 0xeb, 0xae, 0x09, 0xe2, 0x62, 0x3f, 0x4d,
- 0xe7, 0x49, 0x21, 0x4d, 0x4c, 0x8e, 0xc8, 0x08, 0x96, 0x9f, 0x33, 0x65, 0x43, 0xf8, 0x93, 0x7e,
- 0x09, 0x5b, 0xf6, 0xf2, 0xc5, 0xbe, 0x70, 0xfd, 0x45, 0xe6, 0x27, 0x39, 0xea, 0x24, 0x4d, 0xbc,
- 0x28, 0xcc, 0xc7, 0xce, 0xe5, 0x65, 0x5c, 0x7f, 0x05, 0x4c, 0x3f, 0x81, 0xc1, 0x7e, 0x9a, 0x24,
- 0x2c, 0x28, 0xd4, 0xde, 0x27, 0xd0, 0xe1, 0x9b, 0x9c, 0x67, 0x91, 0xdc, 0x74, 0x39, 0x46, 0x4f,
- 0x2f, 0xb1, 0xa5, 0x08, 0x6f, 0xc0, 0xc6, 0x7e, 0xc6, 0xfc, 0x82, 0x3d, 0x48, 0x43, 0x66, 0xd0,
- 0xa8, 0x68, 0xad, 0x1c, 0xd3, 0x3f, 0x75, 0x80, 0x98, 0x5f, 0xc8, 0x25, 0xff, 0x0a, 0xf4, 0x73,
- 0xc6, 0x42, 0xef, 0x34, 0x61, 0xa7, 0x69, 0x12, 0x05, 0x72, 0xc1, 0x3d, 0x04, 0xfe, 0x44, 0xc2,
- 0xc8, 0x47, 0x30, 0x8a, 0x92, 0xa8, 0x88, 0xfc, 0x38, 0xfa, 0x5d, 0x16, 0x7a, 0x71, 0x12, 0xe6,
- 0xe3, 0x96, 0xd8, 0x98, 0x01, 0x3f, 0x4c, 0xc2, 0x9c, 0xdc, 0x80, 0x4d, 0x13, 0x35, 0xc0, 0x65,
- 0xbf, 0x2a, 0xa4, 0x2a, 0x88, 0x31, 0xb5, 0x2f, 0x66, 0xe8, 0x3f, 0x39, 0xd0, 0x51, 0xa1, 0xd3,
- 0x52, 0xab, 0x53, 0x51, 0xeb, 0x1d, 0xe8, 0xe6, 0x67, 0xfe, 0xcc, 0x0b, 0xe2, 0x88, 0x25, 0x05,
- 0xd7, 0xfa, 0xe0, 0xd6, 0x3b, 0xd7, 0x65, 0x90, 0x56, 0x24, 0xae, 0x1f, 0x9d, 0xf9, 0xb3, 0x7d,
- 0x8e, 0xe2, 0x9a, 0xf8, 0x22, 0x1c, 0xbe, 0x60, 0x89, 0xe7, 0x87, 0x61, 0xc6, 0xf2, 0x9c, 0x2f,
- 0x69, 0xdd, 0xb5, 0x81, 0x18, 0x6e, 0x42, 0x16, 0x44, 0xa7, 0x7e, 0xec, 0xcd, 0x62, 0x3f, 0x60,
- 0xb9, 0x74, 0x9a, 0x0a, 0x94, 0x52, 0x00, 0xcd, 0x88, 0xac, 0xc1, 0xf2, 0xe1, 0x83, 0xbb, 0xa3,
- 0x25, 0xd2, 0x85, 0xb5, 0xfd, 0x87, 0x0f, 0x1e, 0x1c, 0x3c, 0x7b, 0x3c, 0x6a, 0xa1, 0x8e, 0xef,
- 0xb2, 0x59, 0x9a, 0x47, 0xa6, 0x8e, 0x17, 0x6d, 0x8f, 0x7e, 0x0c, 0xc3, 0x12, 0x5b, 0xea, 0x66,
- 0x0c, 0x6b, 0x6a, 0xb1, 0x02, 0x5b, 0x0d, 0xd1, 0x00, 0xef, 0x46, 0x79, 0x90, 0xbe, 0x64, 0x19,
- 0x6a, 0x33, 0x7f, 0xfb, 0xb8, 0xf5, 0x03, 0xd8, 0xae, 0x50, 0x90, 0x4c, 0x2f, 0xc1, 0x7a, 0x32,
- 0x3f, 0xf5, 0x10, 0x3f, 0x97, 0xf1, 0x47, 0x03, 0xe8, 0x1f, 0x3a, 0x40, 0x0e, 0x5e, 0xb1, 0x60,
- 0x5e, 0x30, 0xdc, 0xbf, 0xb1, 0xb1, 0x34, 0x0b, 0x59, 0xe6, 0x45, 0xa5, 0xe1, 0xa9, 0x31, 0x8f,
- 0x4c, 0x7e, 0xc4, 0xa7, 0x64, 0xcc, 0x93, 0x43, 0x0c, 0x22, 0x33, 0xc6, 0x32, 0x6f, 0x36, 0x9f,
- 0x7a, 0x2f, 0xd8, 0x6b, 0xa9, 0x11, 0x0b, 0x86, 0x94, 0xbf, 0x9b, 0xfb, 0x49, 0x11, 0x15, 0xaf,
- 0xe5, 0x59, 0x51, 0x8e, 0xd1, 0x07, 0xbe, 0x62, 0x85, 0x3c, 0xef, 0xde, 0x44, 0xc6, 0x7f, 0xe9,
- 0x00, 0x31, 0xbf, 0x90, 0x5b, 0xbe, 0x0b, 0x1d, 0x79, 0x0c, 0x08, 0x7f, 0xed, 0xde, 0xba, 0xaa,
- 0xcc, 0xaa, 0x8e, 0x7d, 0x5d, 0x8e, 0xf3, 0x83, 0xa4, 0xc8, 0x5e, 0xbb, 0xe5, 0x97, 0x93, 0x43,
- 0xe8, 0x5b, 0x53, 0x18, 0x37, 0x70, 0x57, 0x62, 0x11, 0xf8, 0x93, 0x5c, 0x81, 0xf6, 0x4b, 0x3f,
- 0x9e, 0x8b, 0xe8, 0xdd, 0xbd, 0x35, 0x54, 0x5c, 0x14, 0x0b, 0x31, 0x7b, 0xbb, 0xf5, 0x43, 0x87,
- 0x8e, 0x60, 0xf0, 0x15, 0x2b, 0xee, 0x27, 0xcf, 0x53, 0xb9, 0x31, 0xfa, 0x2f, 0xcb, 0x30, 0x2c,
- 0x41, 0xda, 0x42, 0x5e, 0xb2, 0x2c, 0xc7, 0x80, 0x26, 0x2d, 0x44, 0x0e, 0x79, 0x10, 0x47, 0x95,
+ 0x56, 0x9d, 0xd5, 0x5d, 0xdd, 0xd5, 0xaf, 0x3e, 0xba, 0x3a, 0xfa, 0xc3, 0xe5, 0x1a, 0x8f, 0xc7,
+ 0x1b, 0x8c, 0x47, 0x1e, 0xcf, 0x8c, 0x6d, 0xbc, 0x2c, 0xb3, 0xe3, 0xc5, 0xa3, 0xe9, 0x6e, 0xd7,
+ 0xda, 0x9e, 0xe9, 0xb5, 0xad, 0x6c, 0x7b, 0x6c, 0x56, 0xb0, 0xa9, 0xac, 0xcc, 0x70, 0x77, 0xe2,
+ 0xec, 0xcc, 0x9a, 0xcc, 0x2c, 0xb7, 0x0d, 0x17, 0xb4, 0xe2, 0x04, 0x07, 0x0e, 0x88, 0x33, 0x9c,
+ 0x10, 0x12, 0x88, 0x2b, 0x27, 0xa4, 0x3d, 0x73, 0xe5, 0x80, 0x04, 0x5c, 0x90, 0xf8, 0x05, 0x88,
+ 0x2b, 0x12, 0x7a, 0xf1, 0x91, 0x11, 0x91, 0x99, 0xe5, 0xb5, 0x57, 0xc0, 0xad, 0xf2, 0xc5, 0x8b,
+ 0xf7, 0x22, 0xde, 0x77, 0xbc, 0x88, 0x82, 0xde, 0xab, 0x79, 0x98, 0xcd, 0x82, 0x6b, 0xb3, 0x2c,
+ 0x2d, 0x52, 0xb2, 0x2a, 0xbe, 0xc6, 0x9b, 0x7e, 0x92, 0xa4, 0x85, 0x5f, 0x44, 0x69, 0x92, 0x8b,
+ 0x21, 0xba, 0x03, 0x5b, 0x7b, 0x61, 0x78, 0x30, 0xcf, 0x32, 0x96, 0x04, 0xaf, 0x5d, 0x96, 0xcf,
+ 0xd2, 0x24, 0x67, 0xf4, 0x67, 0x30, 0xd8, 0x0b, 0xc3, 0x47, 0x7e, 0x94, 0xb9, 0xec, 0xbb, 0x39,
+ 0xcb, 0x0b, 0xf2, 0x21, 0xf4, 0xa7, 0x7e, 0xce, 0xbc, 0x40, 0xa2, 0x8e, 0x9c, 0x4b, 0xce, 0x95,
+ 0x75, 0xd7, 0x06, 0x92, 0x8f, 0x60, 0xf0, 0xdd, 0x3c, 0x2d, 0x0c, 0xb4, 0x16, 0x47, 0xab, 0x40,
+ 0xe9, 0x26, 0x6c, 0x94, 0xf4, 0x25, 0xcb, 0xbf, 0x6f, 0xc1, 0xda, 0xbe, 0x1f, 0xfb, 0x49, 0xc0,
+ 0x90, 0x59, 0x91, 0x16, 0x7e, 0xec, 0x4d, 0x05, 0x80, 0x33, 0x5b, 0x71, 0x6d, 0x20, 0xb9, 0x02,
+ 0x1b, 0xc1, 0x89, 0x9f, 0x24, 0x4c, 0xe3, 0xb5, 0x38, 0x5e, 0x15, 0x4c, 0x7e, 0x08, 0xe7, 0x66,
+ 0x2c, 0x09, 0xa3, 0xe4, 0xd8, 0xab, 0xce, 0x58, 0xe6, 0x33, 0x16, 0x0d, 0x93, 0x5b, 0x30, 0x8a,
+ 0x12, 0x3f, 0x28, 0xa2, 0x97, 0xac, 0x36, 0x75, 0x85, 0x4f, 0x5d, 0x38, 0x8e, 0xc2, 0x38, 0xf3,
+ 0xe3, 0x98, 0x15, 0xe5, 0x8c, 0x36, 0x9f, 0x51, 0x81, 0x92, 0x2f, 0x61, 0x3c, 0x4f, 0x82, 0x34,
+ 0x79, 0x1e, 0x65, 0xa7, 0x2c, 0xf4, 0x2a, 0x73, 0x56, 0xf9, 0x9c, 0x37, 0x60, 0xd0, 0xdf, 0x04,
+ 0xd8, 0xf7, 0x13, 0xa5, 0xa8, 0x2b, 0xb0, 0x91, 0xa4, 0x21, 0xf3, 0xa2, 0x90, 0x25, 0x45, 0xf4,
+ 0x3c, 0x62, 0x99, 0x54, 0x55, 0x15, 0x4c, 0xfb, 0xd0, 0xe5, 0xf3, 0xa4, 0x02, 0x3e, 0x87, 0xf6,
+ 0xc1, 0x89, 0x1f, 0x25, 0x64, 0x1b, 0xda, 0x01, 0xfe, 0x90, 0xf3, 0xc4, 0x07, 0x19, 0xc1, 0x5a,
+ 0xc2, 0x8a, 0xb3, 0x34, 0x7b, 0x21, 0x75, 0xaa, 0x3e, 0xe9, 0x0c, 0x3a, 0x07, 0x62, 0xeb, 0x39,
+ 0xd9, 0x85, 0x55, 0x21, 0x0d, 0x3e, 0xb9, 0xef, 0xca, 0x2f, 0x32, 0x86, 0x8e, 0x92, 0x13, 0x9f,
+ 0xde, 0x77, 0xcb, 0x6f, 0xa4, 0x2c, 0xc5, 0xcf, 0xb5, 0xd1, 0x77, 0xd5, 0x27, 0x52, 0x0b, 0xe2,
+ 0x34, 0x67, 0x21, 0x97, 0x75, 0xdf, 0x95, 0x5f, 0xd4, 0x83, 0x1d, 0xe4, 0x78, 0xcc, 0x1e, 0xf9,
+ 0x79, 0x7e, 0x96, 0x66, 0xa1, 0xda, 0x3c, 0x85, 0x5e, 0xc2, 0xce, 0xbc, 0x99, 0x04, 0xcb, 0x1d,
+ 0x58, 0x30, 0xc4, 0x49, 0xe3, 0x50, 0xe3, 0x88, 0xdd, 0x58, 0x30, 0x3a, 0x82, 0xdd, 0x2a, 0x03,
+ 0x29, 0xa5, 0x7f, 0x70, 0x60, 0xeb, 0x00, 0x57, 0x21, 0xb7, 0xfc, 0xce, 0x62, 0x47, 0x51, 0x54,
+ 0xbc, 0xa3, 0xfc, 0x46, 0xd1, 0x3f, 0x4f, 0x33, 0x69, 0x96, 0x1d, 0x57, 0x7c, 0x90, 0x4b, 0xd0,
+ 0x0d, 0x59, 0x5e, 0x44, 0x09, 0x77, 0x5d, 0x2e, 0x8b, 0x75, 0xd7, 0x04, 0x71, 0xb1, 0x9f, 0xa6,
+ 0xf3, 0xa4, 0x90, 0x26, 0x26, 0xbf, 0xc8, 0x10, 0x96, 0x9f, 0x33, 0x65, 0x43, 0xf8, 0x93, 0x7e,
+ 0x05, 0xdb, 0xf6, 0xf2, 0xc5, 0xbe, 0x70, 0xfd, 0x45, 0xe6, 0x27, 0x39, 0xea, 0x24, 0x4d, 0xbc,
+ 0x28, 0xcc, 0x47, 0xce, 0xa5, 0x65, 0x5c, 0x7f, 0x05, 0x4c, 0x3f, 0x85, 0xc1, 0x41, 0x9a, 0x24,
+ 0x2c, 0x28, 0xd4, 0xde, 0xc7, 0xd0, 0xe1, 0x9b, 0x9c, 0x67, 0x91, 0xdc, 0x74, 0xf9, 0x8d, 0x9e,
+ 0x5e, 0x62, 0x4b, 0x11, 0x5e, 0x87, 0xcd, 0x83, 0x8c, 0xf9, 0x05, 0x7b, 0x90, 0x86, 0xcc, 0xa0,
+ 0x51, 0xd1, 0x5a, 0xf9, 0x4d, 0xff, 0xdc, 0x01, 0x62, 0xce, 0x90, 0x4b, 0xfe, 0x35, 0xe8, 0xe7,
+ 0x8c, 0x85, 0xde, 0x69, 0xc2, 0x4e, 0xd3, 0x24, 0x0a, 0xe4, 0x82, 0x7b, 0x08, 0xfc, 0x89, 0x84,
+ 0x91, 0x8f, 0x61, 0x18, 0x25, 0x51, 0x11, 0xf9, 0x71, 0xf4, 0xfb, 0x2c, 0xf4, 0xe2, 0x24, 0xcc,
+ 0x47, 0x2d, 0xb1, 0x31, 0x03, 0x7e, 0x98, 0x84, 0x39, 0xb9, 0x0e, 0x5b, 0x26, 0x6a, 0x80, 0xcb,
+ 0x7e, 0x55, 0x48, 0x55, 0x10, 0x63, 0xe8, 0x40, 0x8c, 0xd0, 0x7f, 0x76, 0xa0, 0xa3, 0x42, 0xa7,
+ 0xa5, 0x56, 0xa7, 0xa2, 0xd6, 0xdb, 0xd0, 0xcd, 0xcf, 0xfc, 0x99, 0x17, 0xc4, 0x11, 0x4b, 0x0a,
+ 0xae, 0xf5, 0xc1, 0xcd, 0xf7, 0xae, 0xc9, 0x20, 0xad, 0x48, 0x5c, 0x3b, 0x3a, 0xf3, 0x67, 0x07,
+ 0x1c, 0xc5, 0x35, 0xf1, 0x45, 0x38, 0x7c, 0xc1, 0x12, 0xcf, 0x0f, 0xc3, 0x8c, 0xe5, 0x39, 0x5f,
+ 0xd2, 0xba, 0x6b, 0x03, 0x31, 0xdc, 0x84, 0x2c, 0x88, 0x4e, 0xfd, 0xd8, 0x9b, 0xc5, 0x7e, 0xc0,
+ 0x72, 0xe9, 0x34, 0x15, 0x28, 0xa5, 0x00, 0x9a, 0x11, 0x59, 0x83, 0xe5, 0xc3, 0x07, 0x77, 0x86,
+ 0x4b, 0xa4, 0x0b, 0x6b, 0x07, 0x0f, 0x1f, 0x3c, 0x98, 0x3c, 0x7b, 0x3c, 0x6c, 0xa1, 0x8e, 0xef,
+ 0xb0, 0x59, 0x9a, 0x47, 0xa6, 0x8e, 0x17, 0x6d, 0x8f, 0x7e, 0x02, 0x1b, 0x25, 0xb6, 0xd4, 0xcd,
+ 0x08, 0xd6, 0xd4, 0x62, 0x05, 0xb6, 0xfa, 0x44, 0x03, 0xbc, 0x13, 0xe5, 0x41, 0xfa, 0x92, 0x65,
+ 0xa8, 0xcd, 0xfc, 0xdd, 0xe3, 0xd6, 0x0f, 0x60, 0xa7, 0x42, 0x41, 0x32, 0xbd, 0x00, 0xeb, 0xc9,
+ 0xfc, 0xd4, 0x43, 0xfc, 0x5c, 0xc6, 0x1f, 0x0d, 0xa0, 0x7f, 0xec, 0x00, 0x99, 0xbc, 0x62, 0xc1,
+ 0xbc, 0x60, 0xb8, 0x7f, 0x63, 0x63, 0x69, 0x16, 0xb2, 0xcc, 0x8b, 0x4a, 0xc3, 0x53, 0xdf, 0x3c,
+ 0x32, 0xf9, 0x11, 0x1f, 0x92, 0x31, 0x4f, 0x7e, 0x62, 0x10, 0x99, 0x31, 0x96, 0x79, 0xb3, 0xf9,
+ 0xd4, 0x7b, 0xc1, 0x5e, 0x4b, 0x8d, 0x58, 0x30, 0xa4, 0xfc, 0xdd, 0xdc, 0x4f, 0x8a, 0xa8, 0x78,
+ 0x2d, 0x73, 0x45, 0xf9, 0x8d, 0x3e, 0x70, 0x97, 0x15, 0x32, 0xdf, 0xbd, 0x8d, 0x8c, 0xff, 0xda,
+ 0x01, 0x62, 0xce, 0x90, 0x5b, 0xbe, 0x03, 0x1d, 0x99, 0x06, 0x84, 0xbf, 0x76, 0x6f, 0x5e, 0x51,
+ 0x66, 0x55, 0xc7, 0xbe, 0x26, 0xbf, 0xf3, 0x49, 0x52, 0x64, 0xaf, 0xdd, 0x72, 0xe6, 0xf8, 0x10,
+ 0xfa, 0xd6, 0x10, 0xc6, 0x0d, 0xdc, 0x95, 0x58, 0x04, 0xfe, 0x24, 0x97, 0xa1, 0xfd, 0xd2, 0x8f,
+ 0xe7, 0x22, 0x7a, 0x77, 0x6f, 0x6e, 0x28, 0x2e, 0x8a, 0x85, 0x18, 0xbd, 0xd5, 0xfa, 0xa1, 0x43,
+ 0x87, 0x30, 0xb8, 0xcb, 0x8a, 0xfb, 0xc9, 0xf3, 0x54, 0x6e, 0x8c, 0xfe, 0xcb, 0x32, 0x6c, 0x94,
+ 0x20, 0x6d, 0x21, 0x2f, 0x59, 0x96, 0x63, 0x40, 0x93, 0x16, 0x22, 0x3f, 0x79, 0x10, 0x47, 0x95,
0x2b, 0xd9, 0xca, 0x00, 0x6d, 0xc2, 0x08, 0x81, 0x95, 0x79, 0x16, 0xa1, 0x27, 0xa0, 0x2b, 0xf3,
- 0xdf, 0x4a, 0xfd, 0xa8, 0x03, 0x65, 0xfb, 0x1a, 0x50, 0xce, 0xfa, 0x51, 0x96, 0xf3, 0x28, 0xa9,
- 0x66, 0x11, 0x40, 0x3e, 0x86, 0x55, 0xae, 0xf5, 0x9c, 0xc7, 0xca, 0xee, 0xad, 0x4d, 0xb5, 0xbf,
- 0x87, 0x1c, 0xba, 0x8f, 0xd1, 0xd4, 0x95, 0x28, 0xe4, 0x16, 0x2c, 0xc7, 0x49, 0x38, 0x5e, 0xe3,
- 0xf2, 0xbe, 0x6c, 0xc8, 0xdb, 0xdc, 0xe0, 0xf5, 0xc3, 0x24, 0x14, 0x72, 0x46, 0x64, 0x8c, 0xec,
- 0x7e, 0x1c, 0xf9, 0xf9, 0x78, 0x5d, 0x1c, 0xaa, 0x7c, 0x60, 0x1e, 0xaa, 0x60, 0x1d, 0xaa, 0xe4,
- 0x26, 0x6c, 0xaa, 0x9c, 0x84, 0x87, 0x82, 0x13, 0x3f, 0x3f, 0x61, 0xf9, 0xb8, 0xcb, 0xf7, 0xdb,
- 0x34, 0x45, 0xbe, 0x0f, 0x6b, 0x2a, 0x64, 0xf5, 0xec, 0x3d, 0xc8, 0x78, 0xc5, 0x57, 0xa7, 0x70,
- 0x26, 0x5f, 0x41, 0x47, 0xad, 0xf0, 0x2d, 0xd4, 0x7d, 0x98, 0x84, 0x9c, 0x8c, 0xa1, 0xee, 0x2d,
- 0x6e, 0x98, 0x2a, 0xe0, 0x2a, 0x95, 0xff, 0x08, 0x36, 0x2d, 0xa8, 0xd4, 0xfa, 0x07, 0xcd, 0x31,
- 0xdb, 0x06, 0xd2, 0x2f, 0x38, 0x49, 0x74, 0x6e, 0xc3, 0x8a, 0xde, 0x22, 0x42, 0xb8, 0x9c, 0xb9,
- 0xfe, 0xbe, 0x3c, 0x30, 0x86, 0x19, 0x9b, 0xcd, 0x45, 0x06, 0x7c, 0x14, 0xa4, 0x99, 0xc8, 0x52,
- 0x36, 0x5c, 0xd0, 0x60, 0x3c, 0x4a, 0xa7, 0x78, 0x34, 0x0a, 0x97, 0xef, 0xb8, 0x72, 0x44, 0x2f,
- 0xc0, 0xf6, 0x61, 0x94, 0x17, 0x32, 0x58, 0x47, 0x65, 0xe0, 0xa2, 0x5f, 0xc3, 0x4e, 0x75, 0x42,
- 0xf2, 0xbb, 0x09, 0x10, 0x94, 0x50, 0xe9, 0x9e, 0xa3, 0x6a, 0xd4, 0x77, 0x0d, 0x1c, 0xfa, 0x0f,
- 0x0e, 0x6c, 0x20, 0x31, 0x61, 0x75, 0x6a, 0xe3, 0x46, 0x18, 0x72, 0xec, 0x30, 0xf4, 0x03, 0x68,
- 0xa7, 0x67, 0x09, 0xcb, 0xe4, 0x91, 0xf2, 0x7e, 0xa9, 0xa6, 0x2a, 0x8d, 0xeb, 0x0f, 0x11, 0xcd,
- 0x15, 0xd8, 0x68, 0x8c, 0x71, 0x74, 0x1a, 0x15, 0x32, 0xdf, 0x12, 0x03, 0x94, 0x6f, 0x94, 0x04,
- 0xf1, 0x3c, 0x64, 0x1e, 0xb7, 0x4e, 0x79, 0x82, 0x74, 0xdc, 0x2a, 0x98, 0x7e, 0x00, 0x6d, 0x4e,
- 0x8f, 0x74, 0x60, 0x65, 0xef, 0xe1, 0xe3, 0x7b, 0xa3, 0x25, 0x3c, 0x47, 0x1e, 0x3e, 0x7d, 0x30,
- 0x72, 0x10, 0xf4, 0xe8, 0xe0, 0xc0, 0x1d, 0xb5, 0xe8, 0x9f, 0x39, 0x40, 0xcc, 0x85, 0x48, 0xa9,
- 0x7c, 0x51, 0xba, 0x9a, 0x90, 0xc8, 0x87, 0x4d, 0x8b, 0x96, 0x3e, 0x24, 0x86, 0xc2, 0x8d, 0xe4,
- 0x57, 0x93, 0xfb, 0xd0, 0x35, 0xc0, 0x0d, 0xb6, 0xfb, 0x81, 0x6d, 0xbb, 0x03, 0xdb, 0x95, 0x4d,
- 0xd3, 0x25, 0x30, 0x42, 0xa6, 0x58, 0x87, 0x94, 0xea, 0xfc, 0x48, 0x68, 0x40, 0xc2, 0xe4, 0x9a,
- 0xb7, 0xa0, 0x2d, 0x02, 0x87, 0x30, 0x57, 0x31, 0x28, 0x3f, 0x67, 0x5a, 0xce, 0xf4, 0x33, 0xf9,
- 0x39, 0x33, 0xb7, 0x4c, 0xa1, 0x2d, 0xa2, 0x92, 0xd8, 0x71, 0x4f, 0xad, 0x08, 0xb1, 0x5c, 0x31,
- 0x45, 0xff, 0xcd, 0x81, 0x35, 0xe9, 0x5d, 0x68, 0x83, 0x79, 0xe1, 0x17, 0x73, 0x75, 0x78, 0xca,
- 0x11, 0xf9, 0x04, 0x3a, 0xb2, 0xc8, 0xc8, 0xe5, 0xe6, 0xb4, 0x39, 0x49, 0xb8, 0x5b, 0x62, 0x90,
- 0x2b, 0xb0, 0xca, 0x53, 0x77, 0x11, 0x25, 0xbb, 0xb7, 0xfa, 0x06, 0x6e, 0x94, 0xb8, 0x72, 0x12,
- 0xb3, 0xcb, 0x69, 0x9c, 0x06, 0x2f, 0x4e, 0x58, 0x74, 0x7c, 0x52, 0xc8, 0xc0, 0x69, 0x82, 0xca,
- 0x60, 0xdb, 0x36, 0x82, 0xad, 0x11, 0xbe, 0x57, 0xed, 0xf0, 0x5d, 0x46, 0xba, 0x35, 0x23, 0xd2,
- 0xd1, 0xaf, 0x61, 0xc0, 0xfd, 0x51, 0xe7, 0xc1, 0xd5, 0x30, 0xef, 0x34, 0x84, 0xf9, 0x92, 0x56,
- 0xcb, 0xa4, 0xf5, 0x17, 0x0e, 0x90, 0x87, 0x33, 0x96, 0xfc, 0x9f, 0xa4, 0xe0, 0x3a, 0x95, 0x5e,
- 0xb6, 0x52, 0xe9, 0xcb, 0xd0, 0x9d, 0xcd, 0xf3, 0x13, 0x4f, 0x4e, 0x8a, 0x03, 0xdd, 0x04, 0xa9,
- 0x64, 0xbb, 0xad, 0x93, 0xed, 0x3b, 0xb0, 0x69, 0xad, 0x53, 0x9a, 0xc3, 0x87, 0x30, 0xb0, 0x93,
- 0x6a, 0xb9, 0xce, 0x0a, 0x94, 0xfe, 0x7d, 0x0b, 0xda, 0xdc, 0x68, 0xb9, 0xfd, 0x65, 0x91, 0x2c,
- 0x84, 0x1d, 0x57, 0x0c, 0xac, 0x04, 0xa3, 0x65, 0x27, 0x18, 0x66, 0xcc, 0x58, 0xb6, 0x63, 0xc6,
- 0x00, 0x5a, 0x51, 0x28, 0x8b, 0x88, 0x56, 0x14, 0x92, 0x2f, 0xeb, 0x62, 0x6b, 0x73, 0xdb, 0xda,
- 0x51, 0xf6, 0x62, 0x2b, 0xae, 0x51, 0x9c, 0x71, 0x1a, 0xf8, 0x31, 0x32, 0x13, 0xc6, 0x50, 0x8e,
- 0xc9, 0x7b, 0x00, 0x01, 0x4f, 0xdd, 0x43, 0xcf, 0x2f, 0xb8, 0x49, 0xac, 0xb8, 0x06, 0x84, 0x5c,
- 0x81, 0x95, 0x3c, 0x0a, 0xd9, 0xb8, 0xc3, 0x03, 0xd8, 0x86, 0xe5, 0xab, 0x47, 0x51, 0xc8, 0x5c,
- 0x3e, 0x8d, 0xc6, 0x12, 0xe5, 0x5e, 0x7a, 0x96, 0x78, 0x3c, 0x0a, 0xf0, 0x53, 0xb4, 0xe3, 0x5a,
- 0x30, 0x34, 0xd3, 0x93, 0x34, 0x0e, 0xf9, 0x49, 0xba, 0xe2, 0xf2, 0xdf, 0xf4, 0xcf, 0x1d, 0xe8,
- 0x71, 0x5a, 0x2e, 0x3b, 0x4d, 0x5f, 0xfa, 0xb1, 0x25, 0x33, 0x67, 0xb1, 0xcc, 0x2a, 0xe9, 0x9e,
- 0x99, 0x24, 0x2e, 0x57, 0x92, 0x44, 0x73, 0xf7, 0x2b, 0x95, 0xdd, 0x57, 0x97, 0xdd, 0xae, 0x2f,
- 0x9b, 0x9e, 0xc0, 0xaa, 0x88, 0x4c, 0xe4, 0xfb, 0x00, 0xd3, 0xf9, 0x6b, 0xcf, 0x8a, 0x8e, 0x7d,
- 0x4b, 0x22, 0xae, 0x81, 0x40, 0x6e, 0x40, 0x37, 0x67, 0x71, 0xac, 0xf0, 0x5b, 0x4d, 0xf8, 0x26,
- 0x06, 0xfd, 0x54, 0x45, 0x4e, 0x9e, 0xce, 0xa0, 0xbc, 0x30, 0xf4, 0xc8, 0x4c, 0x99, 0xff, 0x46,
- 0x1b, 0x4e, 0xcf, 0x12, 0x59, 0xa2, 0xe3, 0x4f, 0xfa, 0x73, 0x47, 0x7e, 0xf5, 0x64, 0x16, 0xfa,
- 0x05, 0xc3, 0xcc, 0x40, 0xec, 0xc5, 0xe1, 0x46, 0x62, 0xf3, 0xbb, 0xb7, 0xe4, 0x8a, 0x59, 0xf2,
- 0x1b, 0xd0, 0x17, 0x12, 0xca, 0x84, 0xe0, 0x65, 0xbc, 0xda, 0xb2, 0x97, 0x27, 0xe6, 0xee, 0x2d,
- 0xb9, 0x36, 0xf2, 0xde, 0x00, 0x7a, 0x02, 0x30, 0xe7, 0x4c, 0xe9, 0xbf, 0xb6, 0x60, 0x05, 0x83,
- 0xe5, 0xe2, 0xba, 0xe2, 0x8d, 0xb2, 0xc6, 0x2f, 0xa1, 0x17, 0x27, 0xa1, 0x1a, 0xaa, 0xb8, 0x78,
- 0xc9, 0x0c, 0xc7, 0x98, 0xe1, 0x3c, 0x9a, 0x4f, 0xbf, 0x61, 0xaf, 0xe5, 0xb1, 0x63, 0x7d, 0x81,
- 0xfc, 0xa3, 0x64, 0x9a, 0xce, 0x93, 0x50, 0x9e, 0x8d, 0x6a, 0xa8, 0x8f, 0x88, 0xb6, 0x71, 0x44,
- 0x60, 0xd4, 0x78, 0x35, 0x0f, 0x3d, 0x3b, 0x54, 0x9a, 0x20, 0xf2, 0x09, 0x6c, 0xe4, 0x2c, 0x48,
- 0x93, 0x30, 0x17, 0x15, 0x67, 0x50, 0xb0, 0x90, 0xfb, 0x49, 0xdf, 0xad, 0x4f, 0x34, 0xa7, 0x91,
- 0x93, 0x3b, 0x30, 0xac, 0x2c, 0xbb, 0xe1, 0x58, 0xdc, 0x32, 0x8f, 0xc5, 0x75, 0xf3, 0x18, 0xfc,
- 0xfd, 0x16, 0x6c, 0x3c, 0xc2, 0xe2, 0x50, 0x2a, 0x45, 0x84, 0xd3, 0xff, 0xcd, 0x98, 0x63, 0xfa,
- 0xcf, 0x4a, 0xc5, 0x7f, 0x54, 0x04, 0x68, 0x9f, 0x1f, 0x01, 0xae, 0xc1, 0x28, 0x63, 0xbc, 0x84,
- 0xf5, 0x4a, 0x52, 0x42, 0x9c, 0x35, 0x38, 0x26, 0xcf, 0xd1, 0xe9, 0x29, 0x0b, 0x23, 0xbf, 0x40,
- 0xa8, 0x17, 0x60, 0x89, 0x12, 0x73, 0xa9, 0x76, 0xdc, 0xa6, 0x29, 0x14, 0x01, 0x31, 0x45, 0x20,
- 0x23, 0xf5, 0xe7, 0x30, 0x8a, 0x92, 0x82, 0x65, 0x89, 0x1f, 0x7b, 0xa7, 0x7e, 0x11, 0x9c, 0xb0,
- 0x05, 0x7e, 0x59, 0x43, 0x23, 0x3f, 0x82, 0x01, 0xcf, 0xce, 0xf3, 0x79, 0x10, 0xb0, 0x1c, 0x93,
- 0x29, 0xe1, 0xa0, 0x65, 0x56, 0x8e, 0x45, 0xe8, 0x91, 0x98, 0x74, 0x2b, 0xa8, 0xe4, 0x33, 0xcc,
- 0x54, 0x4f, 0xfd, 0x28, 0xc1, 0x24, 0x5f, 0xb8, 0xdb, 0x72, 0x83, 0xbb, 0xb9, 0x55, 0x2c, 0xf2,
- 0x39, 0xf4, 0x39, 0xa9, 0xe7, 0x7e, 0x14, 0xcf, 0x33, 0x9e, 0xc1, 0xd5, 0x98, 0xfe, 0x58, 0xcc,
- 0xb9, 0x36, 0x26, 0xfd, 0x4f, 0x07, 0x86, 0x5a, 0x04, 0x07, 0x2f, 0x59, 0x82, 0xd1, 0xb9, 0xcd,
- 0xf7, 0xb3, 0xd0, 0xd9, 0xf9, 0x2c, 0xf9, 0x1c, 0x7a, 0xe6, 0x06, 0xa4, 0xaf, 0x37, 0xed, 0xf4,
- 0xde, 0x92, 0x6b, 0xa1, 0x92, 0xcf, 0xdf, 0x6c, 0xa7, 0xf7, 0x96, 0x9a, 0xf6, 0xda, 0x33, 0x77,
- 0xc0, 0x0d, 0xab, 0x79, 0xab, 0x25, 0x57, 0x89, 0xba, 0xb7, 0x06, 0x6d, 0x86, 0x1b, 0xa4, 0x29,
- 0x74, 0x8d, 0xea, 0x68, 0x61, 0xe2, 0x65, 0x84, 0x9d, 0x96, 0x1d, 0x76, 0x8c, 0x3c, 0x68, 0xa5,
- 0x96, 0x07, 0x89, 0x36, 0x6a, 0xdb, 0x68, 0xa3, 0xd2, 0x4f, 0x61, 0x9b, 0x47, 0x3d, 0xa6, 0x7b,
- 0xee, 0xbf, 0xb8, 0xf8, 0x1f, 0xc3, 0x4e, 0xf5, 0x23, 0xd9, 0x4b, 0x3b, 0x04, 0x22, 0x66, 0x2c,
- 0xd7, 0x3d, 0xaf, 0xa7, 0x71, 0x8e, 0x03, 0xd3, 0xbf, 0x72, 0x60, 0xd3, 0x22, 0x27, 0xdd, 0xe0,
- 0x3d, 0x18, 0x29, 0x1c, 0x2f, 0x4d, 0x3c, 0x7e, 0xca, 0x3a, 0xfa, 0x94, 0x25, 0xd7, 0x81, 0x68,
- 0xe5, 0x54, 0xa8, 0x37, 0xcc, 0x08, 0x5f, 0x46, 0x36, 0xa1, 0xc6, 0x16, 0xd9, 0x56, 0x0d, 0x6e,
- 0x06, 0x95, 0x15, 0x2b, 0xa8, 0x68, 0xa9, 0xec, 0xc6, 0xb1, 0x55, 0xec, 0xd0, 0x39, 0x5c, 0xa8,
- 0xcd, 0xc8, 0xad, 0x7c, 0x02, 0x1b, 0x8a, 0x85, 0x12, 0x89, 0xca, 0xea, 0xeb, 0x13, 0x88, 0x2d,
- 0xf7, 0x6b, 0x60, 0x8b, 0xf6, 0x61, 0x7d, 0x82, 0x7e, 0x1f, 0x36, 0x04, 0x5b, 0xf3, 0xe2, 0x64,
- 0x61, 0xf1, 0x86, 0x85, 0xb3, 0x89, 0x2e, 0x35, 0xfa, 0x07, 0x2d, 0x04, 0xe7, 0x45, 0x9a, 0x59,
- 0xfd, 0xd1, 0x37, 0x6a, 0x76, 0x9a, 0x4d, 0xd4, 0x96, 0xdd, 0x44, 0x25, 0xdf, 0x40, 0x17, 0x4f,
- 0xb2, 0xa9, 0x1f, 0xbc, 0x98, 0xcf, 0xd4, 0xd1, 0x77, 0x4d, 0x39, 0x4b, 0x9d, 0x23, 0x1e, 0x84,
- 0x7b, 0x02, 0x59, 0x1c, 0x84, 0x10, 0x97, 0x00, 0xf2, 0x3d, 0x7e, 0xc3, 0xe4, 0x85, 0x7e, 0xe1,
- 0x4f, 0xfd, 0x5c, 0x34, 0x98, 0x7b, 0xfc, 0x5c, 0xbb, 0x2b, 0x41, 0xf2, 0x4c, 0x32, 0x29, 0xfc,
- 0xa2, 0x33, 0xa9, 0x67, 0x9e, 0x49, 0x0c, 0x2d, 0xd1, 0x58, 0x93, 0xee, 0xf9, 0x66, 0x02, 0x2c,
- 0x7b, 0xb9, 0x52, 0x0c, 0x0a, 0xc8, 0x1b, 0xb9, 0x1f, 0xa1, 0x79, 0x49, 0x24, 0xd5, 0x12, 0x11,
- 0xc5, 0xfc, 0x50, 0xc1, 0x55, 0x0b, 0xf7, 0x2e, 0x90, 0x23, 0x56, 0x1c, 0xa6, 0xc7, 0x87, 0xec,
- 0xa5, 0xae, 0x24, 0xae, 0xc3, 0x7a, 0x9c, 0x1e, 0x7b, 0x31, 0xc2, 0xf8, 0x72, 0x07, 0xba, 0xd0,
- 0x2a, 0x71, 0x35, 0x0a, 0xdd, 0x86, 0x4d, 0x8b, 0x8a, 0x54, 0xe5, 0x06, 0x0c, 0x8f, 0x4e, 0xe6,
- 0x45, 0x98, 0x9e, 0xa9, 0xdb, 0x19, 0x2c, 0x19, 0x35, 0x48, 0xa2, 0xfd, 0x1a, 0xec, 0x1c, 0xcd,
- 0xa7, 0x79, 0x90, 0x45, 0x53, 0x66, 0x17, 0xfe, 0x13, 0xe8, 0xb0, 0x57, 0x51, 0x5e, 0x44, 0xc9,
- 0x31, 0x5f, 0x46, 0xc7, 0x2d, 0xc7, 0xf4, 0x7d, 0x78, 0xb7, 0xfc, 0x0a, 0x43, 0x5d, 0xbe, 0x1b,
- 0x04, 0x6c, 0x56, 0x30, 0x75, 0x17, 0x42, 0xef, 0xc0, 0xb6, 0x8d, 0x60, 0x5c, 0xe5, 0xa9, 0x82,
- 0xbe, 0xf0, 0x5f, 0xc8, 0x4c, 0xae, 0xe3, 0xda, 0x40, 0xfa, 0xdf, 0x2d, 0xe8, 0xe1, 0x67, 0x8a,
- 0x2c, 0xb9, 0x58, 0x0b, 0x2a, 0x6b, 0x7c, 0x7c, 0xdf, 0x4e, 0x81, 0x5b, 0x95, 0x14, 0xf8, 0xdc,
- 0xa4, 0x60, 0x51, 0x7f, 0x54, 0x27, 0x1f, 0x6d, 0x33, 0xf9, 0xa8, 0x76, 0x5d, 0x57, 0x1b, 0xba,
- 0xae, 0x3b, 0xb0, 0x9a, 0xf1, 0x96, 0x98, 0xac, 0x3f, 0xe5, 0x08, 0x63, 0x8e, 0xa8, 0xd3, 0xbc,
- 0x8c, 0x05, 0x2c, 0x7a, 0x89, 0x32, 0xed, 0x88, 0x98, 0x53, 0x85, 0x63, 0x81, 0x26, 0x61, 0xb9,
- 0xbc, 0x98, 0x5a, 0x17, 0x37, 0x77, 0x36, 0x14, 0xe3, 0x9e, 0x8a, 0xd1, 0x06, 0x55, 0xd1, 0xc9,
- 0x6b, 0x98, 0xc1, 0x35, 0x94, 0x50, 0x45, 0xb9, 0x2b, 0x72, 0x98, 0x2a, 0x1c, 0x63, 0x71, 0xd7,
- 0x38, 0xc2, 0x7e, 0xc9, 0x3e, 0xb5, 0x29, 0xe3, 0xe5, 0x8a, 0x8c, 0xab, 0xd2, 0x5c, 0x69, 0x90,
- 0xe6, 0x87, 0x30, 0x90, 0x67, 0xa6, 0x97, 0x31, 0x3f, 0x4f, 0xd5, 0x69, 0x56, 0x81, 0xd2, 0xbf,
- 0x59, 0x16, 0xab, 0x95, 0xc7, 0xfc, 0xff, 0xaf, 0xb1, 0x68, 0x95, 0xb7, 0x2d, 0x95, 0x5f, 0x85,
- 0xa1, 0xa5, 0x5a, 0x16, 0x4a, 0x8d, 0x57, 0xc1, 0x98, 0xa6, 0x6b, 0xd5, 0x16, 0x52, 0xdb, 0x26,
- 0xa8, 0x26, 0x2c, 0x68, 0x10, 0xd6, 0x65, 0x58, 0xc9, 0xd2, 0x98, 0x71, 0x95, 0x0e, 0x74, 0x97,
- 0xc7, 0x4d, 0x63, 0xe6, 0xf2, 0x19, 0x3c, 0x4f, 0x2a, 0x66, 0xc1, 0x42, 0xde, 0xad, 0x5d, 0x77,
- 0xeb, 0x13, 0xe8, 0xa8, 0xa6, 0x59, 0x14, 0xe3, 0xbe, 0xb8, 0xf7, 0xb1, 0x80, 0x58, 0x61, 0x67,
- 0xde, 0x2c, 0x63, 0xd1, 0xa9, 0x7f, 0xcc, 0xc6, 0x03, 0x8e, 0x62, 0x40, 0xb4, 0x2b, 0x0d, 0x0d,
- 0x57, 0xa2, 0xff, 0xd5, 0x82, 0xf6, 0xe3, 0xcc, 0x0f, 0x19, 0x96, 0x91, 0xa7, 0xe8, 0xf1, 0xde,
- 0xe2, 0xb2, 0xce, 0x35, 0x31, 0xf0, 0x83, 0xc2, 0xf8, 0xa0, 0xd5, 0xf8, 0x81, 0x81, 0x61, 0xe8,
- 0x67, 0xd9, 0xd2, 0xcf, 0x79, 0x3a, 0x35, 0x2c, 0xa1, 0x6d, 0x5b, 0x42, 0xb9, 0x9f, 0x55, 0x33,
- 0x34, 0x28, 0xd9, 0xaf, 0x2d, 0x94, 0xfd, 0x65, 0xe8, 0x32, 0x71, 0xfd, 0xc3, 0x5b, 0x11, 0xc2,
- 0x12, 0x4c, 0x50, 0x59, 0x89, 0xac, 0x9f, 0x5f, 0x89, 0xdc, 0x86, 0x5e, 0x80, 0x86, 0xc1, 0xb2,
- 0x99, 0x9f, 0x15, 0xc2, 0x14, 0x16, 0x77, 0x4b, 0x2c, 0x5c, 0xfa, 0x31, 0x6c, 0x72, 0xa9, 0xdf,
- 0x8b, 0xf0, 0x1c, 0x7a, 0x6d, 0xd4, 0x5a, 0xa2, 0x21, 0xeb, 0x18, 0x0d, 0x59, 0x7a, 0x07, 0xb6,
- 0x6c, 0x64, 0x79, 0x08, 0x5e, 0x81, 0xd5, 0x02, 0xe1, 0xb5, 0x5a, 0x84, 0x63, 0xbb, 0x72, 0x92,
- 0xfe, 0xb1, 0x03, 0x7d, 0x84, 0x44, 0xc9, 0xf1, 0x21, 0xd2, 0xcb, 0x51, 0xe0, 0xa7, 0xfe, 0x2b,
- 0x2f, 0x67, 0x71, 0xac, 0x9a, 0x1f, 0x6a, 0x8c, 0x02, 0xc7, 0xdf, 0xd3, 0xb9, 0x4a, 0xdc, 0xd4,
- 0x10, 0xcd, 0x30, 0x63, 0x39, 0xcb, 0x30, 0x35, 0xe2, 0x9f, 0x8a, 0x40, 0x62, 0x03, 0xd1, 0x41,
- 0x4a, 0x00, 0x12, 0x11, 0x0a, 0xb5, 0x60, 0xf4, 0x96, 0xd8, 0x50, 0xb9, 0xa0, 0x37, 0xc9, 0x7d,
- 0xff, 0xda, 0x81, 0xed, 0xca, 0x47, 0x52, 0x0c, 0xbb, 0xb0, 0xca, 0xe5, 0xa4, 0xc4, 0xf0, 0x91,
- 0x29, 0x86, 0x1a, 0xfa, 0x75, 0x31, 0x94, 0xbd, 0x64, 0xf1, 0xe1, 0xe4, 0x11, 0x74, 0x0d, 0x70,
- 0x43, 0x82, 0xf2, 0xb1, 0xdd, 0x4b, 0xde, 0x6e, 0x66, 0x61, 0xe4, 0x2d, 0xdf, 0x42, 0xef, 0x49,
- 0x32, 0xfd, 0x25, 0x9e, 0x63, 0x90, 0x4b, 0xb0, 0x9e, 0x31, 0x59, 0xe9, 0xcb, 0x74, 0x45, 0x03,
- 0xe8, 0x10, 0xfa, 0x92, 0xae, 0xbe, 0x45, 0x7f, 0x92, 0xc4, 0x69, 0xf0, 0xe2, 0x4d, 0x6f, 0xd1,
- 0x7f, 0x0a, 0xc4, 0xfc, 0x40, 0x27, 0x54, 0x73, 0x0e, 0xad, 0x24, 0x54, 0x0a, 0xc8, 0x13, 0xaa,
- 0xf7, 0xa1, 0x6b, 0xa2, 0x88, 0x4b, 0x37, 0xd0, 0x08, 0xf4, 0x8f, 0x1c, 0x18, 0x3e, 0x8d, 0x8a,
- 0x93, 0x30, 0xf3, 0xcf, 0xde, 0x40, 0xa9, 0xd5, 0x17, 0x0d, 0xad, 0xf3, 0x5e, 0x34, 0x2c, 0x57,
- 0x5f, 0x34, 0xf8, 0x71, 0x2c, 0x9b, 0x2f, 0xf8, 0xd3, 0x6c, 0xbb, 0xf6, 0x45, 0xdb, 0xf5, 0x36,
- 0x8c, 0xf4, 0x62, 0xde, 0xae, 0xe7, 0x7a, 0xed, 0x2a, 0xac, 0x97, 0xfe, 0x4e, 0xd6, 0x60, 0x79,
- 0xef, 0xc9, 0x6f, 0x8e, 0x96, 0x48, 0x07, 0x56, 0x8e, 0x0e, 0x0e, 0x0f, 0xc5, 0xf5, 0x06, 0xbf,
- 0xf1, 0x68, 0x5d, 0xbb, 0x06, 0x2b, 0x18, 0x5d, 0xc8, 0x3a, 0xb4, 0x1f, 0xef, 0x7e, 0x73, 0xe0,
- 0x8e, 0x96, 0xf0, 0xe7, 0x4f, 0xf8, 0x4f, 0x87, 0xf4, 0xa0, 0x73, 0xff, 0xc1, 0xe3, 0x03, 0xf7,
- 0xc1, 0xee, 0xe1, 0xa8, 0x75, 0xed, 0x29, 0x74, 0x54, 0x76, 0x88, 0x48, 0xbb, 0x87, 0x07, 0xee,
- 0x63, 0x81, 0x7f, 0xe0, 0xba, 0x0f, 0x5d, 0x41, 0xf7, 0xe9, 0xae, 0xfb, 0x60, 0xd4, 0xc2, 0x5f,
- 0xf7, 0x1f, 0xfc, 0xf8, 0xe1, 0x68, 0x99, 0x74, 0x61, 0xed, 0xdb, 0x03, 0x77, 0xef, 0xe1, 0xd1,
- 0xc1, 0x68, 0x05, 0x71, 0xef, 0x1e, 0xec, 0x3d, 0xf9, 0x6a, 0xd4, 0xe6, 0x1c, 0xdd, 0xdd, 0xfd,
- 0x83, 0xd1, 0xea, 0xad, 0x7f, 0x77, 0x60, 0xed, 0xd9, 0x3c, 0xbc, 0x9f, 0x44, 0x05, 0x39, 0x00,
- 0xd0, 0xaf, 0x24, 0xc8, 0xc5, 0xb2, 0xdb, 0x5f, 0x7d, 0x6b, 0x31, 0x99, 0x34, 0x4d, 0x49, 0xb3,
- 0x5a, 0x22, 0xf7, 0xa0, 0x6b, 0x64, 0xde, 0x64, 0xb2, 0xb8, 0x44, 0x98, 0xbc, 0xd3, 0x38, 0x57,
- 0x52, 0x3a, 0x00, 0xd0, 0x16, 0xa7, 0x17, 0x54, 0x33, 0x5b, 0xbd, 0xa0, 0xba, 0x81, 0xd2, 0xa5,
- 0x5b, 0xff, 0x7c, 0x11, 0x96, 0x9f, 0xcd, 0x43, 0xf2, 0x0c, 0xba, 0xc6, 0x5b, 0x35, 0x52, 0xbb,
- 0x49, 0xd3, 0xcb, 0x69, 0x7a, 0xd2, 0x36, 0xf9, 0xf9, 0x3f, 0xfe, 0xc7, 0x9f, 0xb4, 0xb6, 0xe8,
- 0xf0, 0xc6, 0xcb, 0x5f, 0xbd, 0xe1, 0x87, 0xa1, 0xb2, 0xc5, 0xdb, 0xce, 0x35, 0xe2, 0xc2, 0x9a,
- 0x7c, 0x8e, 0x46, 0x76, 0x0c, 0x1a, 0x46, 0x19, 0x37, 0xb9, 0x50, 0x83, 0x4b, 0xba, 0x3b, 0x9c,
- 0xee, 0x88, 0x76, 0x25, 0x5d, 0x3c, 0xa6, 0x90, 0xe6, 0x1e, 0x2c, 0xef, 0xf9, 0x09, 0x21, 0xfa,
- 0xa2, 0x5c, 0xc5, 0x84, 0xc9, 0xa6, 0x05, 0x93, 0x74, 0x08, 0xa7, 0xd3, 0xa3, 0x6b, 0x48, 0x67,
- 0xea, 0x27, 0x48, 0xe3, 0x18, 0x06, 0xf6, 0x33, 0x24, 0xf2, 0xae, 0x79, 0xdf, 0x53, 0x7b, 0xff,
- 0x34, 0x79, 0x6f, 0xd1, 0x74, 0x65, 0xb1, 0x03, 0x64, 0x12, 0x70, 0x1c, 0x8c, 0x0f, 0x24, 0x80,
- 0x9e, 0xf9, 0x2a, 0x88, 0xe8, 0xb7, 0x29, 0xf5, 0xa7, 0x4e, 0x93, 0x4b, 0xcd, 0x93, 0x92, 0xc5,
- 0x98, 0xb3, 0x20, 0x74, 0xc4, 0x59, 0x20, 0x86, 0xbc, 0x90, 0x42, 0x29, 0xcb, 0xa7, 0x40, 0x5a,
- 0xca, 0xf6, 0x4b, 0x22, 0x2d, 0xe5, 0xea, 0x9b, 0x21, 0x4b, 0xca, 0x32, 0x26, 0xa2, 0x84, 0x7e,
- 0x06, 0xfd, 0xa7, 0xfc, 0x35, 0x9c, 0x7c, 0x80, 0xa2, 0x29, 0xdb, 0xef, 0x57, 0x34, 0xe5, 0xca,
- 0x4b, 0x15, 0x7a, 0x89, 0x53, 0xde, 0xa1, 0x1b, 0x48, 0x59, 0xbc, 0xac, 0x0b, 0x05, 0x0a, 0xd2,
- 0xff, 0x1d, 0xe8, 0x5b, 0x6f, 0x4d, 0x48, 0xb9, 0xf9, 0xa6, 0x47, 0x2c, 0x93, 0x77, 0x17, 0xcc,
- 0x36, 0xf1, 0x0a, 0x25, 0x0a, 0x7f, 0x9d, 0x82, 0xbc, 0x9e, 0x01, 0xe8, 0x37, 0x1b, 0xda, 0x5d,
- 0x6a, 0xef, 0x44, 0xb4, 0xbb, 0xd4, 0x9f, 0x78, 0xd0, 0x4d, 0xce, 0xa2, 0x4f, 0xba, 0xc2, 0x8c,
- 0x04, 0xad, 0x43, 0x58, 0x93, 0xaf, 0x13, 0xb4, 0x7c, 0xec, 0x27, 0x1a, 0x5a, 0x3e, 0x95, 0x67,
- 0x0c, 0x74, 0xc4, 0x09, 0x02, 0xe9, 0x20, 0xc1, 0x08, 0x49, 0xfc, 0x16, 0x74, 0x8d, 0xab, 0x7d,
- 0x62, 0xae, 0xa6, 0xf2, 0x0a, 0x40, 0x7b, 0x64, 0xc3, 0x5b, 0x00, 0xba, 0xc5, 0x29, 0x0f, 0x48,
- 0x0f, 0x29, 0xab, 0xbe, 0x86, 0xa4, 0xae, 0xee, 0xee, 0x2d, 0xea, 0x95, 0x07, 0x01, 0x16, 0xf5,
- 0xea, 0x65, 0xbf, 0x4d, 0x1d, 0x65, 0xcc, 0xd7, 0xfe, 0x14, 0x40, 0x5f, 0x33, 0x6b, 0x19, 0xd7,
- 0xee, 0xcb, 0xb5, 0x8c, 0xeb, 0xb7, 0xd2, 0xca, 0x55, 0x09, 0x20, 0x69, 0x79, 0x19, 0x73, 0x0c,
- 0x03, 0xfb, 0x15, 0x80, 0x76, 0xd5, 0xc6, 0x67, 0x03, 0xda, 0x55, 0x9b, 0x1f, 0x0f, 0x28, 0x8b,
- 0x27, 0xc2, 0x55, 0x35, 0xd9, 0x23, 0x58, 0x2f, 0xef, 0xa7, 0xc9, 0xd8, 0x24, 0x62, 0x5e, 0x63,
- 0x4f, 0x2e, 0x36, 0xcc, 0xa8, 0xb6, 0x04, 0xa7, 0xdc, 0x25, 0xeb, 0x48, 0x59, 0x5c, 0x53, 0x28,
- 0xa2, 0xfc, 0xa5, 0x8c, 0x4d, 0xd4, 0xb8, 0xdc, 0xae, 0x10, 0x35, 0xaf, 0xb8, 0x2b, 0x44, 0x39,
- 0x1d, 0x0f, 0xba, 0xc6, 0xed, 0xa7, 0xd6, 0x64, 0xfd, 0xea, 0x56, 0x6b, 0xb2, 0xe1, 0xba, 0x94,
- 0x5e, 0xe0, 0xa4, 0x37, 0x44, 0xe4, 0x4e, 0x67, 0x2c, 0x51, 0x01, 0xe5, 0xb7, 0x01, 0x74, 0xc3,
- 0x5a, 0x2b, 0xb3, 0x76, 0x95, 0xa1, 0x8d, 0xbb, 0xd2, 0xdf, 0xa6, 0x17, 0x39, 0xe9, 0x4d, 0x11,
- 0x0f, 0xf9, 0x25, 0x02, 0x57, 0xe7, 0x6d, 0xe7, 0xda, 0x4d, 0x87, 0x3c, 0x87, 0x81, 0xc6, 0x3f,
- 0x7a, 0x9d, 0x04, 0xe7, 0xb1, 0x98, 0x34, 0x4d, 0xc9, 0x0d, 0xbc, 0xcb, 0xb9, 0x5c, 0xa0, 0xc4,
- 0xe6, 0x92, 0xbf, 0x4e, 0x02, 0xf4, 0xfb, 0x9f, 0x42, 0xd7, 0x78, 0x97, 0xa6, 0xe5, 0x54, 0x7f,
- 0xac, 0x36, 0x69, 0x6a, 0xa9, 0xdb, 0x27, 0x9b, 0xac, 0x67, 0xf2, 0x33, 0x7f, 0x86, 0xb4, 0x13,
- 0x18, 0xd8, 0x9d, 0x63, 0x6d, 0x96, 0x8d, 0x6d, 0x68, 0x6d, 0x96, 0x0b, 0x1a, 0xce, 0xd6, 0x5e,
- 0x44, 0xc3, 0xd4, 0x3c, 0x49, 0xa7, 0x98, 0x3c, 0x94, 0x0d, 0x64, 0x33, 0x79, 0xa8, 0x36, 0xa9,
- 0xcd, 0xe4, 0xa1, 0xd6, 0x71, 0xb6, 0xf7, 0x24, 0xd8, 0x28, 0xcd, 0x90, 0x0c, 0x86, 0x95, 0xee,
- 0x2e, 0xa9, 0xac, 0xba, 0xda, 0x10, 0x9e, 0xbc, 0xbf, 0x70, 0x5e, 0xf2, 0x7b, 0x8f, 0xf3, 0x1b,
- 0xd3, 0x4d, 0xcd, 0xcf, 0x8f, 0x63, 0xa1, 0x26, 0x71, 0xce, 0x80, 0xee, 0xd5, 0x6a, 0x3b, 0xa8,
- 0xb5, 0x7b, 0x27, 0x93, 0xa6, 0x29, 0xc9, 0xc4, 0xb2, 0x36, 0xc1, 0x44, 0x65, 0x0b, 0x53, 0xe8,
- 0x1a, 0x1d, 0x44, 0x2d, 0xb7, 0x7a, 0x73, 0x52, 0xcb, 0xad, 0xa9, 0xe5, 0x68, 0xc9, 0x2d, 0x67,
- 0x45, 0x9c, 0x1e, 0xf3, 0x16, 0x25, 0xf2, 0xf8, 0x16, 0x3a, 0xaa, 0xf7, 0x48, 0x4a, 0x8f, 0xa8,
- 0x34, 0x28, 0x27, 0xe3, 0xfa, 0x44, 0xc5, 0x0d, 0x79, 0x40, 0xcd, 0xe5, 0x2c, 0xd2, 0x65, 0x30,
- 0xac, 0xf4, 0x2f, 0xb5, 0x3e, 0x9a, 0x1b, 0x9b, 0x13, 0xfb, 0x79, 0x9d, 0xb8, 0x59, 0xa6, 0xef,
- 0x70, 0x06, 0xdb, 0x84, 0xeb, 0x20, 0x57, 0x1f, 0x0a, 0x1d, 0xdc, 0x74, 0xc8, 0xac, 0xd2, 0xcf,
- 0x94, 0x8d, 0x31, 0x23, 0xd0, 0x36, 0xb6, 0x3b, 0x27, 0x4d, 0x17, 0x42, 0xf4, 0x7b, 0x9c, 0xd7,
- 0x3b, 0xe4, 0xa2, 0xc5, 0x0b, 0xbd, 0x46, 0xdd, 0x87, 0xdd, 0x74, 0xc8, 0x14, 0x06, 0x36, 0xc9,
- 0xb7, 0x62, 0x55, 0x71, 0x4f, 0x42, 0x6a, 0xac, 0x90, 0xc7, 0xef, 0x19, 0xcd, 0x5f, 0xab, 0x8d,
- 0x4b, 0xae, 0x34, 0xf3, 0xaa, 0xb4, 0x79, 0x27, 0x5b, 0x26, 0x4f, 0x35, 0x49, 0x29, 0x67, 0x7a,
- 0x89, 0x4c, 0xea, 0x4c, 0x7d, 0x89, 0xc3, 0x23, 0x5c, 0xcf, 0x6c, 0x30, 0xe8, 0xb4, 0xaf, 0xa1,
- 0x47, 0xa1, 0xd3, 0xbe, 0xa6, 0x9e, 0x84, 0x52, 0x9e, 0x48, 0xfb, 0x78, 0x03, 0xe2, 0x44, 0x60,
- 0x88, 0x3c, 0xb6, 0xd2, 0x88, 0xb8, 0xb4, 0xa0, 0x54, 0xaf, 0x64, 0x51, 0x8d, 0x85, 0xbc, 0x72,
- 0x23, 0xb2, 0xa1, 0x58, 0x45, 0xc9, 0xb1, 0xa8, 0xe7, 0xc9, 0xd7, 0xd0, 0xe6, 0x55, 0x32, 0xd9,
- 0xd2, 0x15, 0x85, 0x2e, 0xc6, 0x27, 0xdb, 0x15, 0xa8, 0x9d, 0x2a, 0x50, 0x7e, 0x76, 0xcd, 0x13,
- 0x99, 0x7c, 0x4f, 0x61, 0x20, 0x52, 0x4b, 0x55, 0x4b, 0x6a, 0xa7, 0xa9, 0x94, 0xba, 0xda, 0x69,
- 0xaa, 0x65, 0xa7, 0x1d, 0x2e, 0x45, 0x76, 0x79, 0x26, 0x71, 0x6e, 0x3b, 0xd7, 0xa6, 0xab, 0xfc,
- 0x5f, 0x38, 0x9f, 0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x9c, 0x44, 0x52, 0xb0, 0x33,
- 0x00, 0x00,
+ 0xdf, 0x4a, 0xfd, 0xa8, 0x03, 0x65, 0xfb, 0x1a, 0x50, 0x8e, 0xfa, 0x51, 0x96, 0xf3, 0x28, 0xa9,
+ 0x46, 0x11, 0x40, 0x3e, 0x81, 0x55, 0xae, 0xf5, 0x9c, 0xc7, 0xca, 0xee, 0xcd, 0x2d, 0xb5, 0xbf,
+ 0x87, 0x1c, 0x7a, 0x80, 0xd1, 0xd4, 0x95, 0x28, 0xe4, 0x26, 0x2c, 0xc7, 0x49, 0x38, 0x5a, 0xe3,
+ 0xf2, 0xbe, 0x64, 0xc8, 0xdb, 0xdc, 0xe0, 0xb5, 0xc3, 0x24, 0x14, 0x72, 0x46, 0x64, 0x8c, 0xec,
+ 0x7e, 0x1c, 0xf9, 0xf9, 0x68, 0x5d, 0x24, 0x55, 0xfe, 0x61, 0x26, 0x55, 0xb0, 0x92, 0x2a, 0xb9,
+ 0x01, 0x5b, 0xaa, 0x26, 0xe1, 0xa1, 0xe0, 0xc4, 0xcf, 0x4f, 0x58, 0x3e, 0xea, 0xf2, 0xfd, 0x36,
+ 0x0d, 0x91, 0xcf, 0x60, 0x4d, 0x85, 0xac, 0x9e, 0xbd, 0x07, 0x19, 0xaf, 0xf8, 0xea, 0x14, 0xce,
+ 0xf8, 0x2e, 0x74, 0xd4, 0x0a, 0xdf, 0x41, 0xdd, 0x87, 0x49, 0xc8, 0xc9, 0x18, 0xea, 0xde, 0xe6,
+ 0x86, 0xa9, 0x02, 0xae, 0x52, 0xf9, 0x8f, 0x60, 0xcb, 0x82, 0x4a, 0xad, 0x7f, 0xd8, 0x1c, 0xb3,
+ 0x6d, 0x20, 0xfd, 0x12, 0x76, 0xef, 0xb2, 0x62, 0x52, 0x9c, 0xbc, 0xcd, 0x7c, 0xa7, 0x69, 0x3e,
+ 0x2e, 0x09, 0x83, 0x83, 0x61, 0x85, 0xef, 0x10, 0x61, 0x5c, 0xbe, 0x78, 0x3d, 0xbf, 0x4c, 0x38,
+ 0x1b, 0x19, 0x9b, 0xcd, 0x45, 0x05, 0x7d, 0x14, 0xa4, 0x99, 0xa8, 0x72, 0x36, 0x5d, 0xd0, 0x60,
+ 0x4c, 0xc5, 0x53, 0x4c, 0xad, 0x22, 0x64, 0x74, 0x5c, 0xf9, 0x45, 0xcf, 0xc1, 0xce, 0x61, 0x94,
+ 0x17, 0x32, 0xd8, 0x47, 0x65, 0xe0, 0xa3, 0x5f, 0xc3, 0x6e, 0x75, 0x40, 0xf2, 0xbb, 0x01, 0x10,
+ 0x94, 0x50, 0xe9, 0xde, 0xc3, 0x6a, 0xd6, 0x70, 0x0d, 0x1c, 0xfa, 0x8f, 0x0e, 0x6c, 0x22, 0x31,
+ 0x61, 0xb5, 0x6a, 0xe3, 0x46, 0x18, 0x73, 0xec, 0x30, 0xf6, 0x03, 0x68, 0xa7, 0x67, 0x09, 0xcb,
+ 0x64, 0x4a, 0xfa, 0xa0, 0x54, 0x73, 0x95, 0xc6, 0xb5, 0x87, 0x88, 0xe6, 0x0a, 0x6c, 0x34, 0xe6,
+ 0x38, 0x3a, 0x8d, 0x0a, 0x59, 0xaf, 0x89, 0x0f, 0x94, 0x6f, 0x94, 0x04, 0xf1, 0x3c, 0x64, 0x1e,
+ 0xb7, 0x6e, 0x99, 0x81, 0x3a, 0x6e, 0x15, 0x4c, 0x3f, 0x84, 0x36, 0xa7, 0x47, 0x3a, 0xb0, 0xb2,
+ 0xff, 0xf0, 0xf1, 0xbd, 0xe1, 0x12, 0xe6, 0xa1, 0x87, 0x4f, 0x1f, 0x0c, 0x1d, 0x04, 0x3d, 0x9a,
+ 0x4c, 0xdc, 0x61, 0x8b, 0xfe, 0x85, 0x03, 0xc4, 0x5c, 0x88, 0x94, 0xca, 0x97, 0xa5, 0xab, 0x0a,
+ 0x89, 0x7c, 0xd4, 0xb4, 0x68, 0xe9, 0x83, 0xe2, 0x53, 0xb8, 0xa1, 0x9c, 0x35, 0xbe, 0x0f, 0x5d,
+ 0x03, 0xdc, 0x60, 0xfb, 0x1f, 0xda, 0xb6, 0x3f, 0xb0, 0x43, 0x81, 0x69, 0xfa, 0x04, 0x86, 0xc8,
+ 0x14, 0xcf, 0x31, 0xa5, 0x3a, 0x3f, 0x16, 0x1a, 0x90, 0x30, 0xb9, 0xe6, 0x6d, 0x68, 0x8b, 0xc0,
+ 0x23, 0xcc, 0x5d, 0x7c, 0x94, 0xd3, 0x99, 0x96, 0x33, 0xfd, 0x5c, 0x4e, 0x67, 0xe6, 0x96, 0x29,
+ 0xb4, 0x45, 0x54, 0x13, 0x3b, 0xee, 0xa9, 0x15, 0x21, 0x96, 0x2b, 0x86, 0xe8, 0xbf, 0x39, 0xb0,
+ 0x26, 0xbd, 0x13, 0x6d, 0x30, 0x2f, 0xfc, 0x62, 0xae, 0x92, 0xaf, 0xfc, 0x22, 0x9f, 0x42, 0x47,
+ 0x1e, 0x52, 0x72, 0xb9, 0x39, 0x6d, 0x4e, 0x12, 0xee, 0x96, 0x18, 0xe4, 0x32, 0xac, 0xf2, 0xd2,
+ 0x5f, 0x44, 0xd9, 0xee, 0xcd, 0xbe, 0x81, 0x1b, 0x25, 0xae, 0x1c, 0xc4, 0xea, 0x74, 0x1a, 0xa7,
+ 0xc1, 0x8b, 0x13, 0x16, 0x1d, 0x9f, 0x14, 0x32, 0xf0, 0x9a, 0xa0, 0x32, 0x58, 0xb7, 0x8d, 0x60,
+ 0x6d, 0x84, 0xff, 0x55, 0x3b, 0xfc, 0x97, 0x91, 0x72, 0xcd, 0x88, 0x94, 0xf4, 0x6b, 0x18, 0x70,
+ 0x7f, 0xd4, 0x75, 0x74, 0x35, 0x4d, 0x38, 0x0d, 0x69, 0xa2, 0xa4, 0xd5, 0x32, 0x69, 0xfd, 0x95,
+ 0x03, 0xe4, 0xe1, 0x8c, 0x25, 0xff, 0x27, 0x25, 0xbc, 0x2e, 0xc5, 0x97, 0xad, 0x52, 0xfc, 0x12,
+ 0x74, 0x67, 0xf3, 0xfc, 0xc4, 0x93, 0x83, 0xa2, 0x20, 0x30, 0x41, 0xaa, 0x58, 0x6f, 0xeb, 0x62,
+ 0xfd, 0x36, 0x6c, 0x59, 0xeb, 0x94, 0xe6, 0xf0, 0x11, 0x0c, 0xec, 0xa2, 0x5c, 0xae, 0xb3, 0x02,
+ 0xa5, 0xbf, 0x68, 0x41, 0x9b, 0x1b, 0x2d, 0xb7, 0xbf, 0x2c, 0x92, 0x07, 0x69, 0xc7, 0x15, 0x1f,
+ 0x56, 0x81, 0xd2, 0xb2, 0x0b, 0x14, 0x33, 0x66, 0x2c, 0xdb, 0x31, 0x63, 0x00, 0xad, 0x28, 0x94,
+ 0x87, 0x90, 0x56, 0x14, 0x92, 0xaf, 0xea, 0x62, 0x6b, 0x73, 0xdb, 0xda, 0x55, 0xf6, 0x62, 0x2b,
+ 0xae, 0x51, 0x9c, 0x71, 0x1a, 0xf8, 0x31, 0x32, 0x13, 0xc6, 0x50, 0x7e, 0x93, 0x8b, 0x00, 0x01,
+ 0x2f, 0xfd, 0x43, 0xcf, 0x2f, 0xb8, 0x49, 0xac, 0xb8, 0x06, 0x84, 0x5c, 0x86, 0x95, 0x3c, 0x0a,
+ 0xd9, 0xa8, 0xc3, 0x03, 0xd8, 0xa6, 0xe5, 0xab, 0x47, 0x51, 0xc8, 0x5c, 0x3e, 0x8c, 0xc6, 0x12,
+ 0xe5, 0x5e, 0x7a, 0x96, 0x78, 0x3c, 0x0a, 0xf0, 0x2c, 0xdc, 0x71, 0x2d, 0x18, 0x9a, 0xe9, 0x49,
+ 0x1a, 0x87, 0x3c, 0x13, 0xaf, 0xb8, 0xfc, 0x37, 0xfd, 0x4b, 0x07, 0x7a, 0x9c, 0x96, 0xcb, 0x4e,
+ 0xd3, 0x97, 0x7e, 0x6c, 0xc9, 0xcc, 0x59, 0x2c, 0xb3, 0x4a, 0xb9, 0x68, 0x16, 0x99, 0xcb, 0x95,
+ 0x22, 0xd3, 0xdc, 0xfd, 0x4a, 0x65, 0xf7, 0xd5, 0x65, 0xb7, 0xeb, 0xcb, 0xa6, 0x27, 0xb0, 0x2a,
+ 0x22, 0x13, 0xf9, 0x0c, 0x60, 0x3a, 0x7f, 0xed, 0x59, 0xd1, 0xb1, 0x6f, 0x49, 0xc4, 0x35, 0x10,
+ 0xc8, 0x75, 0xe8, 0xe6, 0x2c, 0x8e, 0x15, 0x7e, 0xab, 0x09, 0xdf, 0xc4, 0xa0, 0xdf, 0x57, 0x91,
+ 0x93, 0x97, 0x43, 0x28, 0x2f, 0x0c, 0x3d, 0xb2, 0xd2, 0xe6, 0xbf, 0xd1, 0x86, 0xd3, 0xb3, 0x44,
+ 0x1e, 0xf1, 0xf1, 0x27, 0xfd, 0xb9, 0x23, 0x67, 0x3d, 0x99, 0x85, 0x7e, 0xc1, 0xb0, 0xb2, 0x10,
+ 0x7b, 0x71, 0xb8, 0x91, 0xd8, 0xfc, 0xee, 0x2d, 0xb9, 0x62, 0x94, 0xfc, 0x16, 0xf4, 0x85, 0x84,
+ 0x32, 0x21, 0x78, 0x19, 0xaf, 0xb6, 0xed, 0xe5, 0x89, 0xb1, 0x7b, 0x4b, 0xae, 0x8d, 0xbc, 0x3f,
+ 0x80, 0x9e, 0x00, 0xcc, 0x39, 0x53, 0xfa, 0xaf, 0x2d, 0x58, 0xc1, 0x60, 0xb9, 0xf8, 0x5c, 0xf2,
+ 0x56, 0x55, 0xe7, 0x57, 0xd0, 0x8b, 0x93, 0x50, 0x7d, 0xaa, 0xb8, 0x78, 0xc1, 0x0c, 0xc7, 0x58,
+ 0x21, 0x3d, 0x9a, 0x4f, 0xbf, 0x61, 0xaf, 0x65, 0xda, 0xb1, 0x66, 0x20, 0xff, 0x28, 0x99, 0xa6,
+ 0xf3, 0x24, 0x94, 0xb9, 0x51, 0x7d, 0xea, 0x14, 0xd1, 0x36, 0x52, 0x04, 0x46, 0x8d, 0x57, 0xf3,
+ 0xd0, 0xb3, 0x43, 0xa5, 0x09, 0x22, 0x9f, 0xc2, 0x66, 0xce, 0x82, 0x34, 0x09, 0x73, 0x71, 0x62,
+ 0x0d, 0x0a, 0x16, 0x72, 0x3f, 0xe9, 0xbb, 0xf5, 0x81, 0xe6, 0x32, 0x74, 0x7c, 0x1b, 0x36, 0x2a,
+ 0xcb, 0x6e, 0x48, 0x8b, 0xdb, 0x66, 0x5a, 0x5c, 0x37, 0xd3, 0xe0, 0x1f, 0xb6, 0x60, 0xf3, 0x11,
+ 0x1e, 0x2e, 0xa5, 0x52, 0x44, 0x38, 0xfd, 0xdf, 0x8c, 0x39, 0xa6, 0xff, 0xac, 0x54, 0xfc, 0x47,
+ 0x45, 0x80, 0xf6, 0x9b, 0x23, 0xc0, 0x55, 0x18, 0x66, 0x8c, 0x1f, 0x81, 0xbd, 0x92, 0x94, 0x10,
+ 0x67, 0x0d, 0x8e, 0xc5, 0x77, 0x74, 0x7a, 0xca, 0xc2, 0xc8, 0x2f, 0x10, 0xea, 0x05, 0x78, 0xc4,
+ 0x89, 0xb9, 0x54, 0x3b, 0x6e, 0xd3, 0x10, 0x8a, 0x80, 0x98, 0x22, 0x90, 0x91, 0xfa, 0x0b, 0x18,
+ 0x46, 0x49, 0xc1, 0xb2, 0xc4, 0x8f, 0xbd, 0x53, 0xbf, 0x08, 0x4e, 0xd8, 0x02, 0xbf, 0xac, 0xa1,
+ 0x91, 0x1f, 0xc1, 0x80, 0x57, 0xf7, 0xf9, 0x3c, 0x08, 0x58, 0x8e, 0xc5, 0x94, 0x70, 0xd0, 0xb2,
+ 0xaa, 0xc7, 0x43, 0xec, 0x91, 0x18, 0x74, 0x2b, 0xa8, 0xe4, 0x73, 0xac, 0x54, 0x4f, 0xfd, 0x28,
+ 0xc1, 0x43, 0x82, 0x70, 0xb7, 0xe5, 0x06, 0x77, 0x73, 0xab, 0x58, 0xe4, 0x0b, 0xe8, 0x73, 0x52,
+ 0xcf, 0xfd, 0x28, 0x9e, 0x67, 0xbc, 0x82, 0xab, 0x31, 0xfd, 0xb1, 0x18, 0x73, 0x6d, 0x4c, 0xfa,
+ 0x9f, 0x0e, 0x6c, 0x68, 0x11, 0x4c, 0x5e, 0xb2, 0x04, 0xa3, 0x73, 0x9b, 0xef, 0x67, 0xa1, 0xb3,
+ 0xf3, 0x51, 0xf2, 0x05, 0xf4, 0xcc, 0x0d, 0x48, 0x5f, 0x6f, 0xda, 0xe9, 0xbd, 0x25, 0xd7, 0x42,
+ 0x25, 0x5f, 0xbc, 0xdd, 0x4e, 0xef, 0x2d, 0x35, 0xed, 0xb5, 0x67, 0xee, 0x80, 0x1b, 0x56, 0xf3,
+ 0x56, 0x4b, 0xae, 0x12, 0x75, 0x7f, 0x0d, 0xda, 0x0c, 0x37, 0x48, 0x53, 0xe8, 0x1a, 0xa7, 0xab,
+ 0x85, 0x85, 0x97, 0x11, 0x76, 0x5a, 0x76, 0xd8, 0x31, 0xea, 0xa0, 0x95, 0x5a, 0x1d, 0x24, 0xda,
+ 0xb0, 0x6d, 0xa3, 0x0d, 0x4b, 0xbf, 0x0f, 0x3b, 0x3c, 0xea, 0x31, 0xdd, 0xb3, 0xff, 0xe5, 0xcd,
+ 0x83, 0x11, 0xec, 0x56, 0x27, 0xc9, 0x5e, 0xdc, 0x21, 0x10, 0x31, 0x62, 0xb9, 0xee, 0x9b, 0x7a,
+ 0x22, 0x6f, 0x70, 0x60, 0xfa, 0x37, 0x0e, 0x6c, 0x59, 0xe4, 0xa4, 0x1b, 0x5c, 0x84, 0xa1, 0xc2,
+ 0xf1, 0xd2, 0xc4, 0xe3, 0x59, 0xd6, 0xd1, 0x59, 0x96, 0x5c, 0x03, 0xa2, 0x95, 0x53, 0xa1, 0xde,
+ 0x30, 0x22, 0x7c, 0x19, 0xd9, 0x84, 0x1a, 0x5b, 0x54, 0x5b, 0x35, 0xb8, 0x19, 0x54, 0x56, 0xac,
+ 0xa0, 0xa2, 0xa5, 0xb2, 0x17, 0xc7, 0xd6, 0x61, 0x87, 0xce, 0xe1, 0x5c, 0x6d, 0x44, 0x6e, 0xe5,
+ 0x53, 0xd8, 0x54, 0x2c, 0x94, 0x48, 0x54, 0x55, 0x5f, 0x1f, 0x40, 0x6c, 0xb9, 0x5f, 0x03, 0x5b,
+ 0xb4, 0x1f, 0xeb, 0x03, 0xf4, 0x33, 0xd8, 0x14, 0x6c, 0xcd, 0x8b, 0x97, 0x85, 0x87, 0x37, 0x3c,
+ 0x78, 0x9b, 0xe8, 0x52, 0xa3, 0x7f, 0xd4, 0x42, 0x70, 0x5e, 0xa4, 0x99, 0xd5, 0x5f, 0x7d, 0xab,
+ 0x66, 0xa9, 0xd9, 0x84, 0x6d, 0xd9, 0x4d, 0x58, 0xf2, 0x0d, 0x74, 0x31, 0x93, 0x4d, 0xfd, 0xe0,
+ 0xc5, 0x7c, 0xa6, 0x52, 0xdf, 0x55, 0xe5, 0x2c, 0x75, 0x8e, 0x98, 0x08, 0xf7, 0x05, 0xb2, 0x48,
+ 0x84, 0x10, 0x97, 0x00, 0xf2, 0x3d, 0x7e, 0x43, 0xe5, 0x85, 0x7e, 0xe1, 0x4f, 0xfd, 0x5c, 0x34,
+ 0xa8, 0x7b, 0x3c, 0xaf, 0xdd, 0x91, 0x20, 0x99, 0x93, 0x4c, 0x0a, 0xbf, 0x2c, 0x27, 0xf5, 0xcc,
+ 0x9c, 0xc4, 0xd0, 0x12, 0x8d, 0x35, 0xe9, 0x9e, 0x71, 0x26, 0xc0, 0xb2, 0x17, 0x2c, 0xc5, 0xa0,
+ 0x80, 0xbc, 0x11, 0xfc, 0x31, 0x9a, 0x97, 0x44, 0x52, 0x2d, 0x15, 0x71, 0x98, 0xdf, 0x50, 0x70,
+ 0xd5, 0x02, 0xbe, 0x03, 0xe4, 0x88, 0x15, 0x87, 0xe9, 0xf1, 0x21, 0x7b, 0xa9, 0x4f, 0x12, 0xd7,
+ 0x60, 0x3d, 0x4e, 0x8f, 0xbd, 0x18, 0x61, 0x7c, 0xb9, 0x03, 0x7d, 0xd0, 0x2a, 0x71, 0x35, 0x0a,
+ 0xdd, 0x81, 0x2d, 0x8b, 0x8a, 0x54, 0xe5, 0x26, 0x6c, 0x1c, 0x9d, 0xcc, 0x8b, 0x30, 0x3d, 0x53,
+ 0xb7, 0x3b, 0x78, 0x64, 0xd4, 0x20, 0x89, 0xf6, 0x1b, 0xb0, 0x7b, 0x34, 0x9f, 0xe6, 0x41, 0x16,
+ 0x4d, 0x99, 0x7d, 0xf0, 0x1f, 0x43, 0x87, 0xbd, 0x8a, 0xf2, 0x22, 0x4a, 0x8e, 0xf9, 0x32, 0x3a,
+ 0x6e, 0xf9, 0x4d, 0x3f, 0x80, 0xf7, 0xcb, 0x59, 0x18, 0xea, 0xf2, 0xbd, 0x20, 0x60, 0xb3, 0x82,
+ 0xa9, 0xbb, 0x14, 0x7a, 0x1b, 0x76, 0x6c, 0x04, 0xe3, 0x2a, 0x50, 0x1d, 0xe8, 0x0b, 0xff, 0x85,
+ 0xac, 0xe4, 0x3a, 0xae, 0x0d, 0xa4, 0xff, 0xdd, 0x82, 0x1e, 0x4e, 0x53, 0x64, 0xc9, 0xf9, 0x5a,
+ 0x50, 0x59, 0xe3, 0xdf, 0xf7, 0xed, 0x12, 0xb8, 0x55, 0x29, 0x81, 0xdf, 0x58, 0x14, 0x2c, 0xea,
+ 0xaf, 0xea, 0xe2, 0xa3, 0x6d, 0x16, 0x1f, 0xd5, 0xae, 0xed, 0x6a, 0x43, 0xd7, 0x76, 0x17, 0x56,
+ 0x33, 0xde, 0x52, 0x93, 0xe7, 0x4f, 0xf9, 0x85, 0x31, 0x47, 0x9c, 0xd3, 0xbc, 0x8c, 0x05, 0x2c,
+ 0x7a, 0x89, 0x32, 0xed, 0x88, 0x98, 0x53, 0x85, 0xe3, 0x01, 0x4d, 0xc2, 0x72, 0x79, 0xb1, 0xb5,
+ 0x2e, 0x6e, 0xfe, 0x6c, 0x28, 0xc6, 0x3d, 0x15, 0xa3, 0x0d, 0xaa, 0xa2, 0x13, 0xd8, 0x30, 0x82,
+ 0x6b, 0x28, 0xa1, 0x8a, 0x72, 0x57, 0xd4, 0x30, 0x55, 0x38, 0xc6, 0xe2, 0xae, 0x91, 0xc2, 0x7e,
+ 0xc5, 0x3e, 0xb7, 0x29, 0xe3, 0xe5, 0x8a, 0x8c, 0xab, 0xd2, 0x5c, 0x69, 0x90, 0xe6, 0x47, 0x30,
+ 0x90, 0x39, 0xd3, 0xcb, 0x98, 0x9f, 0xa7, 0x2a, 0x9b, 0x55, 0xa0, 0xf4, 0xef, 0x96, 0xc5, 0x6a,
+ 0x65, 0x9a, 0xff, 0xff, 0x35, 0x16, 0xad, 0xf2, 0xb6, 0xa5, 0xf2, 0x2b, 0xb0, 0x61, 0xa9, 0x96,
+ 0x85, 0x52, 0xe3, 0x55, 0x30, 0x96, 0xe9, 0x5a, 0xb5, 0x85, 0xd4, 0xb6, 0x09, 0xaa, 0x09, 0x0b,
+ 0x1a, 0x84, 0x75, 0x09, 0x56, 0xb2, 0x34, 0x66, 0x5c, 0xa5, 0x03, 0xdd, 0xe5, 0x71, 0xd3, 0x98,
+ 0xb9, 0x7c, 0x04, 0xf3, 0x49, 0xc5, 0x2c, 0x58, 0xc8, 0xbb, 0xbd, 0xeb, 0x6e, 0x7d, 0x00, 0x1d,
+ 0xd5, 0x34, 0x8b, 0x62, 0xd4, 0x17, 0xcd, 0x52, 0x0b, 0x88, 0x27, 0xec, 0xcc, 0x9b, 0x65, 0x2c,
+ 0x3a, 0xf5, 0x8f, 0xd9, 0x68, 0xc0, 0x51, 0x0c, 0x88, 0x76, 0xa5, 0x0d, 0xc3, 0x95, 0xe8, 0x7f,
+ 0xb5, 0xa0, 0xfd, 0x38, 0xf3, 0x43, 0x86, 0xc7, 0xc8, 0x53, 0xf4, 0x78, 0x6f, 0xf1, 0xb1, 0xce,
+ 0x35, 0x31, 0x70, 0x42, 0x61, 0x4c, 0x68, 0x35, 0x4e, 0x30, 0x30, 0x0c, 0xfd, 0x2c, 0x5b, 0xfa,
+ 0x79, 0x93, 0x4e, 0x0d, 0x4b, 0x68, 0xdb, 0x96, 0x50, 0xee, 0x67, 0xd5, 0x0c, 0x0d, 0x4a, 0xf6,
+ 0x6b, 0x0b, 0x65, 0x7f, 0x09, 0xba, 0x4c, 0x5c, 0x1f, 0xf1, 0x56, 0x84, 0xb0, 0x04, 0x13, 0x54,
+ 0x9e, 0x44, 0xd6, 0xdf, 0x7c, 0x12, 0xb9, 0x05, 0xbd, 0x00, 0x0d, 0x83, 0x65, 0x33, 0x3f, 0x2b,
+ 0x84, 0x29, 0x2c, 0xee, 0x96, 0x58, 0xb8, 0xf4, 0x13, 0xd8, 0xe2, 0x52, 0xbf, 0x17, 0x61, 0x1e,
+ 0x7a, 0x6d, 0x9c, 0xb5, 0x44, 0x43, 0xd6, 0x31, 0x1a, 0xb2, 0xf4, 0x36, 0x6c, 0xdb, 0xc8, 0x32,
+ 0x09, 0x5e, 0x86, 0xd5, 0x02, 0xe1, 0xb5, 0xb3, 0x08, 0xc7, 0x76, 0xe5, 0x20, 0xfd, 0x53, 0x07,
+ 0xfa, 0x08, 0x89, 0x92, 0xe3, 0x43, 0xa4, 0x97, 0xa3, 0xc0, 0x4f, 0xfd, 0x57, 0x5e, 0xce, 0xe2,
+ 0x58, 0x35, 0x3f, 0xd4, 0x37, 0x0a, 0x1c, 0x7f, 0x4f, 0xe7, 0xaa, 0x70, 0x53, 0x9f, 0x68, 0x86,
+ 0x19, 0xcb, 0x59, 0x86, 0xa5, 0x11, 0x9f, 0x2a, 0x02, 0x89, 0x0d, 0x44, 0x07, 0x29, 0x01, 0x48,
+ 0x44, 0x28, 0xd4, 0x82, 0xd1, 0x9b, 0x62, 0x43, 0xe5, 0x82, 0xde, 0xa6, 0xf6, 0xfd, 0x5b, 0x07,
+ 0x76, 0x2a, 0x93, 0xa4, 0x18, 0xf6, 0x60, 0x95, 0xcb, 0x49, 0x89, 0xe1, 0x63, 0x53, 0x0c, 0x35,
+ 0xf4, 0x6b, 0xe2, 0x53, 0xf6, 0x92, 0xc5, 0xc4, 0xf1, 0x23, 0xe8, 0x1a, 0xe0, 0x86, 0x02, 0xe5,
+ 0x13, 0xbb, 0x97, 0xbc, 0xd3, 0xcc, 0xc2, 0xa8, 0x5b, 0xbe, 0x85, 0xde, 0x93, 0x64, 0xfa, 0x2b,
+ 0x3c, 0xe7, 0x20, 0x17, 0x60, 0x3d, 0x63, 0xf2, 0xa4, 0x2f, 0xcb, 0x15, 0x0d, 0xa0, 0x1b, 0xd0,
+ 0x97, 0x74, 0xf5, 0x2d, 0xfc, 0x93, 0x24, 0x4e, 0x83, 0x17, 0x6f, 0x7b, 0x0b, 0xff, 0x53, 0x20,
+ 0xe6, 0x04, 0x5d, 0x50, 0xcd, 0x39, 0xb4, 0x52, 0x50, 0x29, 0x20, 0x2f, 0xa8, 0x3e, 0x80, 0xae,
+ 0x89, 0x22, 0x2e, 0xed, 0x40, 0x23, 0xd0, 0x3f, 0x71, 0x60, 0xe3, 0x69, 0x54, 0x9c, 0x84, 0x99,
+ 0x7f, 0xf6, 0x16, 0x4a, 0xad, 0xbe, 0x88, 0x68, 0xbd, 0xe9, 0x45, 0xc4, 0x72, 0xf5, 0x45, 0x84,
+ 0x1f, 0xc7, 0xb2, 0xf9, 0x82, 0x3f, 0xcd, 0xb6, 0x6b, 0x5f, 0xb4, 0x5d, 0x6f, 0xc1, 0x50, 0x2f,
+ 0xe6, 0xdd, 0x7a, 0xae, 0x57, 0xaf, 0xc0, 0x7a, 0xe9, 0xef, 0x64, 0x0d, 0x96, 0xf7, 0x9f, 0xfc,
+ 0xf6, 0x70, 0x89, 0x74, 0x60, 0xe5, 0x68, 0x72, 0x78, 0x28, 0xae, 0x37, 0xf8, 0x8d, 0x47, 0xeb,
+ 0xea, 0x55, 0x58, 0xc1, 0xe8, 0x42, 0xd6, 0xa1, 0xfd, 0x78, 0xef, 0x9b, 0x89, 0x3b, 0x5c, 0xc2,
+ 0x9f, 0x3f, 0xe1, 0x3f, 0x1d, 0xd2, 0x83, 0xce, 0xfd, 0x07, 0x8f, 0x27, 0xee, 0x83, 0xbd, 0xc3,
+ 0x61, 0xeb, 0xea, 0x53, 0xe8, 0xa8, 0xea, 0x10, 0x91, 0xf6, 0x0e, 0x27, 0xee, 0x63, 0x81, 0x3f,
+ 0x71, 0xdd, 0x87, 0xae, 0xa0, 0xfb, 0x74, 0xcf, 0x7d, 0x30, 0x6c, 0xe1, 0xaf, 0xfb, 0x0f, 0x7e,
+ 0xfc, 0x70, 0xb8, 0x4c, 0xba, 0xb0, 0xf6, 0xed, 0xc4, 0xdd, 0x7f, 0x78, 0x34, 0x19, 0xae, 0x20,
+ 0xee, 0x9d, 0xc9, 0xfe, 0x93, 0xbb, 0xc3, 0x36, 0xe7, 0xe8, 0xee, 0x1d, 0x4c, 0x86, 0xab, 0x37,
+ 0xff, 0xdd, 0x81, 0xb5, 0x67, 0xf3, 0xf0, 0x7e, 0x12, 0x15, 0x64, 0x02, 0xa0, 0x5f, 0x59, 0x90,
+ 0xf3, 0x65, 0xb7, 0xbf, 0xfa, 0x56, 0x63, 0x3c, 0x6e, 0x1a, 0x92, 0x66, 0xb5, 0x44, 0xee, 0x41,
+ 0xd7, 0xa8, 0xbc, 0xc9, 0x78, 0xf1, 0x11, 0x61, 0xfc, 0x5e, 0xe3, 0x58, 0x49, 0x69, 0x02, 0xa0,
+ 0x2d, 0x4e, 0x2f, 0xa8, 0x66, 0xb6, 0x7a, 0x41, 0x75, 0x03, 0xa5, 0x4b, 0x37, 0x7f, 0x31, 0x86,
+ 0xe5, 0x67, 0xf3, 0x90, 0x3c, 0x83, 0xae, 0xf1, 0xd6, 0x8d, 0xd4, 0x6e, 0xd2, 0xf4, 0x72, 0x9a,
+ 0x9e, 0xc4, 0x8d, 0x7f, 0xfe, 0x4f, 0xff, 0xf1, 0x67, 0xad, 0x6d, 0xba, 0x71, 0xfd, 0xe5, 0xaf,
+ 0x5f, 0xf7, 0xc3, 0x50, 0xd9, 0xe2, 0x2d, 0xe7, 0x2a, 0x71, 0x61, 0x4d, 0x3e, 0x67, 0x23, 0xbb,
+ 0x06, 0x0d, 0xe3, 0x18, 0x37, 0x3e, 0x57, 0x83, 0x4b, 0xba, 0xbb, 0x9c, 0xee, 0x90, 0x76, 0x25,
+ 0x5d, 0x4c, 0x53, 0x48, 0x73, 0x1f, 0x96, 0xf7, 0xfd, 0x84, 0x10, 0x7d, 0xd1, 0xae, 0x62, 0xc2,
+ 0x78, 0xcb, 0x82, 0x49, 0x3a, 0x84, 0xd3, 0xe9, 0xd1, 0x35, 0xa4, 0x33, 0xf5, 0x13, 0xa4, 0x71,
+ 0x0c, 0x03, 0xfb, 0x19, 0x13, 0x79, 0xdf, 0xbc, 0xef, 0xa9, 0xbd, 0x9f, 0x1a, 0x5f, 0x5c, 0x34,
+ 0x5c, 0x59, 0xec, 0x00, 0x99, 0x04, 0x1c, 0x07, 0xe3, 0x03, 0x09, 0xa0, 0x67, 0xbe, 0x2a, 0x22,
+ 0xfa, 0x6d, 0x4b, 0xfd, 0xa9, 0xd4, 0xf8, 0x42, 0xf3, 0xa0, 0x64, 0x31, 0xe2, 0x2c, 0x08, 0x1d,
+ 0x72, 0x16, 0x88, 0x21, 0x2f, 0xa4, 0x50, 0xca, 0xf2, 0x29, 0x91, 0x96, 0xb2, 0xfd, 0x12, 0x49,
+ 0x4b, 0xb9, 0xfa, 0xe6, 0xc8, 0x92, 0xb2, 0x8c, 0x89, 0x28, 0xa1, 0x9f, 0x41, 0xff, 0x29, 0x7f,
+ 0x4d, 0x27, 0x1f, 0xb0, 0x68, 0xca, 0xf6, 0xfb, 0x17, 0x4d, 0xb9, 0xf2, 0xd2, 0x85, 0x5e, 0xe0,
+ 0x94, 0x77, 0xe9, 0x26, 0x52, 0x16, 0x2f, 0xf3, 0x42, 0x81, 0x82, 0xf4, 0x7f, 0x0f, 0xfa, 0xd6,
+ 0x5b, 0x15, 0x52, 0x6e, 0xbe, 0xe9, 0x11, 0xcc, 0xf8, 0xfd, 0x05, 0xa3, 0x4d, 0xbc, 0x42, 0x89,
+ 0xc2, 0x5f, 0xb7, 0x20, 0xaf, 0x67, 0x00, 0xfa, 0xcd, 0x87, 0x76, 0x97, 0xda, 0x3b, 0x13, 0xed,
+ 0x2e, 0xf5, 0x27, 0x22, 0x74, 0x8b, 0xb3, 0xe8, 0x93, 0xae, 0x30, 0x23, 0x41, 0xeb, 0x10, 0xd6,
+ 0xe4, 0xeb, 0x06, 0x2d, 0x1f, 0xfb, 0x89, 0x87, 0x96, 0x4f, 0xe5, 0x19, 0x04, 0x1d, 0x72, 0x82,
+ 0x40, 0x3a, 0x48, 0x30, 0x42, 0x12, 0xbf, 0x03, 0x5d, 0xe3, 0x69, 0x00, 0x31, 0x57, 0x53, 0x79,
+ 0x45, 0xa0, 0x3d, 0xb2, 0xe1, 0x2d, 0x01, 0xdd, 0xe6, 0x94, 0x07, 0xa4, 0x87, 0x94, 0x55, 0x5f,
+ 0x83, 0x3c, 0xe7, 0xaf, 0x4f, 0x26, 0x8f, 0xef, 0xbd, 0x15, 0x83, 0x8b, 0xc6, 0x58, 0xc3, 0x7b,
+ 0x03, 0x65, 0x8d, 0x84, 0x5b, 0x23, 0x2b, 0x4e, 0x3e, 0x2b, 0xf9, 0x88, 0x5d, 0xa8, 0x37, 0x02,
+ 0x16, 0x93, 0xca, 0xc3, 0x03, 0x6b, 0x17, 0xd5, 0x47, 0x05, 0xf6, 0x2e, 0x50, 0x97, 0x5c, 0x46,
+ 0x4f, 0x01, 0xf4, 0x75, 0xb6, 0xd6, 0x65, 0xed, 0x5e, 0x5e, 0xeb, 0xb2, 0x7e, 0xfb, 0xad, 0x42,
+ 0x02, 0x01, 0x24, 0x2d, 0x2f, 0x7d, 0x8e, 0x61, 0x60, 0xbf, 0x36, 0xd0, 0x21, 0xa1, 0xf1, 0x79,
+ 0x82, 0x96, 0x50, 0xf3, 0x23, 0x05, 0xe5, 0x59, 0x44, 0x84, 0x04, 0x4d, 0xf6, 0x08, 0xd6, 0xcb,
+ 0x7b, 0x70, 0x32, 0x32, 0x89, 0x98, 0xd7, 0xe5, 0xe3, 0xf3, 0x0d, 0x23, 0xaa, 0xfd, 0xc1, 0x29,
+ 0x77, 0xc9, 0x3a, 0x52, 0x16, 0xd7, 0x21, 0x8a, 0x28, 0x7f, 0xd1, 0x63, 0x13, 0x35, 0x2e, 0xd1,
+ 0x2b, 0x44, 0xcd, 0xab, 0xf4, 0x0a, 0x51, 0x4e, 0xc7, 0x83, 0xae, 0x71, 0xcb, 0xaa, 0x35, 0x59,
+ 0xbf, 0x22, 0xd6, 0x9a, 0x6c, 0xb8, 0x96, 0xa5, 0xe7, 0x38, 0xe9, 0x4d, 0x91, 0x21, 0xd2, 0x19,
+ 0x4b, 0x54, 0xe0, 0xfa, 0x5d, 0x00, 0xdd, 0x18, 0xd7, 0xca, 0xac, 0x5d, 0x99, 0x68, 0x27, 0xaa,
+ 0xf4, 0xd1, 0xe9, 0x79, 0x4e, 0x7a, 0x4b, 0xc4, 0x5d, 0x7e, 0x59, 0xc1, 0xd5, 0x79, 0xcb, 0xb9,
+ 0x7a, 0xc3, 0x41, 0x8b, 0xd7, 0xf8, 0x47, 0xaf, 0x93, 0xe0, 0x4d, 0x2c, 0xc6, 0x4d, 0x43, 0x72,
+ 0x03, 0xef, 0x73, 0x2e, 0xe7, 0x28, 0xb1, 0xb9, 0xe4, 0xaf, 0x93, 0x00, 0xe3, 0xcb, 0x4f, 0xa1,
+ 0x6b, 0xbc, 0x9f, 0xd3, 0x72, 0xaa, 0x3f, 0xaa, 0x1b, 0x37, 0xb5, 0xee, 0xed, 0x0c, 0x2a, 0xcf,
+ 0x4d, 0xf9, 0x99, 0x3f, 0x43, 0xda, 0x09, 0x0c, 0xec, 0x0e, 0xb5, 0x36, 0xcb, 0xc6, 0x76, 0xb7,
+ 0x36, 0xcb, 0x05, 0x8d, 0x6d, 0x6b, 0x2f, 0xa2, 0x31, 0x6b, 0x66, 0xec, 0x29, 0x16, 0x29, 0x65,
+ 0xa3, 0xda, 0x2c, 0x52, 0xaa, 0xcd, 0x70, 0xb3, 0x48, 0xa9, 0x75, 0xb6, 0xed, 0x3d, 0x09, 0x36,
+ 0x4a, 0x33, 0x24, 0x83, 0x8d, 0x4a, 0x17, 0x99, 0x54, 0x56, 0x5d, 0x6d, 0x3c, 0x8f, 0x3f, 0x58,
+ 0x38, 0x2e, 0xf9, 0x5d, 0xe4, 0xfc, 0x46, 0x74, 0x4b, 0xf3, 0xf3, 0xe3, 0x58, 0xa8, 0x49, 0xe4,
+ 0x33, 0xd0, 0x3d, 0x61, 0x6d, 0x07, 0xb5, 0xb6, 0xf2, 0x78, 0xdc, 0x34, 0x24, 0x99, 0x58, 0xd6,
+ 0x26, 0x98, 0xa8, 0xaa, 0x64, 0x0a, 0x5d, 0xa3, 0x53, 0xa9, 0xe5, 0x56, 0x6f, 0x82, 0x6a, 0xb9,
+ 0x35, 0xb5, 0x36, 0x2d, 0xb9, 0xe5, 0xac, 0x88, 0xd3, 0x63, 0xde, 0x0a, 0x45, 0x1e, 0xdf, 0x42,
+ 0x47, 0xf5, 0x38, 0x49, 0xe9, 0x11, 0x95, 0x46, 0xe8, 0x78, 0x54, 0x1f, 0xa8, 0xb8, 0x21, 0x0f,
+ 0xa8, 0xb9, 0x1c, 0x45, 0xba, 0x0c, 0x36, 0x2a, 0x7d, 0x52, 0xad, 0x8f, 0xe6, 0x06, 0xea, 0xd8,
+ 0x7e, 0x06, 0x28, 0x6e, 0xb0, 0xe9, 0x7b, 0x9c, 0xc1, 0x0e, 0xe1, 0x3a, 0xc8, 0xd5, 0x44, 0xa1,
+ 0x83, 0x1b, 0x0e, 0x99, 0x55, 0xfa, 0xa6, 0xb2, 0x01, 0x67, 0x04, 0xda, 0xc6, 0xb6, 0xea, 0xb8,
+ 0xe9, 0xe2, 0x89, 0x7e, 0x8f, 0xf3, 0x7a, 0x8f, 0x9c, 0xb7, 0x78, 0xa1, 0xd7, 0xa8, 0x7b, 0xb7,
+ 0x1b, 0x0e, 0x99, 0xc2, 0xc0, 0x26, 0xf9, 0x4e, 0xac, 0x2a, 0xee, 0x49, 0x48, 0x8d, 0x15, 0xf2,
+ 0xf8, 0x03, 0xa3, 0xc9, 0x6c, 0xb5, 0x8b, 0xc9, 0xe5, 0x66, 0x5e, 0x95, 0x76, 0xf2, 0x78, 0xdb,
+ 0xe4, 0xa9, 0x06, 0x29, 0xe5, 0x4c, 0x2f, 0x90, 0x71, 0x9d, 0xa9, 0x2f, 0x71, 0x78, 0x84, 0xeb,
+ 0x99, 0x8d, 0x0c, 0x5d, 0x5e, 0x36, 0xf4, 0x42, 0x74, 0x79, 0xd9, 0xd4, 0xfb, 0x50, 0xca, 0x13,
+ 0xe5, 0x25, 0x6f, 0x74, 0x9c, 0x08, 0x0c, 0x51, 0x2f, 0x57, 0x1a, 0x1e, 0x17, 0x16, 0xb4, 0x04,
+ 0x2a, 0xd5, 0x5a, 0x63, 0xc3, 0x40, 0xb9, 0x11, 0xd9, 0x54, 0xac, 0xa2, 0xe4, 0x58, 0xf4, 0x0d,
+ 0xc8, 0xd7, 0xd0, 0xe6, 0xa7, 0x71, 0xb2, 0xad, 0x4f, 0x2e, 0xfa, 0xd0, 0x3f, 0xde, 0xa9, 0x40,
+ 0xed, 0x52, 0x81, 0xf2, 0xdc, 0x35, 0x4f, 0x64, 0x91, 0x3f, 0x85, 0x81, 0x28, 0x61, 0xd5, 0x99,
+ 0x55, 0x3b, 0x4d, 0xe5, 0x48, 0xad, 0x9d, 0xa6, 0x7a, 0xbc, 0xb5, 0xc3, 0xa5, 0xa8, 0x62, 0xcf,
+ 0x24, 0xce, 0x2d, 0xe7, 0xea, 0x74, 0x95, 0xff, 0x5b, 0xe8, 0xfb, 0xff, 0x13, 0x00, 0x00, 0xff,
+ 0xff, 0xf4, 0x59, 0xe0, 0x8c, 0x58, 0x34, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -5265,6 +5307,9 @@ type XudClient interface {
// Gets the master seed mnemonic .
// shell: xucli getnemonic
GetMnemonic(ctx context.Context, in *GetMnemonicRequest, opts ...grpc.CallOption) (*GetMnemonicResponse, error)
+ // Gets the ETH account mnemonic .
+ // shell: xucli getnemonic
+ GetETHMnemonic(ctx context.Context, in *GetMnemonicRequest, opts ...grpc.CallOption) (*GetEthMnemonicResponse, error)
// Gets general information about a node.
// shell: xucli getnodeinfo
GetNodeInfo(ctx context.Context, in *GetNodeInfoRequest, opts ...grpc.CallOption) (*GetNodeInfoResponse, error)
@@ -5463,6 +5508,15 @@ func (c *xudClient) GetMnemonic(ctx context.Context, in *GetMnemonicRequest, opt
return out, nil
}
+func (c *xudClient) GetETHMnemonic(ctx context.Context, in *GetMnemonicRequest, opts ...grpc.CallOption) (*GetEthMnemonicResponse, error) {
+ out := new(GetEthMnemonicResponse)
+ err := c.cc.Invoke(ctx, "/xudrpc.Xud/GetETHMnemonic", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *xudClient) GetNodeInfo(ctx context.Context, in *GetNodeInfoRequest, opts ...grpc.CallOption) (*GetNodeInfoResponse, error) {
out := new(GetNodeInfoResponse)
err := c.cc.Invoke(ctx, "/xudrpc.Xud/GetNodeInfo", in, out, opts...)
@@ -5825,6 +5879,9 @@ type XudServer interface {
// Gets the master seed mnemonic .
// shell: xucli getnemonic
GetMnemonic(context.Context, *GetMnemonicRequest) (*GetMnemonicResponse, error)
+ // Gets the ETH account mnemonic .
+ // shell: xucli getnemonic
+ GetETHMnemonic(context.Context, *GetMnemonicRequest) (*GetEthMnemonicResponse, error)
// Gets general information about a node.
// shell: xucli getnodeinfo
GetNodeInfo(context.Context, *GetNodeInfoRequest) (*GetNodeInfoResponse, error)
@@ -6118,6 +6175,24 @@ func _Xud_GetMnemonic_Handler(srv interface{}, ctx context.Context, dec func(int
return interceptor(ctx, in, info, handler)
}
+func _Xud_GetETHMnemonic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetMnemonicRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(XudServer).GetETHMnemonic(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/xudrpc.Xud/GetETHMnemonic",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(XudServer).GetETHMnemonic(ctx, req.(*GetMnemonicRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Xud_GetNodeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetNodeInfoRequest)
if err := dec(in); err != nil {
@@ -6595,6 +6670,10 @@ var _Xud_serviceDesc = grpc.ServiceDesc{
MethodName: "GetMnemonic",
Handler: _Xud_GetMnemonic_Handler,
},
+ {
+ MethodName: "GetETHMnemonic",
+ Handler: _Xud_GetETHMnemonic_Handler,
+ },
{
MethodName: "GetNodeInfo",
Handler: _Xud_GetNodeInfo_Handler,