@kynesyslabs/demosdk 2.3.28 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/build/abstraction/Identities.d.ts +10 -1
  2. package/build/abstraction/Identities.js +34 -4
  3. package/build/abstraction/Identities.js.map +1 -1
  4. package/build/contracts/ContractDeployer.d.ts +34 -0
  5. package/build/contracts/ContractDeployer.js +196 -0
  6. package/build/contracts/ContractDeployer.js.map +1 -0
  7. package/build/contracts/ContractFactory.d.ts +52 -0
  8. package/build/contracts/ContractFactory.js +98 -0
  9. package/build/contracts/ContractFactory.js.map +1 -0
  10. package/build/contracts/ContractInstance.d.ts +51 -0
  11. package/build/contracts/ContractInstance.js +138 -0
  12. package/build/contracts/ContractInstance.js.map +1 -0
  13. package/build/contracts/ContractInteractor.d.ts +55 -0
  14. package/build/contracts/ContractInteractor.js +242 -0
  15. package/build/contracts/ContractInteractor.js.map +1 -0
  16. package/build/contracts/index.d.ts +9 -0
  17. package/build/contracts/index.js +16 -0
  18. package/build/contracts/index.js.map +1 -0
  19. package/build/contracts/templates/TemplateRegistry.d.ts +71 -0
  20. package/build/contracts/templates/TemplateRegistry.js +404 -0
  21. package/build/contracts/templates/TemplateRegistry.js.map +1 -0
  22. package/build/contracts/templates/TemplateValidator.d.ts +55 -0
  23. package/build/contracts/templates/TemplateValidator.js +202 -0
  24. package/build/contracts/templates/TemplateValidator.js.map +1 -0
  25. package/build/contracts/types/ContractABI.d.ts +111 -0
  26. package/build/contracts/types/ContractABI.js +6 -0
  27. package/build/contracts/types/ContractABI.js.map +1 -0
  28. package/build/contracts/types/TypedContract.d.ts +34 -0
  29. package/build/contracts/types/TypedContract.js +6 -0
  30. package/build/contracts/types/TypedContract.js.map +1 -0
  31. package/build/types/abstraction/index.d.ts +7 -1
  32. package/build/types/web2/discord.d.ts +8 -0
  33. package/build/types/web2/discord.js +3 -0
  34. package/build/types/web2/discord.js.map +1 -0
  35. package/build/websdk/DemosContracts.d.ts +140 -0
  36. package/build/websdk/DemosContracts.js +185 -0
  37. package/build/websdk/DemosContracts.js.map +1 -0
  38. package/build/websdk/demosclass.d.ts +6 -0
  39. package/build/websdk/demosclass.js +5 -0
  40. package/build/websdk/demosclass.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, GithubProof, TwitterProof, InferFromSignaturePayload } from "../types/abstraction";
1
+ import { XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, GithubProof, TwitterProof, InferFromSignaturePayload, DiscordProof } from "../types/abstraction";
2
2
  import { Demos } from "../websdk/demosclass";
3
3
  import { PQCAlgorithm } from "../types/cryptography";
4
4
  import { RPCResponseWithValidityData } from "../types";
@@ -7,6 +7,7 @@ export declare class Identities {
7
7
  web2: {
8
8
  github: string[];
9
9
  twitter: string[];
10
+ discord: string[];
10
11
  };
11
12
  };
12
13
  /**
@@ -86,6 +87,14 @@ export declare class Identities {
86
87
  * @returns The response from the RPC call.
87
88
  */
88
89
  addTwitterIdentity(demos: Demos, payload: TwitterProof, referralCode?: string): Promise<RPCResponseWithValidityData>;
90
+ /**
91
+ * Add a discord identity to the GCR.
92
+ *
93
+ * @param demos A Demos instance to communicate with the RPC.
94
+ * @param payload The payload to add the identity to.
95
+ * @returns The response from the RPC call.
96
+ */
97
+ addDiscordIdentity(demos: Demos, payload: DiscordProof, referralCode?: string): Promise<RPCResponseWithValidityData>;
89
98
  bindPqcIdentity(demos: Demos, algorithms?: "all" | PQCAlgorithm[]): Promise<RPCResponseWithValidityData>;
90
99
  removePqcIdentity(demos: Demos, algorithms?: "all" | PQCAlgorithm[]): Promise<RPCResponseWithValidityData>;
91
100
  /**
@@ -19,6 +19,10 @@ class Identities {
19
19
  "https://gist.githubusercontent.com",
20
20
  ],
21
21
  twitter: ["https://x.com", "https://twitter.com"],
22
+ discord: [
23
+ "https://discord.com/channels",
24
+ "https://ptb.discord.com/channels",
25
+ ],
22
26
  },
23
27
  };
24
28
  }
@@ -110,7 +114,10 @@ class Identities {
110
114
  * @returns The validity data of the identity transaction.
111
115
  */
112
116
  async inferXmIdentity(demos, payload, referralCode) {
113
- return await this.inferIdentity(demos, "xm", { ...payload, referralCode: referralCode });
117
+ return await this.inferIdentity(demos, "xm", {
118
+ ...payload,
119
+ referralCode: referralCode,
120
+ });
114
121
  }
115
122
  /**
116
123
  * Infer a web2 identity from a proof payload.
@@ -189,6 +196,31 @@ class Identities {
189
196
  };
190
197
  return await this.inferIdentity(demos, "web2", twitterPayload);
191
198
  }
199
+ /**
200
+ * Add a discord identity to the GCR.
201
+ *
202
+ * @param demos A Demos instance to communicate with the RPC.
203
+ * @param payload The payload to add the identity to.
204
+ * @returns The response from the RPC call.
205
+ */
206
+ async addDiscordIdentity(demos, payload, referralCode) {
207
+ const data = await demos.web2.getDiscordMessage(payload);
208
+ if (!data.success) {
209
+ throw new Error(data.error);
210
+ }
211
+ const msg = data.message;
212
+ if (!msg.authorId || !msg.authorUsername) {
213
+ throw new Error("Unable to get discord user info. Please try again.");
214
+ }
215
+ const discordPayload = {
216
+ context: "discord",
217
+ proof: payload,
218
+ username: msg.authorUsername,
219
+ userId: msg.authorId,
220
+ referralCode: referralCode,
221
+ };
222
+ return await this.inferIdentity(demos, "web2", discordPayload);
223
+ }
192
224
  // SECTION: PQC Identities
193
225
  async bindPqcIdentity(demos, algorithms = "all") {
194
226
  let addressTypes = [];
@@ -337,9 +369,7 @@ class Identities {
337
369
  }
338
370
  const request = {
339
371
  method: "gcr_routine",
340
- params: [
341
- { method: "getReferralInfo", params: [address] },
342
- ],
372
+ params: [{ method: "getReferralInfo", params: [address] }],
343
373
  };
344
374
  return await demos.rpcCall(request, true);
345
375
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Contract deployment functionality for Demos SDK
3
+ */
4
+ import { Demos } from '../websdk/demosclass';
5
+ import { ContractDeploymentResult, ContractDeployOptions } from './types/ContractABI';
6
+ import { ContractInstance } from './ContractInstance';
7
+ export declare class ContractDeployer {
8
+ private demos;
9
+ constructor(demos: Demos);
10
+ /**
11
+ * Deploy a new smart contract
12
+ * @param source TypeScript source code of the contract
13
+ * @param constructorArgs Arguments for the contract constructor
14
+ * @param options Deployment options
15
+ * @returns Deployment result with contract address
16
+ */
17
+ deploy(source: string, constructorArgs?: any[], options?: ContractDeployOptions): Promise<ContractDeploymentResult>;
18
+ /**
19
+ * Deploy a contract and return an instance wrapper
20
+ */
21
+ deployAndWrap<T = any>(source: string, constructorArgs?: any[], options?: ContractDeployOptions): Promise<ContractInstance<T>>;
22
+ /**
23
+ * Validate contract source code
24
+ */
25
+ private validateSourceCode;
26
+ /**
27
+ * Build deployment transaction
28
+ */
29
+ private buildDeployTransaction;
30
+ /**
31
+ * Wait for contract deployment confirmation
32
+ */
33
+ private waitForDeployment;
34
+ }
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ /**
3
+ * Contract deployment functionality for Demos SDK
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ContractDeployer = void 0;
40
+ const ContractInstance_1 = require("./ContractInstance");
41
+ const unifiedCrypto_1 = require("../encryption/unifiedCrypto");
42
+ const skeletons = __importStar(require("../websdk/utils/skeletons"));
43
+ class ContractDeployer {
44
+ constructor(demos) {
45
+ this.demos = demos;
46
+ }
47
+ /**
48
+ * Deploy a new smart contract
49
+ * @param source TypeScript source code of the contract
50
+ * @param constructorArgs Arguments for the contract constructor
51
+ * @param options Deployment options
52
+ * @returns Deployment result with contract address
53
+ */
54
+ async deploy(source, constructorArgs = [], options = {}) {
55
+ try {
56
+ // Validate wallet connection
57
+ if (!this.demos.walletConnected) {
58
+ throw new Error('Wallet not connected. Please connect a wallet first.');
59
+ }
60
+ // Validate source code
61
+ if (options.validateSource !== false) {
62
+ this.validateSourceCode(source);
63
+ }
64
+ // Prepare deployment payload
65
+ const deployPayload = {
66
+ source,
67
+ constructorArgs,
68
+ metadata: options.metadata
69
+ };
70
+ // Build the deployment transaction
71
+ const tx = await this.buildDeployTransaction(deployPayload, options);
72
+ // Send the transaction
73
+ const rpcResult = await this.demos.rpcCall({
74
+ method: 'sendTransaction',
75
+ params: [tx]
76
+ });
77
+ if (rpcResult.result !== 200) {
78
+ return {
79
+ success: false,
80
+ error: rpcResult.response?.error || 'Deployment failed'
81
+ };
82
+ }
83
+ // Wait for confirmation if requested
84
+ if (options.waitForConfirmation !== false) {
85
+ const confirmation = await this.waitForDeployment(rpcResult.response.transactionHash, options.confirmations || 1);
86
+ if (!confirmation.success) {
87
+ return {
88
+ success: false,
89
+ error: confirmation.error
90
+ };
91
+ }
92
+ return {
93
+ success: true,
94
+ contractAddress: confirmation.contractAddress,
95
+ deploymentTx: rpcResult.response.transactionHash,
96
+ gasUsed: confirmation.gasUsed,
97
+ blockHeight: confirmation.blockHeight
98
+ };
99
+ }
100
+ return {
101
+ success: true,
102
+ deploymentTx: rpcResult.response.transactionHash,
103
+ contractAddress: rpcResult.response.contractAddress
104
+ };
105
+ }
106
+ catch (error) {
107
+ return {
108
+ success: false,
109
+ error: error.message || 'Contract deployment failed'
110
+ };
111
+ }
112
+ }
113
+ /**
114
+ * Deploy a contract and return an instance wrapper
115
+ */
116
+ async deployAndWrap(source, constructorArgs = [], options = {}) {
117
+ const result = await this.deploy(source, constructorArgs, options);
118
+ if (!result.success || !result.contractAddress) {
119
+ throw new Error(result.error || 'Deployment failed');
120
+ }
121
+ return new ContractInstance_1.ContractInstance(this.demos, result.contractAddress, options.metadata?.abi);
122
+ }
123
+ /**
124
+ * Validate contract source code
125
+ */
126
+ validateSourceCode(source) {
127
+ // Check for basic contract structure
128
+ if (!source.includes('DemosContract')) {
129
+ throw new Error('Contract must extend DemosContract');
130
+ }
131
+ // Check for banned APIs
132
+ const bannedAPIs = [
133
+ 'eval', 'Function', 'setTimeout', 'setInterval',
134
+ 'XMLHttpRequest', 'fetch', 'WebSocket', 'Worker'
135
+ ];
136
+ for (const api of bannedAPIs) {
137
+ if (source.includes(api)) {
138
+ throw new Error(`Banned API detected: ${api}`);
139
+ }
140
+ }
141
+ // Check size limit (256KB)
142
+ const sizeInBytes = new TextEncoder().encode(source).length;
143
+ if (sizeInBytes > 256 * 1024) {
144
+ throw new Error(`Contract too large: ${sizeInBytes} bytes (max 256KB)`);
145
+ }
146
+ }
147
+ /**
148
+ * Build deployment transaction
149
+ */
150
+ async buildDeployTransaction(payload, options) {
151
+ const { publicKey } = await this.demos.crypto.getIdentity('ed25519');
152
+ const publicKeyHex = (0, unifiedCrypto_1.uint8ArrayToHex)(publicKey);
153
+ const nonce = await this.demos.getAddressNonce(publicKeyHex);
154
+ const tx = structuredClone(skeletons.transaction);
155
+ tx.content.type = 'contractDeploy';
156
+ tx.content.data = ['contractDeploy', payload];
157
+ tx.content.nonce = options.nonce || nonce;
158
+ tx.content.from = publicKeyHex;
159
+ tx.content.timestamp = Date.now();
160
+ tx.content.amount = Number(options.value || 0);
161
+ // Sign the transaction
162
+ return await this.demos.sign(tx);
163
+ }
164
+ /**
165
+ * Wait for contract deployment confirmation
166
+ */
167
+ async waitForDeployment(txHash, confirmations) {
168
+ const maxAttempts = 30; // 30 seconds timeout
169
+ let attempts = 0;
170
+ while (attempts < maxAttempts) {
171
+ const result = await this.demos.rpcCall({
172
+ method: 'getTransactionReceipt',
173
+ params: [txHash]
174
+ });
175
+ if (result.result === 200 && result.response) {
176
+ const receipt = result.response;
177
+ if (receipt.confirmations >= confirmations) {
178
+ return {
179
+ success: true,
180
+ contractAddress: receipt.contractAddress,
181
+ gasUsed: receipt.gasUsed,
182
+ blockHeight: receipt.blockHeight
183
+ };
184
+ }
185
+ }
186
+ await new Promise(resolve => setTimeout(resolve, 1000));
187
+ attempts++;
188
+ }
189
+ return {
190
+ success: false,
191
+ error: 'Deployment confirmation timeout'
192
+ };
193
+ }
194
+ }
195
+ exports.ContractDeployer = ContractDeployer;
196
+ //# sourceMappingURL=ContractDeployer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractDeployer.js","sourceRoot":"","sources":["../../../src/contracts/ContractDeployer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Factory for creating contract instances
3
+ */
4
+ import { Demos } from '../websdk/demosclass';
5
+ import { ContractDeployer } from './ContractDeployer';
6
+ import { ContractInteractor } from './ContractInteractor';
7
+ import { ContractInstance } from './ContractInstance';
8
+ import { ContractABI, ContractDeployOptions } from './types/ContractABI';
9
+ export declare class ContractFactory {
10
+ private demos;
11
+ private deployer;
12
+ private interactor;
13
+ constructor(demos: Demos);
14
+ /**
15
+ * Deploy a new contract
16
+ */
17
+ deploy(source: string, constructorArgs?: any[], options?: ContractDeployOptions): Promise<ContractInstance>;
18
+ /**
19
+ * Get an instance of an existing contract
20
+ */
21
+ at<T = any>(address: string, abi?: ContractABI): Promise<ContractInstance<T>>;
22
+ /**
23
+ * Create a batch operation builder
24
+ */
25
+ batch(): BatchBuilder;
26
+ /**
27
+ * Estimate gas for a contract call
28
+ */
29
+ estimateGas(contractAddress: string, method: string, args?: any[]): Promise<bigint>;
30
+ }
31
+ /**
32
+ * Batch operation builder
33
+ */
34
+ export declare class BatchBuilder {
35
+ private demos;
36
+ private deployer;
37
+ private interactor;
38
+ private operations;
39
+ constructor(demos: Demos, deployer: ContractDeployer, interactor: ContractInteractor);
40
+ /**
41
+ * Add a deployment to the batch
42
+ */
43
+ deploy(source: string, constructorArgs?: any[], options?: ContractDeployOptions): BatchBuilder;
44
+ /**
45
+ * Add a contract call to the batch
46
+ */
47
+ call(contractAddress: string, method: string, args?: any[]): BatchBuilder;
48
+ /**
49
+ * Execute all operations in the batch
50
+ */
51
+ execute(): Promise<any[]>;
52
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * Factory for creating contract instances
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BatchBuilder = exports.ContractFactory = void 0;
7
+ const ContractDeployer_1 = require("./ContractDeployer");
8
+ const ContractInteractor_1 = require("./ContractInteractor");
9
+ const ContractInstance_1 = require("./ContractInstance");
10
+ class ContractFactory {
11
+ constructor(demos) {
12
+ this.demos = demos;
13
+ this.deployer = new ContractDeployer_1.ContractDeployer(demos);
14
+ this.interactor = new ContractInteractor_1.ContractInteractor(demos);
15
+ }
16
+ /**
17
+ * Deploy a new contract
18
+ */
19
+ async deploy(source, constructorArgs = [], options = {}) {
20
+ return await this.deployer.deployAndWrap(source, constructorArgs, options);
21
+ }
22
+ /**
23
+ * Get an instance of an existing contract
24
+ */
25
+ async at(address, abi) {
26
+ return new ContractInstance_1.ContractInstance(this.demos, address, abi);
27
+ }
28
+ /**
29
+ * Create a batch operation builder
30
+ */
31
+ batch() {
32
+ return new BatchBuilder(this.demos, this.deployer, this.interactor);
33
+ }
34
+ /**
35
+ * Estimate gas for a contract call
36
+ */
37
+ async estimateGas(contractAddress, method, args = []) {
38
+ const result = await this.demos.rpcCall({
39
+ method: 'estimateGas',
40
+ params: [{
41
+ contractAddress,
42
+ method,
43
+ args
44
+ }]
45
+ });
46
+ if (result.result === 200) {
47
+ return BigInt(result.response.gasEstimate || 0);
48
+ }
49
+ throw new Error('Failed to estimate gas');
50
+ }
51
+ }
52
+ exports.ContractFactory = ContractFactory;
53
+ /**
54
+ * Batch operation builder
55
+ */
56
+ class BatchBuilder {
57
+ constructor(demos, deployer, interactor) {
58
+ this.demos = demos;
59
+ this.deployer = deployer;
60
+ this.interactor = interactor;
61
+ this.operations = [];
62
+ }
63
+ /**
64
+ * Add a deployment to the batch
65
+ */
66
+ deploy(source, constructorArgs = [], options = {}) {
67
+ this.operations.push(async () => await this.deployer.deploy(source, constructorArgs, options));
68
+ return this;
69
+ }
70
+ /**
71
+ * Add a contract call to the batch
72
+ */
73
+ call(contractAddress, method, args = []) {
74
+ this.operations.push(async () => await this.interactor.call(contractAddress, method, args));
75
+ return this;
76
+ }
77
+ /**
78
+ * Execute all operations in the batch
79
+ */
80
+ async execute() {
81
+ const results = [];
82
+ for (const operation of this.operations) {
83
+ try {
84
+ const result = await operation();
85
+ results.push(result);
86
+ }
87
+ catch (error) {
88
+ results.push({
89
+ success: false,
90
+ error: error.message
91
+ });
92
+ }
93
+ }
94
+ return results;
95
+ }
96
+ }
97
+ exports.BatchBuilder = BatchBuilder;
98
+ //# sourceMappingURL=ContractFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractFactory.js","sourceRoot":"","sources":["../../../src/contracts/ContractFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Contract instance wrapper for easy interaction
3
+ */
4
+ import { Demos } from '../websdk/demosclass';
5
+ import { ContractCallResult, ContractCallOptions, ContractABI } from './types/ContractABI';
6
+ import { ContractInstance as IContractInstance } from './types/TypedContract';
7
+ export declare class ContractInstance<T = any> implements IContractInstance<T> {
8
+ private demos;
9
+ address: string;
10
+ abi?: ContractABI;
11
+ private interactor;
12
+ methods: T;
13
+ constructor(demos: Demos, address: string, abi?: ContractABI);
14
+ /**
15
+ * Call a contract method
16
+ */
17
+ call<R = any>(method: string, args?: any[], options?: ContractCallOptions): Promise<ContractCallResult<R>>;
18
+ /**
19
+ * Send DEM with a contract call
20
+ */
21
+ callWithValue<R = any>(method: string, args: any[], value: bigint | number, options?: ContractCallOptions): Promise<ContractCallResult<R>>;
22
+ /**
23
+ * Get contract state (if accessible)
24
+ */
25
+ getState(key?: string): Promise<any>;
26
+ /**
27
+ * Get contract metadata
28
+ */
29
+ getMetadata(): Promise<any>;
30
+ /**
31
+ * Get contract events
32
+ */
33
+ getEvents(params?: {
34
+ eventName?: string;
35
+ fromBlock?: number;
36
+ toBlock?: number;
37
+ limit?: number;
38
+ }): Promise<any[]>;
39
+ /**
40
+ * Setup method proxies based on ABI
41
+ */
42
+ private setupMethodProxies;
43
+ /**
44
+ * Create a typed instance from ABI
45
+ */
46
+ static fromABI<T>(demos: Demos, address: string, abi: ContractABI): ContractInstance<T>;
47
+ /**
48
+ * Wait for contract to be deployed at address
49
+ */
50
+ static waitForDeployment(demos: Demos, address: string, timeout?: number): Promise<boolean>;
51
+ }