wowok_agent 1.2.35 → 1.2.38

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 (98) hide show
  1. package/dist/call/arbitration.d.ts +69 -0
  2. package/dist/call/arbitration.d.ts.map +1 -0
  3. package/dist/call/arbitration.js +186 -0
  4. package/dist/call/arbitration.js.map +1 -0
  5. package/dist/call/base.d.ts +35 -0
  6. package/dist/call/base.d.ts.map +1 -0
  7. package/dist/call/base.js +148 -0
  8. package/dist/call/base.js.map +1 -0
  9. package/dist/call/call.d.ts +84 -0
  10. package/dist/call/call.d.ts.map +1 -0
  11. package/dist/call/call.js +153 -0
  12. package/dist/call/call.js.map +1 -0
  13. package/dist/call/demand.d.ts +55 -0
  14. package/dist/call/demand.d.ts.map +1 -0
  15. package/dist/call/demand.js +135 -0
  16. package/dist/call/demand.js.map +1 -0
  17. package/dist/call/guard.d.ts +42 -0
  18. package/dist/call/guard.d.ts.map +1 -0
  19. package/dist/call/guard.js +253 -0
  20. package/dist/call/guard.js.map +1 -0
  21. package/dist/call/machine.d.ts +109 -0
  22. package/dist/call/machine.d.ts.map +1 -0
  23. package/dist/call/machine.js +213 -0
  24. package/dist/call/machine.js.map +1 -0
  25. package/dist/call/object_permission.d.ts +13 -0
  26. package/dist/call/object_permission.d.ts.map +1 -0
  27. package/dist/call/object_permission.js +49 -0
  28. package/dist/call/object_permission.js.map +1 -0
  29. package/dist/call/permission.d.ts +49 -0
  30. package/dist/call/permission.d.ts.map +1 -0
  31. package/dist/call/permission.js +98 -0
  32. package/dist/call/permission.js.map +1 -0
  33. package/dist/call/personal.d.ts +42 -0
  34. package/dist/call/personal.d.ts.map +1 -0
  35. package/dist/call/personal.js +61 -0
  36. package/dist/call/personal.js.map +1 -0
  37. package/dist/call/repository.d.ts +52 -0
  38. package/dist/call/repository.d.ts.map +1 -0
  39. package/dist/call/repository.js +125 -0
  40. package/dist/call/repository.js.map +1 -0
  41. package/dist/call/service.d.ts +134 -0
  42. package/dist/call/service.d.ts.map +1 -0
  43. package/dist/call/service.js +340 -0
  44. package/dist/call/service.js.map +1 -0
  45. package/dist/call/treasury.d.ts +53 -0
  46. package/dist/call/treasury.d.ts.map +1 -0
  47. package/dist/call/treasury.js +161 -0
  48. package/dist/call/treasury.js.map +1 -0
  49. package/dist/common.d.ts +2 -0
  50. package/dist/common.d.ts.map +1 -0
  51. package/dist/common.js +4 -0
  52. package/dist/common.js.map +1 -0
  53. package/dist/index.d.ts +21 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +21 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/local/account.d.ts +24 -0
  58. package/dist/local/account.d.ts.map +1 -0
  59. package/dist/local/account.js +188 -0
  60. package/dist/local/account.js.map +1 -0
  61. package/dist/local/cache.d.ts +32 -0
  62. package/dist/local/cache.d.ts.map +1 -0
  63. package/dist/local/cache.js +71 -0
  64. package/dist/local/cache.js.map +1 -0
  65. package/dist/local/index.d.ts +69 -0
  66. package/dist/local/index.d.ts.map +1 -0
  67. package/dist/local/index.js +94 -0
  68. package/dist/local/index.js.map +1 -0
  69. package/dist/local/local.d.ts +53 -0
  70. package/dist/local/local.d.ts.map +1 -0
  71. package/dist/local/local.js +211 -0
  72. package/dist/local/local.js.map +1 -0
  73. package/dist/query/events.d.ts +63 -0
  74. package/dist/query/events.d.ts.map +1 -0
  75. package/dist/query/events.js +78 -0
  76. package/dist/query/events.js.map +1 -0
  77. package/dist/query/objects.d.ts +323 -0
  78. package/dist/query/objects.d.ts.map +1 -0
  79. package/dist/query/objects.js +445 -0
  80. package/dist/query/objects.js.map +1 -0
  81. package/dist/query/permission.d.ts +12 -0
  82. package/dist/query/permission.d.ts.map +1 -0
  83. package/dist/query/permission.js +41 -0
  84. package/dist/query/permission.js.map +1 -0
  85. package/package.json +1 -1
  86. package/src/call/arbitration.ts +1 -1
  87. package/src/call/base.ts +1 -1
  88. package/src/call/call.ts +1 -2
  89. package/src/call/demand.ts +1 -1
  90. package/src/call/object_permission.ts +1 -1
  91. package/src/call/service.ts +1 -1
  92. package/src/call/treasury.ts +2 -2
  93. package/src/index.ts +2 -0
  94. package/src/local/account.ts +19 -1
  95. package/src/local/index.ts +140 -0
  96. package/src/local/local.ts +38 -9
  97. package/src/query/objects.ts +8 -7
  98. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,69 @@
1
+ import { TransactionBlock, PassportObject, VotingGuard, WithdrawFee } from 'wowok';
2
+ import { CallBase, CallResult, Namedbject } from "./base.js";
3
+ export interface DisputeData {
4
+ order: string;
5
+ order_token_type: string;
6
+ description: string;
7
+ votable_proposition: string[];
8
+ fee: string | number;
9
+ }
10
+ export interface CallArbitration_Data {
11
+ type_parameter: string;
12
+ object?: {
13
+ address: string;
14
+ } | {
15
+ namedNew?: Namedbject;
16
+ };
17
+ permission?: {
18
+ address: string;
19
+ } | {
20
+ namedNew?: Namedbject;
21
+ description?: string;
22
+ };
23
+ description?: string;
24
+ endpoint?: string;
25
+ fee?: string | number;
26
+ fee_treasury?: {
27
+ address: string;
28
+ } | {
29
+ namedNew?: Namedbject;
30
+ description?: string;
31
+ };
32
+ arb_new?: {
33
+ data: DisputeData;
34
+ guard?: string | 'fetch';
35
+ namedNew?: Namedbject;
36
+ };
37
+ arb_withdraw_fee?: {
38
+ arb?: string;
39
+ data: WithdrawFee;
40
+ };
41
+ arb_vote?: {
42
+ arb?: string;
43
+ voting_guard?: string;
44
+ agrees: number[];
45
+ };
46
+ arb_arbitration?: {
47
+ arb?: string;
48
+ feedback: string;
49
+ indemnity?: string | number;
50
+ };
51
+ guard?: string;
52
+ voting_guard?: {
53
+ op: 'add' | 'set';
54
+ data: VotingGuard[];
55
+ } | {
56
+ op: 'remove';
57
+ guards: string[];
58
+ } | {
59
+ op: 'removeall';
60
+ };
61
+ bPaused?: boolean;
62
+ }
63
+ export declare class CallArbitration extends CallBase {
64
+ data: CallArbitration_Data;
65
+ constructor(data: CallArbitration_Data);
66
+ call(account?: string): Promise<CallResult>;
67
+ protected operate(txb: TransactionBlock, passport?: PassportObject, account?: string): Promise<void>;
68
+ }
69
+ //# sourceMappingURL=arbitration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arbitration.d.ts","sourceRoot":"","sources":["../../src/call/arbitration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,cAAc,EACT,WAAW,EAAE,WAAW,EACvE,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAE5D,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,oBAAoB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QAAC,OAAO,EAAC,MAAM,CAAA;KAAC,GAAG;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;KAAC,CAAC;IACpD,UAAU,CAAC,EAAE;QAAC,OAAO,EAAC,MAAM,CAAA;KAAC,GAAG;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;QAAC,WAAW,CAAC,EAAC,MAAM,CAAA;KAAC,CAAC;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QAAC,OAAO,EAAC,MAAM,CAAA;KAAC,GAAG;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;QAAC,WAAW,CAAC,EAAC,MAAM,CAAA;KAAC,CAAC;IAC/E,OAAO,CAAC,EAAE;QAAC,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAC,MAAM,GAAG,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;KAAC,CAAC;IAC9E,gBAAgB,CAAC,EAAE;QAAC,GAAG,CAAC,EAAC,MAAM,CAAC;QAAC,IAAI,EAAC,WAAW,CAAA;KAAC,CAAC;IACnD,QAAQ,CAAC,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAC,CAAC;IACnE,eAAe,CAAC,EAAE;QAAC,GAAG,CAAC,EAAC,MAAM,CAAC;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAC,SAAS,CAAC,EAAC,MAAM,GAAC,MAAM,CAAA;KAAC,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE;QAAC,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC;QAAC,IAAI,EAAC,WAAW,EAAE,CAAA;KAAC,GAAG;QAAC,EAAE,EAAC,QAAQ,CAAC;QAAC,MAAM,EAAC,MAAM,EAAE,CAAA;KAAC,GAAG;QAAC,EAAE,EAAC,WAAW,CAAA;KAAC,CAAC;IAC1G,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,IAAI,EAAE,oBAAoB,CAAC;gBACd,IAAI,EAAE,oBAAoB;IAKjC,IAAI,CAAC,OAAO,CAAC,EAAC,MAAM,GAAI,OAAO,CAAC,UAAU,CAAC;cAwEjC,OAAO,CAAC,GAAG,EAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAC,cAAc,EAAE,OAAO,CAAC,EAAC,MAAM;CA6G1F"}
@@ -0,0 +1,186 @@
1
+ import { IsValidArgType, IsValidAddress, Errors, ERROR, Permission, PermissionIndex, Treasury, Arbitration, } from 'wowok';
2
+ import { query_objects, } from '../query/objects.js';
3
+ import { CallBase } from "./base.js";
4
+ import { Account } from '../local/account.js';
5
+ export class CallArbitration extends CallBase {
6
+ constructor(data) {
7
+ super();
8
+ this.data = data;
9
+ }
10
+ async call(account) {
11
+ if (!this.data?.type_parameter || !IsValidArgType(this.data.type_parameter)) {
12
+ ERROR(Errors.IsValidArgType, 'arbitration.type_parameter');
13
+ }
14
+ var checkOwner = false;
15
+ const guards = [];
16
+ const perms = [];
17
+ var obj;
18
+ const permission_address = this.data?.permission?.address;
19
+ const object_address = this.data?.object?.address;
20
+ const treasury_address = this.data?.fee_treasury?.address;
21
+ if (permission_address && IsValidAddress(permission_address)) {
22
+ if (!this.data?.object) {
23
+ perms.push(PermissionIndex.arbitration);
24
+ }
25
+ if (this.data?.description !== undefined && object_address) {
26
+ perms.push(PermissionIndex.arbitration_description);
27
+ }
28
+ if (this.data?.bPaused !== undefined) {
29
+ perms.push(PermissionIndex.arbitration_pause);
30
+ }
31
+ if (this.data?.endpoint == undefined) { // publish is an irreversible one-time operation
32
+ perms.push(PermissionIndex.arbitration_endpoint);
33
+ }
34
+ if (this.data?.fee !== undefined && object_address) {
35
+ perms.push(PermissionIndex.arbitration_fee);
36
+ }
37
+ if (treasury_address !== undefined && object_address) {
38
+ perms.push(PermissionIndex.arbitration_treasury);
39
+ }
40
+ if (this.data?.guard !== undefined) {
41
+ perms.push(PermissionIndex.arbitration_guard);
42
+ }
43
+ if (this.data?.voting_guard !== undefined) {
44
+ perms.push(PermissionIndex.arbitration_voting_guard);
45
+ }
46
+ if (this.data?.arb_arbitration !== undefined) {
47
+ perms.push(PermissionIndex.arbitration_arbitration);
48
+ }
49
+ if (this.data?.arb_new?.guard !== undefined) {
50
+ if (IsValidAddress(this.data.arb_new.guard)) {
51
+ guards.push(this.data.arb_new.guard);
52
+ }
53
+ else {
54
+ if (!object_address) { // new
55
+ if (this.data?.guard && IsValidAddress(this.data?.guard)) {
56
+ guards.push(this.data.guard);
57
+ }
58
+ }
59
+ else {
60
+ if (!obj) {
61
+ const r = await query_objects({ objects: [object_address] });
62
+ if (r?.objects && r.objects[0].type === 'Arbitration') {
63
+ obj = r.objects[0];
64
+ }
65
+ }
66
+ if (obj?.usage_guard) {
67
+ guards.push(obj.usage_guard);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ if (this.data?.arb_vote !== undefined) {
73
+ perms.push(PermissionIndex.treasury_receive);
74
+ }
75
+ if (typeof (this.data?.arb_vote?.voting_guard) === 'string' && IsValidAddress(this.data?.arb_vote?.voting_guard)) {
76
+ guards.push(this.data?.arb_vote?.voting_guard);
77
+ }
78
+ return await this.check_permission_and_call(permission_address, perms, guards, checkOwner, undefined, account);
79
+ }
80
+ return await this.exec(account);
81
+ }
82
+ async operate(txb, passport, account) {
83
+ let obj;
84
+ let permission;
85
+ let withdraw_treasury;
86
+ const permission_address = this.data?.permission?.address;
87
+ const object_address = this.data?.object?.address;
88
+ const treasury_address = this.data?.fee_treasury?.address;
89
+ if (!object_address) {
90
+ if (!permission_address || !IsValidAddress(permission_address)) {
91
+ const d = this.data?.permission?.description ?? '';
92
+ permission = Permission.New(txb, d);
93
+ }
94
+ if (!treasury_address || !IsValidAddress(treasury_address)) {
95
+ const d = this.data?.fee_treasury?.description ?? '';
96
+ withdraw_treasury = Treasury.New(txb, this.data?.type_parameter, permission ? permission.get_object() : permission_address, d, permission ? undefined : passport);
97
+ }
98
+ obj = Arbitration.New(txb, this.data.type_parameter, permission ? permission.get_object() : permission_address, this.data?.description ?? '', BigInt(this.data?.fee ?? 0), withdraw_treasury ? withdraw_treasury.get_object() : treasury_address, permission ? undefined : passport);
99
+ }
100
+ else {
101
+ if (IsValidAddress(object_address) && this.data.type_parameter && permission_address) {
102
+ obj = Arbitration.From(txb, this.data.type_parameter, permission_address, object_address);
103
+ }
104
+ else {
105
+ ERROR(Errors.InvalidParam, 'object or permission address invalid.');
106
+ }
107
+ }
108
+ if (obj) {
109
+ const pst = permission ? undefined : passport;
110
+ if (this.data?.description !== undefined && object_address) {
111
+ obj?.set_description(this.data.description, pst);
112
+ }
113
+ if (this.data?.endpoint !== undefined) {
114
+ obj?.set_endpoint(this.data.endpoint, pst);
115
+ }
116
+ if (this.data?.fee !== undefined && object_address) {
117
+ obj?.set_fee(BigInt(this.data.fee), pst);
118
+ }
119
+ if (treasury_address !== undefined && object_address) {
120
+ obj?.set_withdrawTreasury(treasury_address, pst);
121
+ }
122
+ var arb_new;
123
+ if (this.data?.arb_new !== undefined) {
124
+ const b = BigInt(this.data.arb_new.data.fee);
125
+ const d = this.data?.arb_new.data;
126
+ arb_new = obj?.arb({ order: d.order, order_token_type: d.order_token_type, description: d.description, votable_proposition: d.votable_proposition,
127
+ fee: b > BigInt(0) ? await Account.Instance().get_coin_object(txb, b, account, this.data.type_parameter) : undefined
128
+ }, pst);
129
+ }
130
+ if (this.data?.arb_arbitration !== undefined) {
131
+ const a = this.data.arb_arbitration.arb ?? arb_new;
132
+ if (!a)
133
+ ERROR(Errors.Fail, 'arb invalid: arb_arbitration');
134
+ obj?.arbitration({ arb: a, feedback: this.data.arb_arbitration.feedback, indemnity: this.data.arb_arbitration.indemnity }, pst);
135
+ }
136
+ if (this.data?.arb_vote !== undefined) {
137
+ const a = this.data.arb_vote.arb ?? arb_new;
138
+ if (!a)
139
+ ERROR(Errors.Fail, 'arb invalid: arb_vote');
140
+ obj?.vote({ arb: a, voting_guard: this.data.arb_vote.voting_guard, agrees: this.data.arb_vote.agrees }, pst);
141
+ }
142
+ if (this.data?.arb_withdraw_fee !== undefined) {
143
+ const a = this.data.arb_withdraw_fee.arb ?? arb_new;
144
+ if (!a)
145
+ ERROR(Errors.Fail, 'arb invalid: arb_withdraw_fee');
146
+ obj?.withdraw_fee(a, this.data.arb_withdraw_fee.data, pst);
147
+ }
148
+ if (arb_new) {
149
+ await this.new_with_mark('Arb', txb, obj?.arb_launch(arb_new), this.data?.arb_new?.namedNew, account);
150
+ }
151
+ if (this.data?.voting_guard !== undefined) {
152
+ switch (this.data.voting_guard.op) {
153
+ case 'add':
154
+ obj?.add_voting_guard(this.data.voting_guard.data, pst);
155
+ break;
156
+ case 'remove':
157
+ obj?.remove_voting_guard(this.data.voting_guard.guards, false, pst);
158
+ break;
159
+ case 'set':
160
+ obj?.remove_voting_guard([], true, pst);
161
+ obj?.add_voting_guard(this.data.voting_guard.data, pst);
162
+ break;
163
+ case 'removeall':
164
+ obj?.remove_voting_guard([], true, pst);
165
+ break;
166
+ }
167
+ }
168
+ if (this.data.guard !== undefined) {
169
+ obj?.set_guard(this.data.guard, pst);
170
+ }
171
+ if (this.data?.bPaused !== undefined) {
172
+ obj?.pause(this.data.bPaused, pst);
173
+ }
174
+ if (withdraw_treasury) {
175
+ await this.new_with_mark('Treasury', txb, withdraw_treasury.launch(), this.data?.fee_treasury?.namedNew, account);
176
+ }
177
+ if (permission) {
178
+ await this.new_with_mark('Permission', txb, permission.launch(), this.data?.permission?.namedNew, account);
179
+ }
180
+ if (!object_address) {
181
+ await this.new_with_mark('Arbitration', txb, obj.launch(), this.data?.object?.namedNew, account);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ //# sourceMappingURL=arbitration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arbitration.js","sourceRoot":"","sources":["../../src/call/arbitration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,cAAc,EAAkB,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAC5F,QAAQ,EAAE,WAAW,GAC7C,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,GAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAyB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA2B9C,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAEzC,YAAa,IAA0B;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1E,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,4BAA4B,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,UAAU,GAAG,KAAK,CAAC;QAAC,MAAM,MAAM,GAAc,EAAE,CAAC;QACrD,MAAM,KAAK,GAA2B,EAAE,CAAC;QAAE,IAAI,GAAkC,CAAE;QACnF,MAAM,kBAAkB,GAAI,IAAI,CAAC,IAAI,EAAE,UAAkB,EAAE,OAAO,CAAC;QACnE,MAAM,cAAc,GAAI,IAAI,CAAC,IAAI,EAAE,MAAc,EAAE,OAAO,CAAC;QAC3D,MAAM,gBAAgB,GAAI,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,OAAO,CAAC;QAEnE,IAAI,kBAAkB,IAAI,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;YAC3C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAA;YACvD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,iDAAiD;gBACrF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAA;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;YAC/C,CAAC;YACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAA;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAA;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAA;YACvD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACxC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM;wBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;4BACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAChC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,EAAE,CAAC;4BACP,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAC,OAAO,EAAC,CAAC,cAAc,CAAC,EAAC,CAAC,CAAC;4BAC1D,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gCACpD,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAsB,CAAC;4BAC5C,CAAC;wBACL,CAAC;wBAED,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;wBAChC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,OAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC9G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;YAClD,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAClH,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACS,KAAK,CAAC,OAAO,CAAC,GAAoB,EAAE,QAAwB,EAAE,OAAe;QACnF,IAAI,GAA6B,CAAE;QAAC,IAAI,UAAe,CAAC;QAAC,IAAI,iBAAqB,CAAC;QACnF,MAAM,kBAAkB,GAAI,IAAI,CAAC,IAAI,EAAE,UAAkB,EAAE,OAAO,CAAC;QACnE,MAAM,cAAc,GAAI,IAAI,CAAC,IAAI,EAAE,MAAc,EAAE,OAAO,CAAC;QAC3D,MAAM,gBAAgB,GAAI,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,OAAO,CAAC;QAEnE,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,GAAI,IAAI,CAAC,IAAI,EAAE,UAAkB,EAAE,WAAW,IAAI,EAAE,CAAC;gBAC5D,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAI,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,WAAW,IAAI,EAAE,CAAC;gBAC9D,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,cAAe,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,kBAAkB,EACvH,CAAC,EAAE,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,cAAe,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,IAAE,EAAE,EACvI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAA,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC,CAAC;QAC1I,CAAC;aAAM,CAAC;YACJ,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,kBAAkB,EAAE,CAAC;gBACnF,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAA;YAC7F,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,uCAAuC,CAAC,CAAA;YACvE,CAAC;QACL,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,GAAG,GAAG,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBACzD,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBACjD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBACnD,GAAG,EAAE,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;YACpD,CAAC;YACD,IAAI,OAA+B,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;gBAClC,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,EAAC,CAAC,CAAC,mBAAmB;oBACxI,GAAG,EAAE,CAAC,GAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;iBACrH,EAAE,GAAG,CAAC,CAAC;YACZ,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,OAAO,CAAC;gBACnD,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;gBAE3D,GAAG,EAAE,WAAW,CAAC,EAAC,GAAG,EAAC,CAAE,EAAE,QAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAC,EAAE,GAAG,CAAC,CAAA;YAC/H,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC;gBAC5C,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBAEpD,GAAG,EAAE,IAAI,CAAC,EAAC,GAAG,EAAC,CAAE,EAAE,YAAY,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,EAAE,GAAG,CAAC,CAAA;YAC5G,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,OAAO,CAAC;gBACpD,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;gBAE5D,GAAG,EAAE,YAAY,CAAC,CAAE,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC/D,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,EAAG,IAAI,CAAC,IAAI,EAAE,OAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;oBAChC,KAAK,KAAK;wBACN,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;wBACvD,MAAM;oBACV,KAAK,QAAQ;wBACT,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACnE,MAAM;oBACV,KAAK,KAAK;wBACN,GAAG,EAAE,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;wBACvC,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;wBACvD,MAAM;oBACV,KAAK,WAAW;wBACZ,GAAG,EAAE,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;wBACvC,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,iBAAiB,CAAC,MAAM,EAAE,EAAG,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/H,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,EAAG,IAAI,CAAC,IAAI,EAAE,UAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxH,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,EAAG,IAAI,CAAC,IAAI,EAAE,MAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9G,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,35 @@
1
+ import { TxbAddress, PassportObject, PermissionIndexType, WitnessFill, CallResponse, TransactionBlock } from 'wowok';
2
+ import { ObjectBase, ObjectBaseType } from '../query/objects.js';
3
+ export interface Namedbject {
4
+ name?: string;
5
+ tags?: string[];
6
+ useAddressIfNameExist?: boolean;
7
+ onChain?: boolean;
8
+ }
9
+ export interface AddressMark {
10
+ address: TxbAddress;
11
+ name?: string;
12
+ tags: string[];
13
+ }
14
+ export interface ResponseData extends ObjectBase {
15
+ change: 'created' | 'mutated' | string;
16
+ }
17
+ export interface GuardInfo_forCall {
18
+ guard: string[];
19
+ witness: WitnessFill[];
20
+ }
21
+ export type CallResult = GuardInfo_forCall | CallResponse | undefined;
22
+ export declare function ResponseData(response: CallResponse | undefined): ResponseData[];
23
+ export declare class CallBase {
24
+ private resouceObject;
25
+ private traceMarkNew;
26
+ protected operate(txb: TransactionBlock, passport?: PassportObject, account?: string): Promise<void>;
27
+ constructor();
28
+ call(account?: string): Promise<CallResult>;
29
+ call_with_witness(info: GuardInfo_forCall, account?: string): Promise<CallResponse | undefined>;
30
+ protected check_permission_and_call(permission: string, permIndex: PermissionIndexType[], guards_needed: string[], checkOwner?: boolean, checkAdmin?: boolean, account?: string): Promise<CallResult>;
31
+ protected exec(account?: string): Promise<CallResponse>;
32
+ protected new_with_mark(type: ObjectBaseType, txb: TransactionBlock, object: TxbAddress, named_new?: Namedbject, account?: string, innerTags?: string[]): Promise<void>;
33
+ protected sign_and_commit(txb: TransactionBlock, address?: string): Promise<CallResponse>;
34
+ }
35
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/call/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,UAAU,EAAyC,cAAc,EACxF,mBAAmB,EAAyB,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAC1F,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,UAAU,EAAE,cAAc,EAA2B,MAAM,qBAAqB,CAAC;AAG1F,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AACD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC5C,MAAM,EAAC,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACzC;AACD,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC;AAGtE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAI,YAAY,EAAE,CAYhF;AAED,qBAAa,QAAQ;IAEjB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAyC;cAE7C,OAAO,CAAC,GAAG,EAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAC,cAAc,EAAE,OAAO,CAAC,EAAC,MAAM;;IAKjF,IAAI,CAAC,OAAO,CAAC,EAAC,MAAM,GAAI,OAAO,CAAC,UAAU,CAAC;IAC3C,iBAAiB,CAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAC,MAAM,GAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;cAoBtF,yBAAyB,CAAE,UAAU,EAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EACnH,UAAU,CAAC,EAAC,OAAO,EAAE,UAAU,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,EAAC,MAAM,GAAI,OAAO,CAAC,UAAU,CAAC;cA0CpE,IAAI,CAAE,OAAO,CAAC,EAAC,MAAM,GAAI,OAAO,CAAC,YAAY,CAAC;cAM9C,aAAa,CAAC,IAAI,EAAC,cAAc,EAAE,GAAG,EAAC,gBAAgB,EAAE,MAAM,EAAC,UAAU,EAAE,SAAS,CAAC,EAAC,UAAU,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,SAAS,GAAC,MAAM,EAAmB;cA+BvJ,eAAe,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAI,OAAO,CAAC,YAAY,CAAC;CAyBnG"}
@@ -0,0 +1,148 @@
1
+ import { Entity, Resource, array_unique, TagName, Errors, ERROR, Permission, GuardParser, Passport, TransactionBlock } from 'wowok';
2
+ import { query_permission } from '../query/permission.js';
3
+ import { Account } from '../local/account.js';
4
+ import { query_personal, raw2type } from '../query/objects.js';
5
+ import { LocalMark } from '../local/local.js';
6
+ export function ResponseData(response) {
7
+ const res = [];
8
+ response?.objectChanges?.forEach(v => {
9
+ const type_raw = v?.objectType;
10
+ const type = raw2type(type_raw);
11
+ if (type) {
12
+ res.push({ type: type, type_raw: type_raw, object: v?.objectId, version: v?.version,
13
+ owner: v?.owner, change: v.type });
14
+ }
15
+ });
16
+ return res;
17
+ }
18
+ export class CallBase {
19
+ async operate(txb, passport, account) { }
20
+ ;
21
+ constructor() {
22
+ this.traceMarkNew = new Map();
23
+ }
24
+ // return WitnessFill to resolve filling witness, and than 'call_with_witness' to complete the call;
25
+ // return ResponseData when the call has completed;
26
+ // throw an exception when errors.
27
+ async call(account) { return undefined; }
28
+ ;
29
+ async call_with_witness(info, account) {
30
+ if (info.guard.length > 0) { // prepare passport
31
+ const p = await GuardParser.Create([...info.guard]);
32
+ if (p) {
33
+ const query = await p.done(info.witness);
34
+ if (query) {
35
+ const txb = new TransactionBlock();
36
+ const passport = new Passport(txb, query);
37
+ await this.operate(txb, passport?.get_object(), account);
38
+ passport.destroy();
39
+ return await this.sign_and_commit(txb, account);
40
+ }
41
+ }
42
+ else {
43
+ ERROR(Errors.Fail, 'guard verify');
44
+ }
45
+ }
46
+ }
47
+ async check_permission_and_call(permission, permIndex, guards_needed, checkOwner, checkAdmin, account) {
48
+ var guards = [];
49
+ if (permIndex.length > 0 || checkOwner) {
50
+ const addr = await LocalMark.Instance().get_account(account);
51
+ if (!addr)
52
+ ERROR(Errors.InvalidParam, 'check_permission_and_call: account invalid');
53
+ const p = await query_permission({ permission_object: permission, address: addr });
54
+ if (checkOwner && !p.owner)
55
+ ERROR(Errors.noPermission, 'owner');
56
+ if (checkAdmin && !p.admin)
57
+ ERROR(Errors.noPermission, 'admin');
58
+ permIndex.forEach(v => {
59
+ const r = Permission.HasPermission(p, v);
60
+ if (!r?.has)
61
+ ERROR(Errors.noPermission, v);
62
+ if (r?.guard)
63
+ guards.push(r.guard);
64
+ });
65
+ }
66
+ if (guards_needed.length > 0) {
67
+ guards = guards.concat(guards_needed);
68
+ }
69
+ if (guards.length > 0) { // prepare passport
70
+ const p = await GuardParser.Create([...guards]);
71
+ const futures = p ? p.future_fills() : [];
72
+ if (!p)
73
+ ERROR(Errors.Fail, 'guard parse');
74
+ if (p && futures.length === 0) {
75
+ const query = await p.done();
76
+ if (query) {
77
+ const txb = new TransactionBlock();
78
+ const passport = new Passport(txb, query);
79
+ await this.operate(txb, passport?.get_object(), account);
80
+ passport.destroy();
81
+ return await this.sign_and_commit(txb, account);
82
+ }
83
+ }
84
+ return { guard: [...guards], witness: p.future_fills() };
85
+ }
86
+ else { // no passport needed
87
+ return await this.exec();
88
+ }
89
+ }
90
+ async exec(account) {
91
+ const txb = new TransactionBlock();
92
+ await this.operate(txb, undefined, account);
93
+ return await this.sign_and_commit(txb, account);
94
+ }
95
+ async new_with_mark(type, txb, object, named_new, account, innerTags = [TagName.Launch]) {
96
+ const tags = named_new?.tags ? array_unique([...named_new.tags, ...innerTags]) : array_unique([...innerTags]);
97
+ if (!named_new?.onChain) {
98
+ if (named_new) {
99
+ named_new.tags = tags;
100
+ this.traceMarkNew.set(type, named_new);
101
+ }
102
+ return;
103
+ }
104
+ ;
105
+ // onchain mark
106
+ if (!this.resouceObject) {
107
+ const addr = await LocalMark.Instance().get_account(account);
108
+ if (addr) {
109
+ const r = await query_personal({ address: addr }); //@ use cache
110
+ if (!r?.mark_object) {
111
+ this.resouceObject = Entity.From(txb).create_resource2(); // new
112
+ Resource.From(txb, this.resouceObject).add(object, tags, named_new?.name);
113
+ }
114
+ else {
115
+ Resource.From(txb, r.mark_object).add(object, tags, named_new?.name);
116
+ }
117
+ }
118
+ else {
119
+ ERROR(Errors.InvalidParam, 'account - ' + account);
120
+ }
121
+ }
122
+ else {
123
+ Resource.From(txb, this.resouceObject).add(object, tags, named_new?.name);
124
+ }
125
+ }
126
+ async sign_and_commit(txb, address) {
127
+ if (this.resouceObject) {
128
+ Resource.From(txb, this.resouceObject).launch(); //@ resource launch, if created.
129
+ this.resouceObject = undefined;
130
+ }
131
+ const r = await Account.Instance().sign_and_commit(txb, address);
132
+ if (!r) {
133
+ ERROR(Errors.Fail, 'sign and commit failed');
134
+ }
135
+ // save the mark locally, anyway
136
+ const res = ResponseData(r);
137
+ res.forEach(v => {
138
+ if (v.type && v.change === 'created') {
139
+ const namedNew = this.traceMarkNew.get(v.type);
140
+ if (namedNew) {
141
+ LocalMark.Instance().put(namedNew.name, { object: v.object, tags: namedNew?.tags }, namedNew?.useAddressIfNameExist);
142
+ }
143
+ }
144
+ });
145
+ return r;
146
+ }
147
+ }
148
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/call/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Provide an operate interface for AI
3
+ * Restrictive prioritization, such as setting a deposit first and setting a deposit guard later (only subsequent deposits are affected).
4
+ */
5
+ import { CallArbitration_Data } from "./arbitration.js";
6
+ import { CallDemand_Data } from "./demand.js";
7
+ import { CallMachine_Data } from "./machine.js";
8
+ import { CallPermission_Data } from "./permission.js";
9
+ import { CallPersonal_Data } from "./personal.js";
10
+ import { CallRepository_Data } from "./repository.js";
11
+ import { CallService_Data } from "./service.js";
12
+ import { CallTreasury_Data } from "./treasury.js";
13
+ import { CallResult, GuardInfo_forCall } from "./base.js";
14
+ import { CallGuard_Data } from "./guard.js";
15
+ import { CallObjectPermission_Data } from "./object_permission.js";
16
+ export interface CallDemandObject {
17
+ data: CallDemand_Data;
18
+ account?: string;
19
+ witness?: GuardInfo_forCall;
20
+ }
21
+ export interface CallServiceObject {
22
+ data: CallService_Data;
23
+ account?: string;
24
+ witness?: GuardInfo_forCall;
25
+ }
26
+ export interface CallMachineObject {
27
+ data: CallMachine_Data;
28
+ account?: string;
29
+ witness?: GuardInfo_forCall;
30
+ }
31
+ export interface CallTreasuryObject {
32
+ data: CallTreasury_Data;
33
+ account?: string;
34
+ witness?: GuardInfo_forCall;
35
+ }
36
+ export interface CallArbitrationObject {
37
+ data: CallArbitration_Data;
38
+ account?: string;
39
+ witness?: GuardInfo_forCall;
40
+ }
41
+ export interface CallGuardObject {
42
+ data: CallGuard_Data;
43
+ account?: string;
44
+ }
45
+ export interface CallRepositoryObject {
46
+ data: CallRepository_Data;
47
+ account?: string;
48
+ witness?: GuardInfo_forCall;
49
+ }
50
+ export interface CallPersonalObject {
51
+ data: CallPersonal_Data;
52
+ account?: string;
53
+ }
54
+ export interface CallPermissionObject {
55
+ data: CallPermission_Data;
56
+ account?: string;
57
+ witness?: GuardInfo_forCall;
58
+ }
59
+ export interface CallTransferPermissionObject {
60
+ data: CallObjectPermission_Data;
61
+ account?: string;
62
+ witness?: GuardInfo_forCall;
63
+ }
64
+ export declare const call_demand_json: (json: string) => Promise<string>;
65
+ export declare const call_service_json: (json: string) => Promise<string>;
66
+ export declare const call_machine_json: (json: string) => Promise<string>;
67
+ export declare const call_repository_json: (json: string) => Promise<string>;
68
+ export declare const call_permission_json: (json: string) => Promise<string>;
69
+ export declare const call_transferpermission_json: (json: string) => Promise<string>;
70
+ export declare const call_treasury_json: (json: string) => Promise<string>;
71
+ export declare const call_arbitration_json: (json: string) => Promise<string>;
72
+ export declare const call_personal_json: (json: string) => Promise<string>;
73
+ export declare const call_guard_json: (json: string) => Promise<string>;
74
+ export declare const call_demand: (call: CallDemandObject) => Promise<CallResult>;
75
+ export declare const call_service: (call: CallServiceObject) => Promise<CallResult>;
76
+ export declare const call_treasury: (call: CallTreasuryObject) => Promise<CallResult>;
77
+ export declare const call_repository: (call: CallRepositoryObject) => Promise<CallResult>;
78
+ export declare const call_guard: (call: CallGuardObject) => Promise<CallResult>;
79
+ export declare const call_machine: (call: CallMachineObject) => Promise<CallResult>;
80
+ export declare const call_personal: (call: CallPersonalObject) => Promise<CallResult>;
81
+ export declare const call_permission: (call: CallPermissionObject) => Promise<CallResult>;
82
+ export declare const call_transfer_permission: (call: CallTransferPermissionObject) => Promise<CallResult>;
83
+ export declare const call_arbitration: (call: CallArbitrationObject) => Promise<CallResult>;
84
+ //# sourceMappingURL=call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/call/call.ts"],"names":[],"mappings":"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"}