@airgap/icp 0.13.11-beta.1 → 0.13.11-beta.10

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 (144) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +18 -0
  3. package/index.js.map +1 -0
  4. package/package.json +6 -9
  5. package/v1/block-explorer/ICPBlockExplorer.d.ts +9 -0
  6. package/v1/block-explorer/ICPBlockExplorer.js +74 -0
  7. package/v1/block-explorer/ICPBlockExplorer.js.map +1 -0
  8. package/v1/index.d.ts +14 -0
  9. package/v1/index.js +14 -0
  10. package/v1/index.js.map +1 -0
  11. package/v1/module/ICPModule.d.ts +14 -0
  12. package/v1/module/ICPModule.js +119 -0
  13. package/v1/module/ICPModule.js.map +1 -0
  14. package/v1/module.d.ts +3 -0
  15. package/v1/module.js +24 -0
  16. package/v1/module.js.map +1 -0
  17. package/v1/protocol/ICPImplementation.d.ts +34 -0
  18. package/v1/protocol/ICPImplementation.js +376 -0
  19. package/v1/protocol/ICPImplementation.js.map +1 -0
  20. package/v1/protocol/ICPProtocol.d.ts +45 -0
  21. package/v1/protocol/ICPProtocol.js +423 -0
  22. package/v1/protocol/ICPProtocol.js.map +1 -0
  23. package/v1/protocol/icrc/CkBTCProtocol.d.ts +13 -0
  24. package/v1/protocol/icrc/CkBTCProtocol.js +328 -0
  25. package/v1/protocol/icrc/CkBTCProtocol.js.map +1 -0
  26. package/v1/protocol/icrc/ICRC1Protocol.d.ts +95 -0
  27. package/v1/protocol/icrc/ICRC1Protocol.js +717 -0
  28. package/v1/protocol/icrc/ICRC1Protocol.js.map +1 -0
  29. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +7 -0
  30. package/v1/serializer/v3/schemas/converter/transaction-converter.js +21 -0
  31. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  32. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-icp.d.ts +4 -0
  33. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-icp.js +3 -0
  34. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-icp.js.map +1 -0
  35. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-icp.d.ts +3 -0
  36. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-icp.js +3 -0
  37. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-icp.js.map +1 -0
  38. package/v1/serializer/v3/schemas/generated/transaction-sign-request-icp.json +32 -0
  39. package/v1/serializer/v3/schemas/generated/transaction-sign-response-icp.json +19 -0
  40. package/v1/serializer/v3/serializer-companion.d.ts +14 -0
  41. package/v1/serializer/v3/serializer-companion.js +190 -0
  42. package/v1/serializer/v3/serializer-companion.js.map +1 -0
  43. package/v1/serializer/v3/validators/transaction-validator.d.ts +10 -0
  44. package/v1/serializer/v3/validators/transaction-validator.js +100 -0
  45. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
  46. package/v1/serializer/v3/validators/validators.d.ts +5 -0
  47. package/v1/serializer/v3/validators/validators.js +106 -0
  48. package/v1/serializer/v3/validators/validators.js.map +1 -0
  49. package/v1/types/ckbtc/metadata.d.ts +4 -0
  50. package/v1/types/ckbtc/metadata.js +3 -0
  51. package/v1/types/ckbtc/metadata.js.map +1 -0
  52. package/v1/types/crypto.d.ts +2 -0
  53. package/v1/types/crypto.js +3 -0
  54. package/v1/types/crypto.js.map +1 -0
  55. package/v1/types/governance.d.ts +580 -0
  56. package/v1/types/governance.js +796 -0
  57. package/v1/types/governance.js.map +1 -0
  58. package/v1/types/icrc/account.d.ts +4 -0
  59. package/v1/types/icrc/account.js +3 -0
  60. package/v1/types/icrc/account.js.map +1 -0
  61. package/v1/types/icrc/ledger.d.ts +15 -0
  62. package/v1/types/icrc/ledger.js +92 -0
  63. package/v1/types/icrc/ledger.js.map +1 -0
  64. package/v1/types/icrc/metadata.d.ts +6 -0
  65. package/v1/types/icrc/metadata.js +3 -0
  66. package/v1/types/icrc/metadata.js.map +1 -0
  67. package/v1/types/icrc/transfer.d.ts +9 -0
  68. package/v1/types/icrc/transfer.js +3 -0
  69. package/v1/types/icrc/transfer.js.map +1 -0
  70. package/v1/types/ledger.d.ts +142 -0
  71. package/v1/types/ledger.js +145 -0
  72. package/v1/types/ledger.js.map +1 -0
  73. package/v1/types/management_idl.d.ts +7 -0
  74. package/v1/types/management_idl.js +72 -0
  75. package/v1/types/management_idl.js.map +1 -0
  76. package/v1/types/protocol.d.ts +37 -0
  77. package/v1/types/protocol.js +3 -0
  78. package/v1/types/protocol.js.map +1 -0
  79. package/v1/types/transaction.d.ts +11 -0
  80. package/v1/types/transaction.js +3 -0
  81. package/v1/types/transaction.js.map +1 -0
  82. package/v1/utils/account.d.ts +24 -0
  83. package/v1/utils/account.js +112 -0
  84. package/v1/utils/account.js.map +1 -0
  85. package/v1/utils/actor.d.ts +246 -0
  86. package/v1/utils/actor.js +458 -0
  87. package/v1/utils/actor.js.map +1 -0
  88. package/v1/utils/agent.d.ts +156 -0
  89. package/v1/utils/agent.js +16 -0
  90. package/v1/utils/agent.js.map +1 -0
  91. package/v1/utils/auth.d.ts +110 -0
  92. package/v1/utils/auth.js +261 -0
  93. package/v1/utils/auth.js.map +1 -0
  94. package/v1/utils/bls.d.ts +38 -0
  95. package/v1/utils/bls.js +204 -0
  96. package/v1/utils/bls.js.map +1 -0
  97. package/v1/utils/buffer.d.ts +70 -0
  98. package/v1/utils/buffer.js +216 -0
  99. package/v1/utils/buffer.js.map +1 -0
  100. package/v1/utils/cbor.d.ts +9 -0
  101. package/v1/utils/cbor.js +178 -0
  102. package/v1/utils/cbor.js.map +1 -0
  103. package/v1/utils/certificate.d.ts +74 -0
  104. package/v1/utils/certificate.js +396 -0
  105. package/v1/utils/certificate.js.map +1 -0
  106. package/v1/utils/convert.d.ts +10 -0
  107. package/v1/utils/convert.js +88 -0
  108. package/v1/utils/convert.js.map +1 -0
  109. package/v1/utils/crypto.d.ts +0 -0
  110. package/v1/utils/crypto.js +104 -0
  111. package/v1/utils/crypto.js.map +1 -0
  112. package/v1/utils/der.d.ts +35 -0
  113. package/v1/utils/der.js +176 -0
  114. package/v1/utils/der.js.map +1 -0
  115. package/v1/utils/errors.d.ts +7 -0
  116. package/v1/utils/errors.js +38 -0
  117. package/v1/utils/errors.js.map +1 -0
  118. package/v1/utils/hdkey.d.ts +13 -0
  119. package/v1/utils/hdkey.js +265 -0
  120. package/v1/utils/hdkey.js.map +1 -0
  121. package/v1/utils/http.d.ts +284 -0
  122. package/v1/utils/http.js +614 -0
  123. package/v1/utils/http.js.map +1 -0
  124. package/v1/utils/icrc1.d.ts +20 -0
  125. package/v1/utils/icrc1.js +171 -0
  126. package/v1/utils/icrc1.js.map +1 -0
  127. package/v1/utils/idl.d.ts +515 -0
  128. package/v1/utils/idl.js +2103 -0
  129. package/v1/utils/idl.js.map +1 -0
  130. package/v1/utils/leb128.d.ts +63 -0
  131. package/v1/utils/leb128.js +224 -0
  132. package/v1/utils/leb128.js.map +1 -0
  133. package/v1/utils/polling.d.ts +59 -0
  134. package/v1/utils/polling.js +325 -0
  135. package/v1/utils/polling.js.map +1 -0
  136. package/v1/utils/principal.d.ts +58 -0
  137. package/v1/utils/principal.js +543 -0
  138. package/v1/utils/principal.js.map +1 -0
  139. package/v1/utils/secp256k1.d.ts +79 -0
  140. package/v1/utils/secp256k1.js +278 -0
  141. package/v1/utils/secp256k1.js.map +1 -0
  142. package/v1/utils/transaction.d.ts +3 -0
  143. package/v1/utils/transaction.js +56 -0
  144. package/v1/utils/transaction.js.map +1 -0
@@ -0,0 +1,458 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
35
+ }) : (function(o, m, k, k2) {
36
+ if (k2 === undefined) k2 = k;
37
+ o[k2] = m[k];
38
+ }));
39
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
41
+ }) : function(o, v) {
42
+ o["default"] = v;
43
+ });
44
+ var __importStar = (this && this.__importStar) || function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
52
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
53
+ return new (P || (P = Promise))(function (resolve, reject) {
54
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
55
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
56
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
57
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
58
+ });
59
+ };
60
+ var __generator = (this && this.__generator) || function (thisArg, body) {
61
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
62
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
63
+ function verb(n) { return function (v) { return step([n, v]); }; }
64
+ function step(op) {
65
+ if (f) throw new TypeError("Generator is already executing.");
66
+ while (_) try {
67
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
68
+ if (y = 0, t) op = [op[0] & 2, t.value];
69
+ switch (op[0]) {
70
+ case 0: case 1: t = op; break;
71
+ case 4: _.label++; return { value: op[1], done: false };
72
+ case 5: _.label++; y = op[1]; op = [0]; continue;
73
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
74
+ default:
75
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
76
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
77
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
78
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
79
+ if (t[2]) _.ops.pop();
80
+ _.trys.pop(); continue;
81
+ }
82
+ op = body.call(thisArg, _);
83
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
84
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
85
+ }
86
+ };
87
+ var __read = (this && this.__read) || function (o, n) {
88
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
89
+ if (!m) return o;
90
+ var i = m.call(o), r, ar = [], e;
91
+ try {
92
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
93
+ }
94
+ catch (error) { e = { error: error }; }
95
+ finally {
96
+ try {
97
+ if (r && !r.done && (m = i["return"])) m.call(i);
98
+ }
99
+ finally { if (e) throw e.error; }
100
+ }
101
+ return ar;
102
+ };
103
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
104
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
105
+ if (ar || !(i in from)) {
106
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
107
+ ar[i] = from[i];
108
+ }
109
+ }
110
+ return to.concat(ar || Array.prototype.slice.call(from));
111
+ };
112
+ var __values = (this && this.__values) || function(o) {
113
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
114
+ if (m) return m.call(o);
115
+ if (o && typeof o.length === "number") return {
116
+ next: function () {
117
+ if (o && i >= o.length) o = void 0;
118
+ return { value: o && o[i++], done: !o };
119
+ }
120
+ };
121
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
122
+ };
123
+ var __importDefault = (this && this.__importDefault) || function (mod) {
124
+ return (mod && mod.__esModule) ? mod : { "default": mod };
125
+ };
126
+ Object.defineProperty(exports, "__esModule", { value: true });
127
+ exports.Actor = exports.CanisterInstallMode = exports.UpdateCallRejectedError = exports.QueryCallRejectedError = exports.ActorCallError = exports.getManagementCanister = exports.getDefaultAgent = void 0;
128
+ var buffer_1 = require("buffer/");
129
+ var buffer_2 = require("./buffer");
130
+ var http_1 = require("./http");
131
+ var principal_1 = require("./principal");
132
+ var IDL = __importStar(require("./idl"));
133
+ var polling_1 = require("./polling");
134
+ var management_idl_1 = __importDefault(require("../types/management_idl"));
135
+ var errors_1 = require("./errors");
136
+ function getDefaultAgent() {
137
+ var agent = typeof window === 'undefined'
138
+ ? typeof global === 'undefined'
139
+ ? typeof self === 'undefined'
140
+ ? undefined
141
+ : self.ic.agent
142
+ : global.ic.agent
143
+ : window.ic.agent;
144
+ if (!agent) {
145
+ throw new Error('No Agent could be found.');
146
+ }
147
+ return agent;
148
+ }
149
+ exports.getDefaultAgent = getDefaultAgent;
150
+ function getManagementCanister(config) {
151
+ function transform(_methodName, args, _callConfig) {
152
+ var first = args[0];
153
+ var effectiveCanisterId = principal_1.Principal.fromHex('');
154
+ if (first && typeof first === 'object' && first.canister_id) {
155
+ effectiveCanisterId = principal_1.Principal.from(first.canister_id);
156
+ }
157
+ return { effectiveCanisterId: effectiveCanisterId };
158
+ }
159
+ return Actor.createActor(management_idl_1.default, __assign(__assign(__assign({}, config), { canisterId: principal_1.Principal.fromHex('') }), {
160
+ callTransform: transform,
161
+ queryTransform: transform
162
+ }));
163
+ }
164
+ exports.getManagementCanister = getManagementCanister;
165
+ var ActorCallError = /** @class */ (function (_super) {
166
+ __extends(ActorCallError, _super);
167
+ function ActorCallError(canisterId, methodName, type, props) {
168
+ var _this = _super.call(this, __spreadArray([
169
+ "Call failed:",
170
+ " Canister: ".concat(canisterId.toText()),
171
+ " Method: ".concat(methodName, " (").concat(type, ")")
172
+ ], __read(Object.getOwnPropertyNames(props).map(function (n) { return " \"".concat(n, "\": ").concat(JSON.stringify(props[n])); })), false).join('\n')) || this;
173
+ _this.canisterId = canisterId;
174
+ _this.methodName = methodName;
175
+ _this.type = type;
176
+ _this.props = props;
177
+ return _this;
178
+ }
179
+ return ActorCallError;
180
+ }(errors_1.AgentError));
181
+ exports.ActorCallError = ActorCallError;
182
+ var QueryCallRejectedError = /** @class */ (function (_super) {
183
+ __extends(QueryCallRejectedError, _super);
184
+ function QueryCallRejectedError(canisterId, methodName, result) {
185
+ var _this = this;
186
+ var _a;
187
+ _this = _super.call(this, canisterId, methodName, 'query', {
188
+ Status: result.status,
189
+ Code: (_a = http_1.ReplicaRejectCode[result.reject_code]) !== null && _a !== void 0 ? _a : "Unknown Code \"".concat(result.reject_code, "\""),
190
+ Message: result.reject_message
191
+ }) || this;
192
+ _this.result = result;
193
+ return _this;
194
+ }
195
+ return QueryCallRejectedError;
196
+ }(ActorCallError));
197
+ exports.QueryCallRejectedError = QueryCallRejectedError;
198
+ var UpdateCallRejectedError = /** @class */ (function (_super) {
199
+ __extends(UpdateCallRejectedError, _super);
200
+ function UpdateCallRejectedError(canisterId, methodName, requestId, response) {
201
+ var _this = _super.call(this, canisterId, methodName, 'update', {
202
+ 'Request ID': (0, buffer_2.toHex)(requestId),
203
+ 'HTTP status code': response.status.toString(),
204
+ 'HTTP status text': response.statusText
205
+ }) || this;
206
+ _this.requestId = requestId;
207
+ _this.response = response;
208
+ return _this;
209
+ }
210
+ return UpdateCallRejectedError;
211
+ }(ActorCallError));
212
+ exports.UpdateCallRejectedError = UpdateCallRejectedError;
213
+ /**
214
+ * The mode used when installing a canister.
215
+ */
216
+ var CanisterInstallMode;
217
+ (function (CanisterInstallMode) {
218
+ CanisterInstallMode["Install"] = "install";
219
+ CanisterInstallMode["Reinstall"] = "reinstall";
220
+ CanisterInstallMode["Upgrade"] = "upgrade";
221
+ })(CanisterInstallMode = exports.CanisterInstallMode || (exports.CanisterInstallMode = {}));
222
+ var metadataSymbol = Symbol.for('ic-agent-metadata');
223
+ /**
224
+ * An actor base class. An actor is an object containing only functions that will
225
+ * return a promise. These functions are derived from the IDL definition.
226
+ */
227
+ var Actor = /** @class */ (function () {
228
+ function Actor(metadata) {
229
+ this[metadataSymbol] = Object.freeze(metadata);
230
+ }
231
+ /**
232
+ * Get the Agent class this Actor would call, or undefined if the Actor would use
233
+ * the default agent (global.ic.agent).
234
+ * @param actor The actor to get the agent of.
235
+ */
236
+ Actor.agentOf = function (actor) {
237
+ return actor[metadataSymbol].config.agent;
238
+ };
239
+ /**
240
+ * Get the interface of an actor, in the form of an instance of a Service.
241
+ * @param actor The actor to get the interface of.
242
+ */
243
+ Actor.interfaceOf = function (actor) {
244
+ return actor[metadataSymbol].service;
245
+ };
246
+ Actor.canisterIdOf = function (actor) {
247
+ return principal_1.Principal.from(actor[metadataSymbol].config.canisterId);
248
+ };
249
+ Actor.install = function (fields, config) {
250
+ return __awaiter(this, void 0, void 0, function () {
251
+ var mode, arg, wasmModule, canisterId;
252
+ var _a;
253
+ return __generator(this, function (_b) {
254
+ switch (_b.label) {
255
+ case 0:
256
+ mode = fields.mode === undefined ? CanisterInstallMode.Install : fields.mode;
257
+ arg = fields.arg ? __spreadArray([], __read(new Uint8Array(fields.arg)), false) : [];
258
+ wasmModule = __spreadArray([], __read(new Uint8Array(fields.module)), false);
259
+ canisterId = typeof config.canisterId === 'string' ? principal_1.Principal.fromText(config.canisterId) : config.canisterId;
260
+ return [4 /*yield*/, getManagementCanister(config).install_code({
261
+ mode: (_a = {}, _a[mode] = null, _a),
262
+ arg: arg,
263
+ wasm_module: wasmModule,
264
+ canister_id: canisterId
265
+ })];
266
+ case 1:
267
+ _b.sent();
268
+ return [2 /*return*/];
269
+ }
270
+ });
271
+ });
272
+ };
273
+ Actor.createCanister = function (config) {
274
+ return __awaiter(this, void 0, void 0, function () {
275
+ var canisterId;
276
+ return __generator(this, function (_a) {
277
+ switch (_a.label) {
278
+ case 0: return [4 /*yield*/, getManagementCanister(config || {}).provisional_create_canister_with_cycles({
279
+ amount: [],
280
+ settings: []
281
+ })];
282
+ case 1:
283
+ canisterId = (_a.sent()).canister_id;
284
+ return [2 /*return*/, canisterId];
285
+ }
286
+ });
287
+ });
288
+ };
289
+ Actor.createAndInstallCanister = function (interfaceFactory, fields, config) {
290
+ return __awaiter(this, void 0, void 0, function () {
291
+ var canisterId;
292
+ return __generator(this, function (_a) {
293
+ switch (_a.label) {
294
+ case 0: return [4 /*yield*/, this.createCanister(config)];
295
+ case 1:
296
+ canisterId = _a.sent();
297
+ return [4 /*yield*/, this.install(__assign({}, fields), __assign(__assign({}, config), { canisterId: canisterId }))];
298
+ case 2:
299
+ _a.sent();
300
+ return [2 /*return*/, this.createActor(interfaceFactory, __assign(__assign({}, config), { canisterId: canisterId }))];
301
+ }
302
+ });
303
+ });
304
+ };
305
+ Actor.createActorClass = function (interfaceFactory) {
306
+ var service = interfaceFactory({ IDL: IDL });
307
+ var CanisterActor = /** @class */ (function (_super) {
308
+ __extends(CanisterActor, _super);
309
+ function CanisterActor(config) {
310
+ var e_1, _a;
311
+ var _this = this;
312
+ var canisterId = typeof config.canisterId === 'string' ? principal_1.Principal.fromText(config.canisterId) : config.canisterId;
313
+ _this = _super.call(this, {
314
+ config: __assign(__assign(__assign({}, DEFAULT_ACTOR_CONFIG), config), { canisterId: canisterId }),
315
+ service: service
316
+ }) || this;
317
+ try {
318
+ for (var _b = __values(service._fields), _c = _b.next(); !_c.done; _c = _b.next()) {
319
+ var _d = __read(_c.value, 2), methodName = _d[0], func = _d[1];
320
+ _this[methodName] = _createActorMethod(_this, methodName, func, config.blsVerify);
321
+ }
322
+ }
323
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
324
+ finally {
325
+ try {
326
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
327
+ }
328
+ finally { if (e_1) throw e_1.error; }
329
+ }
330
+ return _this;
331
+ }
332
+ return CanisterActor;
333
+ }(Actor));
334
+ return CanisterActor;
335
+ };
336
+ Actor.createActor = function (interfaceFactory, configuration) {
337
+ return new (this.createActorClass(interfaceFactory))(configuration);
338
+ };
339
+ return Actor;
340
+ }());
341
+ exports.Actor = Actor;
342
+ // IDL functions can have multiple return values, so decoding always
343
+ // produces an array. Ensure that functions with single or zero return
344
+ // values behave as expected.
345
+ function decodeReturnValue(types, msg) {
346
+ var returnValues = IDL.decode(types, buffer_1.Buffer.from(msg));
347
+ switch (returnValues.length) {
348
+ case 0:
349
+ return undefined;
350
+ case 1:
351
+ return returnValues[0];
352
+ default:
353
+ return returnValues;
354
+ }
355
+ }
356
+ var DEFAULT_ACTOR_CONFIG = {
357
+ pollingStrategyFactory: polling_1.defaultStrategy
358
+ };
359
+ function _createActorMethod(actor, methodName, func, blsVerify) {
360
+ var _this = this;
361
+ var caller;
362
+ if (func.annotations.includes('query')) {
363
+ caller = function (options) {
364
+ var args = [];
365
+ for (var _i = 1; _i < arguments.length; _i++) {
366
+ args[_i - 1] = arguments[_i];
367
+ }
368
+ return __awaiter(_this, void 0, void 0, function () {
369
+ var agent, cid, arg, result;
370
+ var _a, _b;
371
+ return __generator(this, function (_c) {
372
+ switch (_c.label) {
373
+ case 0:
374
+ // First, if there's a config transformation, call it.
375
+ options = __assign(__assign({}, options), (_b = (_a = actor[metadataSymbol].config).queryTransform) === null || _b === void 0 ? void 0 : _b.call(_a, methodName, args, __assign(__assign({}, actor[metadataSymbol].config), options)));
376
+ agent = options.agent || actor[metadataSymbol].config.agent || getDefaultAgent();
377
+ cid = principal_1.Principal.from(options.canisterId || actor[metadataSymbol].config.canisterId);
378
+ arg = IDL.encode(func.argTypes, args);
379
+ return [4 /*yield*/, agent.query(cid, { methodName: methodName, arg: arg })];
380
+ case 1:
381
+ result = _c.sent();
382
+ switch (result.status) {
383
+ case "rejected" /* QueryResponseStatus.Rejected */:
384
+ throw new QueryCallRejectedError(cid, methodName, result);
385
+ case "replied" /* QueryResponseStatus.Replied */:
386
+ return [2 /*return*/, decodeReturnValue(func.retTypes, result.reply.arg)];
387
+ }
388
+ return [2 /*return*/];
389
+ }
390
+ });
391
+ });
392
+ };
393
+ }
394
+ else {
395
+ caller = function (options) {
396
+ var args = [];
397
+ for (var _i = 1; _i < arguments.length; _i++) {
398
+ args[_i - 1] = arguments[_i];
399
+ }
400
+ return __awaiter(_this, void 0, void 0, function () {
401
+ var agent, _a, canisterId, effectiveCanisterId, pollingStrategyFactory, cid, ecid, arg, _b, requestId, response, pollStrategy, responseBytes;
402
+ var _c, _d;
403
+ return __generator(this, function (_e) {
404
+ switch (_e.label) {
405
+ case 0:
406
+ // First, if there's a config transformation, call it.
407
+ options = __assign(__assign({}, options), (_d = (_c = actor[metadataSymbol].config).callTransform) === null || _d === void 0 ? void 0 : _d.call(_c, methodName, args, __assign(__assign({}, actor[metadataSymbol].config), options)));
408
+ agent = options.agent || actor[metadataSymbol].config.agent || getDefaultAgent();
409
+ _a = __assign(__assign(__assign({}, DEFAULT_ACTOR_CONFIG), actor[metadataSymbol].config), options), canisterId = _a.canisterId, effectiveCanisterId = _a.effectiveCanisterId, pollingStrategyFactory = _a.pollingStrategyFactory;
410
+ cid = principal_1.Principal.from(canisterId);
411
+ ecid = effectiveCanisterId !== undefined ? principal_1.Principal.from(effectiveCanisterId) : cid;
412
+ arg = IDL.encode(func.argTypes, args);
413
+ return [4 /*yield*/, agent.call(cid, {
414
+ methodName: methodName,
415
+ arg: arg,
416
+ effectiveCanisterId: ecid
417
+ })];
418
+ case 1:
419
+ _b = _e.sent(), requestId = _b.requestId, response = _b.response;
420
+ if (!response.ok) {
421
+ throw new UpdateCallRejectedError(cid, methodName, requestId, response);
422
+ }
423
+ pollStrategy = pollingStrategyFactory();
424
+ return [4 /*yield*/, (0, polling_1.pollForResponse)(agent, ecid, requestId, pollStrategy, blsVerify)];
425
+ case 2:
426
+ responseBytes = _e.sent();
427
+ if (responseBytes !== undefined) {
428
+ return [2 /*return*/, decodeReturnValue(func.retTypes, responseBytes)];
429
+ }
430
+ else if (func.retTypes.length === 0) {
431
+ return [2 /*return*/, undefined];
432
+ }
433
+ else {
434
+ throw new Error("Call was returned undefined, but type [".concat(func.retTypes.join(','), "]."));
435
+ }
436
+ return [2 /*return*/];
437
+ }
438
+ });
439
+ });
440
+ };
441
+ }
442
+ var handler = function () {
443
+ var args = [];
444
+ for (var _i = 0; _i < arguments.length; _i++) {
445
+ args[_i] = arguments[_i];
446
+ }
447
+ return caller.apply(void 0, __spreadArray([{}], __read(args), false));
448
+ };
449
+ handler.withOptions = function (options) { return function () {
450
+ var args = [];
451
+ for (var _i = 0; _i < arguments.length; _i++) {
452
+ args[_i] = arguments[_i];
453
+ }
454
+ return caller.apply(void 0, __spreadArray([options], __read(args), false));
455
+ }; };
456
+ return handler;
457
+ }
458
+ //# sourceMappingURL=actor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor.js","sourceRoot":"","sources":["../../../src/v1/utils/actor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import { Identity, RequestId } from './auth';
2
+ import { JsonObject } from './idl';
3
+ import { Principal } from './principal';
4
+ /**
5
+ * Codes used by the replica for rejecting a message.
6
+ * See {@link https://sdk.dfinity.org/docs/interface-spec/#reject-codes | the interface spec}.
7
+ */
8
+ export declare enum ReplicaRejectCode {
9
+ SysFatal = 1,
10
+ SysTransient = 2,
11
+ DestinationInvalid = 3,
12
+ CanisterReject = 4,
13
+ CanisterError = 5
14
+ }
15
+ /**
16
+ * Options when doing a {@link Agent.readState} call.
17
+ */
18
+ export interface ReadStateOptions {
19
+ /**
20
+ * A list of paths to read the state of.
21
+ */
22
+ paths: ArrayBuffer[][];
23
+ }
24
+ /**
25
+ *
26
+ */
27
+ export declare type QueryResponse = QueryResponseReplied | QueryResponseRejected;
28
+ export declare const enum QueryResponseStatus {
29
+ Replied = "replied",
30
+ Rejected = "rejected"
31
+ }
32
+ export interface QueryResponseBase {
33
+ status: QueryResponseStatus;
34
+ }
35
+ export interface QueryResponseReplied extends QueryResponseBase {
36
+ status: QueryResponseStatus.Replied;
37
+ reply: {
38
+ arg: ArrayBuffer;
39
+ };
40
+ }
41
+ export interface QueryResponseRejected extends QueryResponseBase {
42
+ status: QueryResponseStatus.Rejected;
43
+ reject_code: ReplicaRejectCode;
44
+ reject_message: string;
45
+ }
46
+ /**
47
+ * Options when doing a {@link Agent.query} call.
48
+ */
49
+ export interface QueryFields {
50
+ /**
51
+ * The method name to call.
52
+ */
53
+ methodName: string;
54
+ /**
55
+ * A binary encoded argument. This is already encoded and will be sent as is.
56
+ */
57
+ arg: ArrayBuffer;
58
+ }
59
+ /**
60
+ * Options when doing a {@link Agent.call} call.
61
+ */
62
+ export interface CallOptions {
63
+ /**
64
+ * The method name to call.
65
+ */
66
+ methodName: string;
67
+ /**
68
+ * A binary encoded argument. This is already encoded and will be sent as is.
69
+ */
70
+ arg: ArrayBuffer;
71
+ /**
72
+ * An effective canister ID, used for routing. This should only be mentioned if
73
+ * it's different from the canister ID.
74
+ */
75
+ effectiveCanisterId: Principal | string;
76
+ }
77
+ export interface ReadStateResponse {
78
+ certificate: ArrayBuffer;
79
+ }
80
+ export interface SubmitResponse {
81
+ requestId: RequestId;
82
+ response: {
83
+ ok: boolean;
84
+ status: number;
85
+ statusText: string;
86
+ };
87
+ }
88
+ /**
89
+ * An Agent able to make calls and queries to a Replica.
90
+ */
91
+ export interface Agent {
92
+ readonly rootKey: ArrayBuffer | null;
93
+ /**
94
+ * Returns the principal ID associated with this agent (by default). It only shows
95
+ * the principal of the default identity in the agent, which is the principal used
96
+ * when calls don't specify it.
97
+ */
98
+ getPrincipal(): Promise<Principal>;
99
+ /**
100
+ * Send a read state query to the replica. This includes a list of paths to return,
101
+ * and will return a Certificate. This will only reject on communication errors,
102
+ * but the certificate might contain less information than requested.
103
+ * @param effectiveCanisterId A Canister ID related to this call.
104
+ * @param options The options for this call.
105
+ */
106
+ readState(effectiveCanisterId: Principal | string, options: ReadStateOptions): Promise<ReadStateResponse>;
107
+ call(canisterId: Principal | string, fields: CallOptions): Promise<SubmitResponse>;
108
+ /**
109
+ * Query the status endpoint of the replica. This normally has a few fields that
110
+ * corresponds to the version of the replica, its root public key, and any other
111
+ * information made public.
112
+ * @returns A JsonObject that is essentially a record of fields from the status
113
+ * endpoint.
114
+ */
115
+ status(): Promise<JsonObject>;
116
+ /**
117
+ * Send a query call to a canister. See
118
+ * {@link https://sdk.dfinity.org/docs/interface-spec/#http-query | the interface spec}.
119
+ * @param canisterId The Principal of the Canister to send the query to. Sending a query to
120
+ * the management canister is not supported (as it has no meaning from an agent).
121
+ * @param options Options to use to create and send the query.
122
+ * @returns The response from the replica. The Promise will only reject when the communication
123
+ * failed. If the query itself failed but no protocol errors happened, the response will
124
+ * be of type QueryResponseRejected.
125
+ */
126
+ query(canisterId: Principal | string, options: QueryFields): Promise<QueryResponse>;
127
+ /**
128
+ * By default, the agent is configured to talk to the main Internet Computer,
129
+ * and verifies responses using a hard-coded public key.
130
+ *
131
+ * This function will instruct the agent to ask the endpoint for its public
132
+ * key, and use that instead. This is required when talking to a local test
133
+ * instance, for example.
134
+ *
135
+ * Only use this when you are _not_ talking to the main Internet Computer,
136
+ * otherwise you are prone to man-in-the-middle attacks! Do not call this
137
+ * function by default.
138
+ */
139
+ fetchRootKey(): Promise<ArrayBuffer>;
140
+ /**
141
+ * If an application needs to invalidate an identity under certain conditions, an `Agent` may expose an `invalidateIdentity` method.
142
+ * Invoking this method will set the inner identity used by the `Agent` to `null`.
143
+ *
144
+ * A use case for this would be - after a certain period of inactivity, a secure application chooses to invalidate the identity of any `HttpAgent` instances. An invalid identity can be replaced by `Agent.replaceIdentity`
145
+ */
146
+ invalidateIdentity?(): void;
147
+ /**
148
+ * If an application needs to replace an identity under certain conditions, an `Agent` may expose a `replaceIdentity` method.
149
+ * Invoking this method will set the inner identity used by the `Agent` to a newly provided identity.
150
+ *
151
+ * A use case for this would be - after authenticating using `@dfinity/auth-client`, you can replace the `AnonymousIdentity` of your `Actor` with a `DelegationIdentity`.
152
+ *
153
+ * ```Actor.agentOf(defaultActor).replaceIdentity(await authClient.getIdentity());```
154
+ */
155
+ replaceIdentity?(identity: Identity): void;
156
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReplicaRejectCode = void 0;
4
+ /**
5
+ * Codes used by the replica for rejecting a message.
6
+ * See {@link https://sdk.dfinity.org/docs/interface-spec/#reject-codes | the interface spec}.
7
+ */
8
+ var ReplicaRejectCode;
9
+ (function (ReplicaRejectCode) {
10
+ ReplicaRejectCode[ReplicaRejectCode["SysFatal"] = 1] = "SysFatal";
11
+ ReplicaRejectCode[ReplicaRejectCode["SysTransient"] = 2] = "SysTransient";
12
+ ReplicaRejectCode[ReplicaRejectCode["DestinationInvalid"] = 3] = "DestinationInvalid";
13
+ ReplicaRejectCode[ReplicaRejectCode["CanisterReject"] = 4] = "CanisterReject";
14
+ ReplicaRejectCode[ReplicaRejectCode["CanisterError"] = 5] = "CanisterError";
15
+ })(ReplicaRejectCode = exports.ReplicaRejectCode || (exports.ReplicaRejectCode = {}));
16
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/v1/utils/agent.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,iEAAY,CAAA;IACZ,yEAAgB,CAAA;IAChB,qFAAsB,CAAA;IACtB,6EAAkB,CAAA;IAClB,2EAAiB,CAAA;AACnB,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B"}