@sogni-ai/sogni-client 4.0.0-alpha.3 → 4.0.0-alpha.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +220 -0
- package/README.md +279 -28
- package/dist/Account/index.d.ts +18 -16
- package/dist/Account/index.js +31 -20
- package/dist/Account/index.js.map +1 -1
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.d.ts +66 -0
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +332 -0
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -0
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.d.ts +28 -0
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +203 -0
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -0
- package/dist/ApiClient/WebSocketClient/events.d.ts +11 -0
- package/dist/ApiClient/WebSocketClient/index.d.ts +2 -2
- package/dist/ApiClient/WebSocketClient/index.js +13 -3
- package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/WebSocketClient/types.d.ts +13 -0
- package/dist/ApiClient/index.d.ts +4 -4
- package/dist/ApiClient/index.js +23 -4
- package/dist/ApiClient/index.js.map +1 -1
- package/dist/Projects/Job.d.ts +44 -4
- package/dist/Projects/Job.js +83 -16
- package/dist/Projects/Job.js.map +1 -1
- package/dist/Projects/Project.d.ts +18 -0
- package/dist/Projects/Project.js +34 -6
- package/dist/Projects/Project.js.map +1 -1
- package/dist/Projects/createJobRequestMessage.js +109 -15
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/index.d.ts +110 -11
- package/dist/Projects/index.js +423 -42
- package/dist/Projects/index.js.map +1 -1
- package/dist/Projects/types/EstimationResponse.d.ts +2 -0
- package/dist/Projects/types/SamplerParams.d.ts +13 -0
- package/dist/Projects/types/SamplerParams.js +26 -0
- package/dist/Projects/types/SamplerParams.js.map +1 -0
- package/dist/Projects/types/SchedulerParams.d.ts +14 -0
- package/dist/Projects/types/SchedulerParams.js +24 -0
- package/dist/Projects/types/SchedulerParams.js.map +1 -0
- package/dist/Projects/types/events.d.ts +5 -1
- package/dist/Projects/types/index.d.ts +150 -39
- package/dist/Projects/types/index.js +13 -0
- package/dist/Projects/types/index.js.map +1 -1
- package/dist/Projects/utils.d.ts +19 -1
- package/dist/Projects/utils.js +68 -0
- package/dist/Projects/utils.js.map +1 -1
- package/dist/index.d.ts +12 -4
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/AuthManager/TokenAuthManager.js +0 -2
- package/dist/lib/AuthManager/TokenAuthManager.js.map +1 -1
- package/dist/lib/DataEntity.js +4 -2
- package/dist/lib/DataEntity.js.map +1 -1
- package/dist/lib/validation.d.ts +7 -0
- package/dist/lib/validation.js +36 -0
- package/dist/lib/validation.js.map +1 -1
- package/package.json +4 -4
- package/src/Account/index.ts +30 -19
- package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.ts +426 -0
- package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +237 -0
- package/src/ApiClient/WebSocketClient/events.ts +13 -0
- package/src/ApiClient/WebSocketClient/index.ts +15 -5
- package/src/ApiClient/WebSocketClient/types.ts +16 -0
- package/src/ApiClient/index.ts +30 -8
- package/src/Projects/Job.ts +97 -16
- package/src/Projects/Project.ts +42 -9
- package/src/Projects/createJobRequestMessage.ts +155 -36
- package/src/Projects/index.ts +447 -46
- package/src/Projects/types/EstimationResponse.ts +2 -0
- package/src/Projects/types/SamplerParams.ts +24 -0
- package/src/Projects/types/SchedulerParams.ts +22 -0
- package/src/Projects/types/events.ts +6 -0
- package/src/Projects/types/index.ts +181 -47
- package/src/Projects/utils.ts +66 -1
- package/src/index.ts +38 -11
- package/src/lib/AuthManager/TokenAuthManager.ts +0 -2
- package/src/lib/DataEntity.ts +4 -2
- package/src/lib/validation.ts +41 -0
package/dist/index.d.ts
CHANGED
|
@@ -6,13 +6,13 @@ import { Logger, LogLevel } from './lib/DefaultLogger';
|
|
|
6
6
|
import ProjectsApi from './Projects';
|
|
7
7
|
import Job, { JobStatus } from './Projects/Job';
|
|
8
8
|
import Project, { ProjectStatus } from './Projects/Project';
|
|
9
|
-
import { AvailableModel,
|
|
9
|
+
import { AvailableModel, ImageProjectParams, ImageOutputFormat, ProjectParams, Sampler, Scheduler, SupportedSamplers, SupportedSchedulers, VideoProjectParams, AudioFormat, VideoFormat, VideoOutputFormat, VideoWorkflowType } from './Projects/types';
|
|
10
10
|
import StatsApi from './Stats';
|
|
11
11
|
import ErrorData from './types/ErrorData';
|
|
12
12
|
import { TokenType } from './types/token';
|
|
13
13
|
import { TokenAuthData } from './lib/AuthManager';
|
|
14
|
-
export type { AvailableModel, ErrorData, JobStatus, Logger, LogLevel,
|
|
15
|
-
export { ApiError, CurrentAccount, Job, Project };
|
|
14
|
+
export type { AudioFormat, AvailableModel, ErrorData, ImageProjectParams, ImageOutputFormat, JobStatus, Logger, LogLevel, ProjectParams, ProjectStatus, Sampler, SupernetType, Scheduler, TokenType, VideoFormat, VideoOutputFormat, VideoProjectParams, VideoWorkflowType };
|
|
15
|
+
export { ApiError, CurrentAccount, Job, Project, SupportedSamplers, SupportedSchedulers };
|
|
16
16
|
export interface SogniClientConfig {
|
|
17
17
|
/**
|
|
18
18
|
* The application ID string. Must be unique, multiple connections with the same ID will be rejected.
|
|
@@ -30,7 +30,7 @@ export interface SogniClientConfig {
|
|
|
30
30
|
socketEndpoint?: string;
|
|
31
31
|
/**
|
|
32
32
|
* Disable WebSocket connection. Useful for testing or when WebSocket is not needed.
|
|
33
|
-
* Note that many may not work without WebSocket connection.
|
|
33
|
+
* Note that many APIs may not work without WebSocket connection.
|
|
34
34
|
* @experimental
|
|
35
35
|
* @internal
|
|
36
36
|
*/
|
|
@@ -62,6 +62,14 @@ export interface SogniClientConfig {
|
|
|
62
62
|
* @experimental
|
|
63
63
|
*/
|
|
64
64
|
authType?: 'token' | 'cookies';
|
|
65
|
+
/**
|
|
66
|
+
* Browser only. If true, the client will use a single WebSocket connection shared across multiple
|
|
67
|
+
* tabs. This is useful for browser apps that need to process multiple projects at the same time.
|
|
68
|
+
* Only works in browser environment and with cookie authentication.
|
|
69
|
+
* @default false
|
|
70
|
+
* @experimental
|
|
71
|
+
*/
|
|
72
|
+
multiInstance?: boolean;
|
|
65
73
|
}
|
|
66
74
|
export declare class SogniClient {
|
|
67
75
|
account: AccountApi;
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.SogniClient = exports.Project = exports.Job = exports.CurrentAccount = exports.ApiError = void 0;
|
|
38
|
+
exports.SogniClient = exports.SupportedSchedulers = exports.SupportedSamplers = exports.Project = exports.Job = exports.CurrentAccount = exports.ApiError = void 0;
|
|
39
39
|
// Account API
|
|
40
40
|
const Account_1 = __importDefault(require("./Account"));
|
|
41
41
|
const CurrentAccount_1 = __importDefault(require("./Account/CurrentAccount"));
|
|
@@ -52,6 +52,9 @@ const Job_1 = __importDefault(require("./Projects/Job"));
|
|
|
52
52
|
exports.Job = Job_1.default;
|
|
53
53
|
const Project_1 = __importDefault(require("./Projects/Project"));
|
|
54
54
|
exports.Project = Project_1.default;
|
|
55
|
+
const types_1 = require("./Projects/types");
|
|
56
|
+
Object.defineProperty(exports, "SupportedSamplers", { enumerable: true, get: function () { return types_1.SupportedSamplers; } });
|
|
57
|
+
Object.defineProperty(exports, "SupportedSchedulers", { enumerable: true, get: function () { return types_1.SupportedSchedulers; } });
|
|
55
58
|
// Stats API
|
|
56
59
|
const Stats_1 = __importDefault(require("./Stats"));
|
|
57
60
|
const AuthManager_1 = require("./lib/AuthManager");
|
|
@@ -92,9 +95,13 @@ class SogniClient {
|
|
|
92
95
|
throw Error('This method should only be called when using cookie auth');
|
|
93
96
|
}
|
|
94
97
|
try {
|
|
95
|
-
yield this.apiClient.rest.get('/v1/account/me');
|
|
98
|
+
const res = yield this.apiClient.rest.get('/v1/account/me');
|
|
96
99
|
yield auth.authenticate();
|
|
97
|
-
|
|
100
|
+
this.currentAccount._update({
|
|
101
|
+
username: res.data.username,
|
|
102
|
+
email: res.data.currentEmail,
|
|
103
|
+
walletAddress: res.data.walletAddress
|
|
104
|
+
});
|
|
98
105
|
return true;
|
|
99
106
|
}
|
|
100
107
|
catch (e) {
|
|
@@ -121,7 +128,8 @@ class SogniClient {
|
|
|
121
128
|
networkType: network,
|
|
122
129
|
logger,
|
|
123
130
|
authType: config.authType || 'token',
|
|
124
|
-
disableSocket: config.disableSocket
|
|
131
|
+
disableSocket: config.disableSocket,
|
|
132
|
+
multiInstance: config.multiInstance
|
|
125
133
|
});
|
|
126
134
|
const eip712 = new EIP712Helper_1.default({
|
|
127
135
|
name: isTestnet ? 'Sogni-testnet' : 'Sogni AI',
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,wDAAmC;AACnC,8EAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,6 @@ class TokenAuthManager extends AuthManagerBase_1.default {
|
|
|
42
42
|
const { expiresAt } = (0, utils_1.decodeToken)(token);
|
|
43
43
|
if (expiresAt > new Date()) {
|
|
44
44
|
this._updateTokens({ token, refreshToken });
|
|
45
|
-
this.emit('updated', true);
|
|
46
45
|
return;
|
|
47
46
|
}
|
|
48
47
|
}
|
|
@@ -51,7 +50,6 @@ class TokenAuthManager extends AuthManagerBase_1.default {
|
|
|
51
50
|
const { expiresAt: refreshExpiresAt } = (0, utils_1.decodeRefreshToken)(refreshToken);
|
|
52
51
|
this._refreshTokenExpiresAt = refreshExpiresAt;
|
|
53
52
|
yield this._renewTokenSafe();
|
|
54
|
-
this.emit('updated', true);
|
|
55
53
|
});
|
|
56
54
|
}
|
|
57
55
|
clear() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAuthManager.js","sourceRoot":"","sources":["../../../src/lib/AuthManager/TokenAuthManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA2D;AAC3D,+CAA6D;AAE7D,2DAAmC;AACnC,0DAA+B;AAC/B,wEAAgD;AAahD,MAAM,gBAAiB,SAAQ,yBAAqC;IAQlE,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;QAPR,oBAAe,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,2BAAsB,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAMjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1E,CAAC;IAEK,MAAM;;YACV,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,YAAY;6DAAC,EAAE,YAAY,EAAE,KAAK,EAAiB;YACvD,mEAAmE;YACnE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC3B,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC5C,
|
|
1
|
+
{"version":3,"file":"TokenAuthManager.js","sourceRoot":"","sources":["../../../src/lib/AuthManager/TokenAuthManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA2D;AAC3D,+CAA6D;AAE7D,2DAAmC;AACnC,0DAA+B;AAC/B,wEAAgD;AAahD,MAAM,gBAAiB,SAAQ,yBAAqC;IAQlE,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;QAPR,oBAAe,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,2BAAsB,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAMjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1E,CAAC;IAEK,MAAM;;YACV,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,YAAY;6DAAC,EAAE,YAAY,EAAE,KAAK,EAAiB;YACvD,mEAAmE;YACnE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC3B,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;YACH,CAAC;YACD,8DAA8D;YAC9D,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAA,0BAAkB,EAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,sBAAsB,GAAG,gBAAgB,CAAC;YAC/C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;KAAA;IAED,KAAK;QACH,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEK,mBAAmB,CAAC,MAAmB;;YAC3C,uDAAuD;YACvD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrD,uCAAY,MAAM,KAAE,OAAO,kCAAO,MAAM,CAAC,OAAO,KAAE,aAAa,EAAE,IAAI,CAAC,MAAM,OAAK;YACnF,CAAC;YACD,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,qDAAqD;YACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,uCAAY,MAAM,KAAE,OAAO,kCAAO,MAAM,CAAC,OAAO,KAAE,aAAa,EAAE,KAAK,OAAK;QAC7E,CAAC;KAAA;IAEK,aAAa;;YACjB,IAAI,CAAC,kBAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP,aAAa,EAAE,KAAK;iBACrB;aACF,CAAC;QACJ,CAAC;KAAA;IAEa,SAAS;;YACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,qDAAqD;YACrD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC;KAAA;IAEa,eAAe;;YAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;KAAA;IAEO,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAA2C;QACpF,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAA,0BAAkB,EAAC,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,gBAAgB,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,cAAc;QACpB,IAAI,kBAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE,CAAC;YACV,mBAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE;gBACjC,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mBAAM,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC7B,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEa,WAAW;;YACvB,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;aAC3D,CAAC,CAAC;YACH,IAAI,YAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,oBAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAgC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,MAAO,CAAC;QACtB,CAAC;KAAA;CACF;AAED,kBAAe,gBAAgB,CAAC"}
|
package/dist/lib/DataEntity.js
CHANGED
|
@@ -18,9 +18,11 @@ class DataEntity extends TypedEventEmitter_1.default {
|
|
|
18
18
|
_update(delta) {
|
|
19
19
|
//@ts-ignore
|
|
20
20
|
const changedKeys = Object.keys(delta).filter((key) => this.data[key] !== delta[key]);
|
|
21
|
-
this.data = Object.assign(Object.assign({}, this.data), delta);
|
|
22
21
|
this.lastUpdated = new Date();
|
|
23
|
-
|
|
22
|
+
if (changedKeys.length > 0) {
|
|
23
|
+
this.data = Object.assign(Object.assign({}, this.data), delta);
|
|
24
|
+
this.emit('updated', changedKeys);
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Get a copy of the entity's data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataEntity.js","sourceRoot":"","sources":["../../src/lib/DataEntity.ts"],"names":[],"mappings":";;;;;AAAA,mCAAmC;AACnC,4EAAoD;AASpD,MAAe,UAAqD,SAAQ,2BAAoB;IAK9F,YAAY,IAAO;QACjB,KAAK,EAAE,CAAC;QAHA,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAIvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAiB;QACvB,YAAY;QACZ,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"DataEntity.js","sourceRoot":"","sources":["../../src/lib/DataEntity.ts"],"names":[],"mappings":";;;;;AAAA,mCAAmC;AACnC,4EAAoD;AASpD,MAAe,UAAqD,SAAQ,2BAAoB;IAK9F,YAAY,IAAO;QACjB,KAAK,EAAE,CAAC;QAHA,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAIvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAiB;QACvB,YAAY;QACZ,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,mCAAQ,IAAI,CAAC,IAAI,GAAK,KAAK,CAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,kBAAe,UAAU,CAAC"}
|
package/dist/lib/validation.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export declare function validateCustomImageSize(value: any): number;
|
|
2
|
+
/**
|
|
3
|
+
* Validate video dimensions for Wan 2.2 models.
|
|
4
|
+
* Minimum dimension is 480px for both width and height.
|
|
5
|
+
*/
|
|
6
|
+
export declare function validateVideoSize(value: any, propertyName: 'width' | 'height'): number;
|
|
2
7
|
interface NumberValidationOptions {
|
|
3
8
|
min?: number;
|
|
4
9
|
max?: number;
|
|
@@ -6,4 +11,6 @@ interface NumberValidationOptions {
|
|
|
6
11
|
defaultValue?: number;
|
|
7
12
|
}
|
|
8
13
|
export declare function validateNumber(value: any, { min, max, propertyName, defaultValue }?: NumberValidationOptions): number;
|
|
14
|
+
export declare function validateSampler(value?: string): string | null;
|
|
15
|
+
export declare function validateScheduler(value?: string): string | null;
|
|
9
16
|
export {};
|
package/dist/lib/validation.js
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateCustomImageSize = validateCustomImageSize;
|
|
4
|
+
exports.validateVideoSize = validateVideoSize;
|
|
4
5
|
exports.validateNumber = validateNumber;
|
|
6
|
+
exports.validateSampler = validateSampler;
|
|
7
|
+
exports.validateScheduler = validateScheduler;
|
|
8
|
+
const SamplerParams_1 = require("../Projects/types/SamplerParams");
|
|
9
|
+
const SchedulerParams_1 = require("../Projects/types/SchedulerParams");
|
|
5
10
|
function validateCustomImageSize(value) {
|
|
6
11
|
return validateNumber(value, { min: 256, max: 2048, propertyName: 'Width and height' });
|
|
7
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Validate video dimensions for Wan 2.2 models.
|
|
15
|
+
* Minimum dimension is 480px for both width and height.
|
|
16
|
+
*/
|
|
17
|
+
function validateVideoSize(value, propertyName) {
|
|
18
|
+
return validateNumber(value, { min: 480, propertyName: `Video ${propertyName}` });
|
|
19
|
+
}
|
|
8
20
|
function validateNumber(value, { min, max, propertyName, defaultValue } = {}) {
|
|
9
21
|
const number = Number(value);
|
|
10
22
|
const hasDefaultValue = defaultValue !== undefined;
|
|
@@ -31,4 +43,28 @@ function validateNumber(value, { min, max, propertyName, defaultValue } = {}) {
|
|
|
31
43
|
}
|
|
32
44
|
return number;
|
|
33
45
|
}
|
|
46
|
+
function validateSampler(value) {
|
|
47
|
+
if (!value) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
if ((0, SamplerParams_1.isRawSampler)(value)) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
if ((0, SamplerParams_1.isSampler)(value)) {
|
|
54
|
+
return SamplerParams_1.SupportedSamplers[value];
|
|
55
|
+
}
|
|
56
|
+
throw new Error(`Invalid sampler: ${value}. Supported options: ${Object.keys(SamplerParams_1.SupportedSamplers).join(', ')}`);
|
|
57
|
+
}
|
|
58
|
+
function validateScheduler(value) {
|
|
59
|
+
if (!value) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
if ((0, SamplerParams_1.isRawSampler)(value)) {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
if ((0, SchedulerParams_1.isScheduler)(value)) {
|
|
66
|
+
return SchedulerParams_1.SupportedSchedulers[value];
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Invalid scheduler: ${value}. Supported options: ${Object.keys(SchedulerParams_1.SupportedSchedulers).join(', ')}`);
|
|
69
|
+
}
|
|
34
70
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":";;AAGA,0DAEC;AAMD,8CAEC;AASD,wCA4BC;AAED,0CAaC;AAED,8CAaC;AAhFD,mEAA6F;AAC7F,uEAAqF;AAErF,SAAgB,uBAAuB,CAAC,KAAU;IAChD,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAU,EAAE,YAAgC;IAC5E,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,YAAY,EAAE,EAAE,CAAC,CAAC;AACpF,CAAC;AASD,SAAgB,cAAc,CAC5B,KAAU,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,KAA8B,EAAE;IAEtE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAA,4BAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,iCAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK,wBAAwB,MAAM,CAAC,IAAI,CAAC,iCAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAA,4BAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,qCAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,sBAAsB,KAAK,wBAAwB,MAAM,CAAC,IAAI,CAAC,qCAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "4.0.0-alpha.
|
|
6
|
+
"version": "4.0.0-alpha.31",
|
|
7
7
|
"description": "Sogni Supernet Client",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
"homepage": "https://github.com/Sogni-AI/sogni-client#readme",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@lukeed/uuid": "^2.0.1",
|
|
40
|
+
"@types/js-cookie": "^3.0.6",
|
|
41
|
+
"@types/lodash": "^4.17.13",
|
|
42
|
+
"@types/ws": "^8.5.13",
|
|
40
43
|
"ethers": "^6.13.4",
|
|
41
44
|
"isomorphic-ws": "^5.0.0",
|
|
42
45
|
"js-cookie": "^3.0.5",
|
|
@@ -47,9 +50,6 @@
|
|
|
47
50
|
"devDependencies": {
|
|
48
51
|
"@semantic-release/changelog": "^6.0.3",
|
|
49
52
|
"@semantic-release/git": "^10.0.1",
|
|
50
|
-
"@types/js-cookie": "^3.0.6",
|
|
51
|
-
"@types/lodash": "^4.17.13",
|
|
52
|
-
"@types/ws": "^8.5.13",
|
|
53
53
|
"prettier": "^3.3.3",
|
|
54
54
|
"rimraf": "^6.0.1",
|
|
55
55
|
"semantic-release": "^24.2.1",
|
package/src/Account/index.ts
CHANGED
|
@@ -29,11 +29,11 @@ enum ErrorCode {
|
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Account API methods that let you interact with the user's account.
|
|
32
|
-
* Can be accessed via `
|
|
32
|
+
* Can be accessed via `sogni.account`. Look for more samples below.
|
|
33
33
|
*
|
|
34
34
|
* @example Retrieve the current account balance
|
|
35
35
|
* ```typescript
|
|
36
|
-
* const balance = await
|
|
36
|
+
* const balance = await sogni.account.refreshBalance();
|
|
37
37
|
* console.log(balance);
|
|
38
38
|
* ```
|
|
39
39
|
*
|
|
@@ -43,7 +43,12 @@ class AccountApi extends ApiGroup {
|
|
|
43
43
|
|
|
44
44
|
constructor(config: ApiConfig) {
|
|
45
45
|
super(config);
|
|
46
|
+
this.currentAccount._update({
|
|
47
|
+
networkStatus: this.client.socket.isConnected ? 'connected' : 'disconnected',
|
|
48
|
+
network: this.client.socket.supernetType
|
|
49
|
+
});
|
|
46
50
|
this.client.socket.on('balanceUpdate', this.handleBalanceUpdate.bind(this));
|
|
51
|
+
this.client.socket.on('changeNetwork', this.handleChangeNetwork.bind(this));
|
|
47
52
|
this.client.on('connected', this.handleServerConnected.bind(this));
|
|
48
53
|
this.client.on('disconnected', this.handleServerDisconnected.bind(this));
|
|
49
54
|
this.client.auth.on('updated', this.handleAuthUpdated.bind(this));
|
|
@@ -53,6 +58,10 @@ class AccountApi extends ApiGroup {
|
|
|
53
58
|
this.currentAccount._update({ balance: data });
|
|
54
59
|
}
|
|
55
60
|
|
|
61
|
+
private handleChangeNetwork({ network }: { network: SupernetType }) {
|
|
62
|
+
this.currentAccount._update({ network, networkStatus: 'connected' });
|
|
63
|
+
}
|
|
64
|
+
|
|
56
65
|
private handleServerConnected({ network }: { network: SupernetType }) {
|
|
57
66
|
this.currentAccount._update({
|
|
58
67
|
networkStatus: 'connected',
|
|
@@ -70,6 +79,8 @@ class AccountApi extends ApiGroup {
|
|
|
70
79
|
private handleAuthUpdated(isAuthenticated: boolean) {
|
|
71
80
|
if (!isAuthenticated) {
|
|
72
81
|
this.currentAccount._clear();
|
|
82
|
+
} else {
|
|
83
|
+
this.me();
|
|
73
84
|
}
|
|
74
85
|
}
|
|
75
86
|
|
|
@@ -92,7 +103,7 @@ class AccountApi extends ApiGroup {
|
|
|
92
103
|
*
|
|
93
104
|
* @example Create a wallet from username and password
|
|
94
105
|
* ```typescript
|
|
95
|
-
* const wallet =
|
|
106
|
+
* const wallet = sogni.account.getWallet('username', 'password');
|
|
96
107
|
* console.log(wallet.address);
|
|
97
108
|
* ```
|
|
98
109
|
*
|
|
@@ -137,7 +148,6 @@ class AccountApi extends ApiGroup {
|
|
|
137
148
|
} else {
|
|
138
149
|
await auth.authenticate();
|
|
139
150
|
}
|
|
140
|
-
await this.me();
|
|
141
151
|
return res.data;
|
|
142
152
|
}
|
|
143
153
|
|
|
@@ -146,7 +156,7 @@ class AccountApi extends ApiGroup {
|
|
|
146
156
|
*
|
|
147
157
|
* @example Login with username and password
|
|
148
158
|
* ```typescript
|
|
149
|
-
* await
|
|
159
|
+
* await sogni.account.login('username', 'password');
|
|
150
160
|
* console.log('Logged in');
|
|
151
161
|
* ```
|
|
152
162
|
*
|
|
@@ -173,7 +183,6 @@ class AccountApi extends ApiGroup {
|
|
|
173
183
|
} else {
|
|
174
184
|
await auth.authenticate();
|
|
175
185
|
}
|
|
176
|
-
await this.me();
|
|
177
186
|
return res.data;
|
|
178
187
|
}
|
|
179
188
|
|
|
@@ -182,7 +191,7 @@ class AccountApi extends ApiGroup {
|
|
|
182
191
|
*
|
|
183
192
|
* @example Logout the user
|
|
184
193
|
* ```typescript
|
|
185
|
-
* await
|
|
194
|
+
* await sogni.account.logout();
|
|
186
195
|
* console.log('Logged out');
|
|
187
196
|
* ```
|
|
188
197
|
*/
|
|
@@ -200,7 +209,7 @@ class AccountApi extends ApiGroup {
|
|
|
200
209
|
*
|
|
201
210
|
* @example Refresh user account balance
|
|
202
211
|
* ```typescript
|
|
203
|
-
* const balance = await
|
|
212
|
+
* const balance = await sogni.account.refreshBalance();
|
|
204
213
|
* console.log(balance);
|
|
205
214
|
* ```
|
|
206
215
|
*/
|
|
@@ -216,7 +225,7 @@ class AccountApi extends ApiGroup {
|
|
|
216
225
|
*
|
|
217
226
|
* @example Get the account balance of the current user
|
|
218
227
|
* ```typescript
|
|
219
|
-
* const balance = await
|
|
228
|
+
* const balance = await sogni.account.accountBalance();
|
|
220
229
|
* console.log(balance);
|
|
221
230
|
* ```
|
|
222
231
|
*/
|
|
@@ -232,19 +241,21 @@ class AccountApi extends ApiGroup {
|
|
|
232
241
|
*
|
|
233
242
|
* @example Get the balance of the wallet address
|
|
234
243
|
* ```typescript
|
|
235
|
-
* const address =
|
|
236
|
-
* const balance = await
|
|
244
|
+
* const address = sogni.account.currentAccount.walletAddress;
|
|
245
|
+
* const balance = await sogni.account.walletBalance(address);
|
|
237
246
|
* console.log(balance);
|
|
238
247
|
* // { token: '100.000000', ether: '0.000000' }
|
|
239
248
|
* ```
|
|
240
249
|
*
|
|
241
250
|
* @param walletAddress
|
|
251
|
+
* @param provider - blockchain provider, 'base' or 'etherlink' defaults to 'base'
|
|
242
252
|
*/
|
|
243
|
-
async walletBalance(walletAddress: string) {
|
|
253
|
+
async walletBalance(walletAddress: string, provider: 'base' | 'etherlink' = 'base') {
|
|
244
254
|
const res = await this.client.rest.get<
|
|
245
255
|
ApiResponse<{ sogni: string; spark: string; ether: string }>
|
|
246
256
|
>('/v2/wallet/balance', {
|
|
247
|
-
walletAddress
|
|
257
|
+
walletAddress,
|
|
258
|
+
provider
|
|
248
259
|
});
|
|
249
260
|
return res.data;
|
|
250
261
|
}
|
|
@@ -287,9 +298,9 @@ class AccountApi extends ApiGroup {
|
|
|
287
298
|
*
|
|
288
299
|
* @example Switch to the fast network
|
|
289
300
|
* ```typescript
|
|
290
|
-
* await
|
|
301
|
+
* await sogni.account.switchNetwork('fast');
|
|
291
302
|
* console.log('Switched to the fast network, now lets wait until we get list of models');
|
|
292
|
-
* await
|
|
303
|
+
* await sogni.projects.waitForModels();
|
|
293
304
|
* ```
|
|
294
305
|
* @param network - Network type to switch to
|
|
295
306
|
*/
|
|
@@ -311,10 +322,10 @@ class AccountApi extends ApiGroup {
|
|
|
311
322
|
*
|
|
312
323
|
* @example Get the transaction history
|
|
313
324
|
* ```typescript
|
|
314
|
-
* const { entries, next } = await
|
|
325
|
+
* const { entries, next } = await sogni.account.transactionHistory({
|
|
315
326
|
* status: 'completed',
|
|
316
327
|
* limit: 10,
|
|
317
|
-
* address:
|
|
328
|
+
* address: sogni.account.currentAccount.walletAddress
|
|
318
329
|
* });
|
|
319
330
|
* ```
|
|
320
331
|
*
|
|
@@ -420,7 +431,7 @@ class AccountApi extends ApiGroup {
|
|
|
420
431
|
* Withdraw funds from the current account to wallet.
|
|
421
432
|
* @example withdraw to current wallet address
|
|
422
433
|
* ```typescript
|
|
423
|
-
* await
|
|
434
|
+
* await sogni.account.withdraw('your-account-password', 100);
|
|
424
435
|
* ```
|
|
425
436
|
*
|
|
426
437
|
* @param password - account password
|
|
@@ -452,7 +463,7 @@ class AccountApi extends ApiGroup {
|
|
|
452
463
|
* Deposit tokens from wallet to account
|
|
453
464
|
* @example withdraw to current wallet address
|
|
454
465
|
* ```typescript
|
|
455
|
-
* await
|
|
466
|
+
* await sogni.account.deposit('your-account-password', 100);
|
|
456
467
|
* ```
|
|
457
468
|
*
|
|
458
469
|
* @param password - account password
|