@helium/spl-utils 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +203 -0
- package/lib/cjs/accountFetchCache/accountFetchCache.js +365 -0
- package/lib/cjs/accountFetchCache/accountFetchCache.js.map +1 -0
- package/lib/cjs/accountFetchCache/eventEmitter.js +37 -0
- package/lib/cjs/accountFetchCache/eventEmitter.js.map +1 -0
- package/lib/cjs/accountFetchCache/getMultipleAccounts.js +53 -0
- package/lib/cjs/accountFetchCache/getMultipleAccounts.js.map +1 -0
- package/lib/cjs/accountFetchCache/index.js +20 -0
- package/lib/cjs/accountFetchCache/index.js.map +1 -0
- package/lib/cjs/accountsResolver/ataResolver.js +35 -0
- package/lib/cjs/accountsResolver/ataResolver.js.map +1 -0
- package/lib/cjs/accountsResolver/combineResolvers.js +27 -0
- package/lib/cjs/accountsResolver/combineResolvers.js.map +1 -0
- package/lib/cjs/accountsResolver/individual.js +90 -0
- package/lib/cjs/accountsResolver/individual.js.map +1 -0
- package/lib/cjs/accountsResolver/utils.js +32 -0
- package/lib/cjs/accountsResolver/utils.js.map +1 -0
- package/lib/cjs/anchorError.js +265 -0
- package/lib/cjs/anchorError.js.map +1 -0
- package/lib/cjs/constants.js +8 -0
- package/lib/cjs/constants.js.map +1 -0
- package/lib/cjs/executeRemoteTxn.js +109 -0
- package/lib/cjs/executeRemoteTxn.js.map +1 -0
- package/lib/cjs/extendBorsh.js +33 -0
- package/lib/cjs/extendBorsh.js.map +1 -0
- package/lib/cjs/index.js +35 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/token.js +196 -0
- package/lib/cjs/token.js.map +1 -0
- package/lib/cjs/transaction.js +308 -0
- package/lib/cjs/transaction.js.map +1 -0
- package/lib/cjs/utils.js +58 -0
- package/lib/cjs/utils.js.map +1 -0
- package/lib/esm/src/accountFetchCache/accountFetchCache.js +338 -0
- package/lib/esm/src/accountFetchCache/accountFetchCache.js.map +1 -0
- package/lib/esm/src/accountFetchCache/eventEmitter.js +33 -0
- package/lib/esm/src/accountFetchCache/eventEmitter.js.map +1 -0
- package/lib/esm/src/accountFetchCache/getMultipleAccounts.js +32 -0
- package/lib/esm/src/accountFetchCache/getMultipleAccounts.js.map +1 -0
- package/lib/esm/src/accountFetchCache/index.js +4 -0
- package/lib/esm/src/accountFetchCache/index.js.map +1 -0
- package/lib/esm/src/accountsResolver/ataResolver.js +22 -0
- package/lib/esm/src/accountsResolver/ataResolver.js.map +1 -0
- package/lib/esm/src/accountsResolver/combineResolvers.js +14 -0
- package/lib/esm/src/accountsResolver/combineResolvers.js.map +1 -0
- package/lib/esm/src/accountsResolver/individual.js +72 -0
- package/lib/esm/src/accountsResolver/individual.js.map +1 -0
- package/lib/esm/src/accountsResolver/utils.js +27 -0
- package/lib/esm/src/accountsResolver/utils.js.map +1 -0
- package/lib/esm/src/anchorError.js +262 -0
- package/lib/esm/src/anchorError.js.map +1 -0
- package/lib/esm/src/constants.js +5 -0
- package/lib/esm/src/constants.js.map +1 -0
- package/lib/esm/src/executeRemoteTxn.js +79 -0
- package/lib/esm/src/executeRemoteTxn.js.map +1 -0
- package/lib/esm/src/extendBorsh.js +26 -0
- package/lib/esm/src/extendBorsh.js.map +1 -0
- package/lib/esm/src/index.js +13 -0
- package/lib/esm/src/index.js.map +1 -0
- package/lib/esm/src/token.js +175 -0
- package/lib/esm/src/token.js.map +1 -0
- package/lib/esm/src/transaction.js +274 -0
- package/lib/esm/src/transaction.js.map +1 -0
- package/lib/esm/src/utils.js +44 -0
- package/lib/esm/src/utils.js.map +1 -0
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/lib/types/src/accountFetchCache/accountFetchCache.d.ts +67 -0
- package/lib/types/src/accountFetchCache/accountFetchCache.d.ts.map +1 -0
- package/lib/types/src/accountFetchCache/eventEmitter.d.ts +19 -0
- package/lib/types/src/accountFetchCache/eventEmitter.d.ts.map +1 -0
- package/lib/types/src/accountFetchCache/getMultipleAccounts.d.ts +7 -0
- package/lib/types/src/accountFetchCache/getMultipleAccounts.d.ts.map +1 -0
- package/lib/types/src/accountFetchCache/index.d.ts +4 -0
- package/lib/types/src/accountFetchCache/index.d.ts.map +1 -0
- package/lib/types/src/accountsResolver/ataResolver.d.ts +9 -0
- package/lib/types/src/accountsResolver/ataResolver.d.ts.map +1 -0
- package/lib/types/src/accountsResolver/combineResolvers.d.ts +3 -0
- package/lib/types/src/accountsResolver/combineResolvers.d.ts.map +1 -0
- package/lib/types/src/accountsResolver/individual.d.ts +25 -0
- package/lib/types/src/accountsResolver/individual.d.ts.map +1 -0
- package/lib/types/src/accountsResolver/utils.d.ts +7 -0
- package/lib/types/src/accountsResolver/utils.d.ts.map +1 -0
- package/lib/types/src/anchorError.d.ts +9 -0
- package/lib/types/src/anchorError.d.ts.map +1 -0
- package/lib/types/src/constants.d.ts +5 -0
- package/lib/types/src/constants.d.ts.map +1 -0
- package/lib/types/src/executeRemoteTxn.d.ts +23 -0
- package/lib/types/src/executeRemoteTxn.d.ts.map +1 -0
- package/lib/types/src/extendBorsh.d.ts +3 -0
- package/lib/types/src/extendBorsh.d.ts.map +1 -0
- package/lib/types/src/index.d.ts +13 -0
- package/lib/types/src/index.d.ts.map +1 -0
- package/lib/types/src/token.d.ts +16 -0
- package/lib/types/src/token.d.ts.map +1 -0
- package/lib/types/src/transaction.d.ts +26 -0
- package/lib/types/src/transaction.d.ts.map +1 -0
- package/lib/types/src/utils.d.ts +12 -0
- package/lib/types/src/utils.d.ts.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.getMultipleAccounts = exports.chunks = void 0;
|
|
24
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
25
|
+
const chunks = (array, size) => Array.apply(0, new Array(Math.ceil(array.length / size))).map((_, index) => array.slice(index * size, (index + 1) * size));
|
|
26
|
+
exports.chunks = chunks;
|
|
27
|
+
const getMultipleAccountsCore = (connection, keys, commitment) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const args = connection._buildArgs([keys], commitment, "base64");
|
|
29
|
+
const unsafeRes = yield connection._rpcRequest("getMultipleAccounts", args);
|
|
30
|
+
if (unsafeRes.error) {
|
|
31
|
+
throw new Error("failed to get info about account " + unsafeRes.error.message);
|
|
32
|
+
}
|
|
33
|
+
if (unsafeRes.result.value) {
|
|
34
|
+
const array = unsafeRes.result.value;
|
|
35
|
+
return { keys, array };
|
|
36
|
+
}
|
|
37
|
+
// TODO: fix
|
|
38
|
+
throw new Error();
|
|
39
|
+
});
|
|
40
|
+
const getMultipleAccounts = (connection, keys, commitment) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
const result = yield getMultipleAccountsCore(connection, keys, commitment);
|
|
42
|
+
const array = result.array.map((acc) => {
|
|
43
|
+
if (!acc) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
const { data } = acc, rest = __rest(acc, ["data"]);
|
|
47
|
+
const obj = Object.assign(Object.assign({}, rest), { owner: rest.owner && new web3_js_1.PublicKey(rest.owner), data: Buffer.from(data[0], "base64") });
|
|
48
|
+
return obj;
|
|
49
|
+
});
|
|
50
|
+
return { keys, array };
|
|
51
|
+
});
|
|
52
|
+
exports.getMultipleAccounts = getMultipleAccounts;
|
|
53
|
+
//# sourceMappingURL=getMultipleAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMultipleAccounts.js","sourceRoot":"","sources":["../../../src/accountFetchCache/getMultipleAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyD;AAElD,MAAM,MAAM,GAAG,CAAK,KAAU,EAAE,IAAY,EAAS,EAAE,CAC5D,KAAK,CAAC,KAAK,CACT,CAAC,EACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAC1C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAJxD,QAAA,MAAM,UAIkD;AAErE,MAAM,uBAAuB,GAAG,CAC9B,UAAe,EACf,IAAc,EACd,UAAkB,EAClB,EAAE;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC5E,IAAI,SAAS,CAAC,KAAK,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAC9D,CAAC;KACH;IAED,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE;QAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAgC,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACxB;IAED,YAAY;IACZ,MAAM,IAAI,KAAK,EAAE,CAAC;AACpB,CAAC,CAAA,CAAC;AAEK,MAAM,mBAAmB,GAAG,CACjC,UAAe,EACf,IAAc,EACd,UAAkB,EACyC,EAAE;IAC7D,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,EAAE,IAAI,KAAc,GAAG,EAAZ,IAAI,UAAK,GAAG,EAAvB,QAAiB,CAAM,CAAC;QAC9B,MAAM,GAAG,GAAG,gCACP,IAAI,KACP,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,mBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAC9C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GACd,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC,CAA0B,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC,CAAA,CAAC;AArBW,QAAA,mBAAmB,uBAqB9B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./accountFetchCache"), exports);
|
|
18
|
+
__exportStar(require("./eventEmitter"), exports);
|
|
19
|
+
__exportStar(require("./getMultipleAccounts"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accountFetchCache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,wDAAsC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ataResolver = void 0;
|
|
13
|
+
const individual_1 = require("./individual");
|
|
14
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
15
|
+
const utils_1 = require("./utils");
|
|
16
|
+
function ataResolver({ instruction, account, mint, owner, }) {
|
|
17
|
+
return (0, individual_1.resolveIndividual)(({ path, accounts, idlIx }) => __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
if (idlIx.name === instruction && path[path.length - 1] === account) {
|
|
19
|
+
const mintKey = (0, utils_1.get)(accounts, [
|
|
20
|
+
...path.slice(0, path.length - 1),
|
|
21
|
+
mint,
|
|
22
|
+
]);
|
|
23
|
+
const ownerKey = (0, utils_1.get)(accounts, [
|
|
24
|
+
...path.slice(0, path.length - 1),
|
|
25
|
+
owner,
|
|
26
|
+
]);
|
|
27
|
+
if (mintKey && ownerKey) {
|
|
28
|
+
return (0, spl_token_1.getAssociatedTokenAddress)(mintKey, ownerKey, true);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
exports.ataResolver = ataResolver;
|
|
35
|
+
//# sourceMappingURL=ataResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ataResolver.js","sourceRoot":"","sources":["../../../src/accountsResolver/ataResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6CAAiD;AACjD,iDAA8D;AAC9D,mCAA8B;AAS9B,SAAgB,WAAW,CAAuB,EAChD,WAAW,EACX,OAAO,EACP,IAAI,EACJ,KAAK,GACW;IAChB,OAAO,IAAA,8BAAiB,EAAC,CAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE;YACnE,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE;gBAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjC,IAAI;aACL,CAAc,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE;gBAC7B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjC,KAAK;aACN,CAAc,CAAC;YAEhB,IAAI,OAAO,IAAI,QAAQ,EAAE;gBACvB,OAAO,IAAA,qCAAyB,EAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC3D;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAvBD,kCAuBC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.combineResolvers = void 0;
|
|
13
|
+
function combineResolvers(...resolvers) {
|
|
14
|
+
return (args) => __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
let resolved = 0;
|
|
16
|
+
let accounts = args.accounts;
|
|
17
|
+
for (let i = 0; i < resolvers.length; i += 1) {
|
|
18
|
+
const resolver = resolvers[i];
|
|
19
|
+
const result = yield resolver(Object.assign(Object.assign({}, args), { accounts }));
|
|
20
|
+
accounts = result.accounts;
|
|
21
|
+
resolved += result.resolved;
|
|
22
|
+
}
|
|
23
|
+
return { accounts, resolved };
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
exports.combineResolvers = combineResolvers;
|
|
27
|
+
//# sourceMappingURL=combineResolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combineResolvers.js","sourceRoot":"","sources":["../../../src/accountsResolver/combineResolvers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAgB,gBAAgB,CAC9B,GAAG,SAA4C;IAE/C,OAAO,CAAO,IAAI,EAAE,EAAE;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,iCAAM,IAAI,KAAE,QAAQ,IAAG,CAAC;YACrD,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;SAC7B;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAA,CAAC;AACJ,CAAC;AAfD,4CAeC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.resolveIndividual = void 0;
|
|
16
|
+
const camelcase_1 = __importDefault(require("camelcase"));
|
|
17
|
+
const utils_1 = require("./utils");
|
|
18
|
+
function resolveIndividualImpl({ idlAccounts, programId, provider, args, accounts, path = [], resolver, idlIx, }) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const newPath = [...path, (0, camelcase_1.default)(idlAccounts.name)];
|
|
21
|
+
if (idlAccounts.accounts) {
|
|
22
|
+
let resolved = 0;
|
|
23
|
+
const subAccounts = idlAccounts.accounts;
|
|
24
|
+
for (let k = 0; k < subAccounts.length; k += 1) {
|
|
25
|
+
const subAccount = subAccounts[k];
|
|
26
|
+
resolved += yield resolveIndividualImpl({
|
|
27
|
+
idlAccounts: subAccount,
|
|
28
|
+
programId,
|
|
29
|
+
provider,
|
|
30
|
+
args,
|
|
31
|
+
accounts,
|
|
32
|
+
path: newPath,
|
|
33
|
+
resolver,
|
|
34
|
+
idlIx,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return resolved;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
let resolved = 0;
|
|
41
|
+
let value = (0, utils_1.get)(accounts, newPath);
|
|
42
|
+
if (!value) {
|
|
43
|
+
value = yield resolver({
|
|
44
|
+
programId,
|
|
45
|
+
provider,
|
|
46
|
+
path: newPath,
|
|
47
|
+
args,
|
|
48
|
+
accounts,
|
|
49
|
+
idlIx,
|
|
50
|
+
});
|
|
51
|
+
if (value) {
|
|
52
|
+
resolved = 1;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
(0, utils_1.set)(accounts, newPath, value);
|
|
56
|
+
return resolved;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Allows custom account resolution by functionaly operating on one account at a time.
|
|
62
|
+
*
|
|
63
|
+
* Check the `path` arg to see the account name being operated on, and use `accounts` , `args` , and `provider` to fill in any
|
|
64
|
+
* details necessary
|
|
65
|
+
*
|
|
66
|
+
* @param resolver
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
function resolveIndividual(resolver) {
|
|
70
|
+
return ({ idlIx, args, accounts, programId, provider }) => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
let resolved = 0;
|
|
72
|
+
for (let k = 0; k < idlIx.accounts.length; k += 1) {
|
|
73
|
+
resolved += yield resolveIndividualImpl({
|
|
74
|
+
idlAccounts: idlIx.accounts[k],
|
|
75
|
+
programId,
|
|
76
|
+
provider,
|
|
77
|
+
resolver,
|
|
78
|
+
args,
|
|
79
|
+
accounts,
|
|
80
|
+
idlIx,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
accounts,
|
|
85
|
+
resolved
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
exports.resolveIndividual = resolveIndividual;
|
|
90
|
+
//# sourceMappingURL=individual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"individual.js","sourceRoot":"","sources":["../../../src/accountsResolver/individual.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,0DAAkC;AAClC,mCAA6C;AAW7C,SAAe,qBAAqB,CAAC,EACnC,WAAW,EACX,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,IAAI,GAAG,EAAE,EACT,QAAQ,EACR,KAAK,GAUN;;QACC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,IAAA,mBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvD,IAAK,WAA2B,CAAC,QAAQ,EAAE;YACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,MAAM,WAAW,GAAI,WAA2B,CAAC,QAAQ,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAElC,QAAQ,IAAI,MAAM,qBAAqB,CAAC;oBACtC,WAAW,EAAE,UAAU;oBACvB,SAAS;oBACT,QAAQ;oBACR,IAAI;oBACJ,QAAQ;oBACR,IAAI,EAAE,OAAO;oBACb,QAAQ;oBACR,KAAK;iBACN,CAAC,CAAC;aACJ;YAED,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,KAAK,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG,MAAM,QAAQ,CAAC;oBACrB,SAAS;oBACT,QAAQ;oBACR,IAAI,EAAE,OAAO;oBACb,IAAI;oBACJ,QAAQ;oBACR,KAAK;iBACN,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE;oBACT,QAAQ,GAAG,CAAC,CAAC;iBACd;aACF;YACD,IAAA,WAAG,EACD,QAAQ,EACR,OAAO,EACP,KAAK,CACN,CAAC;YACF,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC;CAAA;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,QAA4B;IAE5B,OAAO,CAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACjD,QAAQ,IAAI,MAAM,qBAAqB,CAAC;gBACtC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9B,SAAS;gBACT,QAAQ;gBACR,QAAQ;gBACR,IAAI;gBACJ,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;SACJ;QACD,OAAO;YACL,QAAQ;YACR,QAAQ;SACT,CAAA;IACH,CAAC,CAAA,CAAC;AACJ,CAAC;AArBD,8CAqBC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.get = exports.set = void 0;
|
|
4
|
+
function set(accounts, path, value) {
|
|
5
|
+
if (!value) {
|
|
6
|
+
return accounts;
|
|
7
|
+
}
|
|
8
|
+
let curr = accounts;
|
|
9
|
+
path.forEach((p, idx) => {
|
|
10
|
+
const isLast = idx == path.length - 1;
|
|
11
|
+
if (isLast) {
|
|
12
|
+
curr[p] = value;
|
|
13
|
+
}
|
|
14
|
+
curr[p] = curr[p] || {};
|
|
15
|
+
curr = curr[p];
|
|
16
|
+
});
|
|
17
|
+
return accounts;
|
|
18
|
+
}
|
|
19
|
+
exports.set = set;
|
|
20
|
+
function get(accounts, path) {
|
|
21
|
+
// Only return if pubkey
|
|
22
|
+
const ret = path.reduce((acc, subPath) => {
|
|
23
|
+
if (acc) {
|
|
24
|
+
return acc[subPath];
|
|
25
|
+
}
|
|
26
|
+
}, accounts);
|
|
27
|
+
if (ret && ret.toBase58) {
|
|
28
|
+
return ret;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.get = get;
|
|
32
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/accountsResolver/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,GAAG,CACjB,QAAkB,EAClB,IAAc,EACd,KAA4B;IAE5B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SACjB;QAED,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAa,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AArBD,kBAqBC;AAED,SAAgB,GAAG,CAAC,QAAkB,EAAE,IAAc;IACpD,wBAAwB;IACxB,MAAM,GAAG,GAAqC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACzE,IAAI,GAAG,EAAE;YACP,OAAQ,GAAgB,CAAC,OAAO,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,QAA4C,CAAC,CAAC;IAEjD,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE;QACvB,OAAO,GAAgB,CAAC;KACzB;AACH,CAAC;AAXD,kBAWC"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// TODO: Go back to anchor once they handle:
|
|
3
|
+
// Error: Raw transaction 4nZwiENzNwKLfCBtDirAr5xE71GUqsNKsUNafSUHiEUkWhqbVgEmximswnDFp4ZFFy5C4NXJ75qCKP6nnWBSmFey failed ({"err":{"InstructionError":[4,{"Custom":1}]}})
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ProgramError = exports.SystemErrorMessage = void 0;
|
|
6
|
+
const LangErrorCode = {
|
|
7
|
+
// Instructions.
|
|
8
|
+
InstructionMissing: 100,
|
|
9
|
+
InstructionFallbackNotFound: 101,
|
|
10
|
+
InstructionDidNotDeserialize: 102,
|
|
11
|
+
InstructionDidNotSerialize: 103,
|
|
12
|
+
// IDL instructions.
|
|
13
|
+
IdlInstructionStub: 1000,
|
|
14
|
+
IdlInstructionInvalidProgram: 1001,
|
|
15
|
+
// Constraints.
|
|
16
|
+
ConstraintMut: 2000,
|
|
17
|
+
ConstraintHasOne: 2001,
|
|
18
|
+
ConstraintSigner: 2002,
|
|
19
|
+
ConstraintRaw: 2003,
|
|
20
|
+
ConstraintOwner: 2004,
|
|
21
|
+
ConstraintRentExempt: 2005,
|
|
22
|
+
ConstraintSeeds: 2006,
|
|
23
|
+
ConstraintExecutable: 2007,
|
|
24
|
+
ConstraintState: 2008,
|
|
25
|
+
ConstraintAssociated: 2009,
|
|
26
|
+
ConstraintAssociatedInit: 2010,
|
|
27
|
+
ConstraintClose: 2011,
|
|
28
|
+
ConstraintAddress: 2012,
|
|
29
|
+
ConstraintZero: 2013,
|
|
30
|
+
ConstraintTokenMint: 2014,
|
|
31
|
+
ConstraintTokenOwner: 2015,
|
|
32
|
+
ConstraintMintMintAuthority: 2016,
|
|
33
|
+
ConstraintMintFreezeAuthority: 2017,
|
|
34
|
+
ConstraintMintDecimals: 2018,
|
|
35
|
+
ConstraintSpace: 2019,
|
|
36
|
+
// Accounts.
|
|
37
|
+
AccountDiscriminatorAlreadySet: 3000,
|
|
38
|
+
AccountDiscriminatorNotFound: 3001,
|
|
39
|
+
AccountDiscriminatorMismatch: 3002,
|
|
40
|
+
AccountDidNotDeserialize: 3003,
|
|
41
|
+
AccountDidNotSerialize: 3004,
|
|
42
|
+
AccountNotEnoughKeys: 3005,
|
|
43
|
+
AccountNotMutable: 3006,
|
|
44
|
+
AccountOwnedByWrongProgram: 3007,
|
|
45
|
+
InvalidProgramId: 3008,
|
|
46
|
+
InvalidProgramExecutable: 3009,
|
|
47
|
+
AccountNotSigner: 3010,
|
|
48
|
+
AccountNotSystemOwned: 3011,
|
|
49
|
+
AccountNotInitialized: 3012,
|
|
50
|
+
AccountNotProgramData: 3013,
|
|
51
|
+
AccountNotAssociatedTokenAccount: 3014,
|
|
52
|
+
// State.
|
|
53
|
+
StateInvalidAddress: 4000,
|
|
54
|
+
// Used for APIs that shouldn't be used anymore.
|
|
55
|
+
Deprecated: 5000,
|
|
56
|
+
};
|
|
57
|
+
exports.SystemErrorMessage = new Map([
|
|
58
|
+
[
|
|
59
|
+
1,
|
|
60
|
+
"Insufficient balance."
|
|
61
|
+
], [
|
|
62
|
+
2,
|
|
63
|
+
"Invalid instruction data."
|
|
64
|
+
], [
|
|
65
|
+
3,
|
|
66
|
+
"Invalid account data"
|
|
67
|
+
], [
|
|
68
|
+
4,
|
|
69
|
+
"Account data too small"
|
|
70
|
+
], [
|
|
71
|
+
5,
|
|
72
|
+
"Insufficient funds"
|
|
73
|
+
], [
|
|
74
|
+
6,
|
|
75
|
+
"Incorrect prgoram id"
|
|
76
|
+
], [
|
|
77
|
+
7,
|
|
78
|
+
"Missing required signature"
|
|
79
|
+
], [
|
|
80
|
+
8,
|
|
81
|
+
"Account already initialized"
|
|
82
|
+
], [
|
|
83
|
+
9,
|
|
84
|
+
"Attempt to operate on an account that was not yet initialized"
|
|
85
|
+
], [
|
|
86
|
+
10,
|
|
87
|
+
"Not enough account keys provided"
|
|
88
|
+
], [
|
|
89
|
+
11,
|
|
90
|
+
"Account borrow failed, already borrowed"
|
|
91
|
+
], [
|
|
92
|
+
12,
|
|
93
|
+
"Max seed length exceeded"
|
|
94
|
+
], [
|
|
95
|
+
13,
|
|
96
|
+
"Invalid seeds"
|
|
97
|
+
], [
|
|
98
|
+
14,
|
|
99
|
+
"Borsh IO Error"
|
|
100
|
+
], [
|
|
101
|
+
15,
|
|
102
|
+
"Account not rent exempt"
|
|
103
|
+
]
|
|
104
|
+
]);
|
|
105
|
+
const LangErrorMessage = new Map([
|
|
106
|
+
// Instructions.
|
|
107
|
+
[
|
|
108
|
+
LangErrorCode.InstructionMissing,
|
|
109
|
+
"8 byte instruction identifier not provided",
|
|
110
|
+
],
|
|
111
|
+
[
|
|
112
|
+
LangErrorCode.InstructionFallbackNotFound,
|
|
113
|
+
"Fallback functions are not supported",
|
|
114
|
+
],
|
|
115
|
+
[
|
|
116
|
+
LangErrorCode.InstructionDidNotDeserialize,
|
|
117
|
+
"The program could not deserialize the given instruction",
|
|
118
|
+
],
|
|
119
|
+
[
|
|
120
|
+
LangErrorCode.InstructionDidNotSerialize,
|
|
121
|
+
"The program could not serialize the given instruction",
|
|
122
|
+
],
|
|
123
|
+
// Idl instructions.
|
|
124
|
+
[
|
|
125
|
+
LangErrorCode.IdlInstructionStub,
|
|
126
|
+
"The program was compiled without idl instructions",
|
|
127
|
+
],
|
|
128
|
+
[
|
|
129
|
+
LangErrorCode.IdlInstructionInvalidProgram,
|
|
130
|
+
"The transaction was given an invalid program for the IDL instruction",
|
|
131
|
+
],
|
|
132
|
+
// Constraints.
|
|
133
|
+
[LangErrorCode.ConstraintMut, "A mut constraint was violated"],
|
|
134
|
+
[LangErrorCode.ConstraintHasOne, "A has_one constraint was violated"],
|
|
135
|
+
[LangErrorCode.ConstraintSigner, "A signer constraint was violated"],
|
|
136
|
+
[LangErrorCode.ConstraintRaw, "A raw constraint was violated"],
|
|
137
|
+
[LangErrorCode.ConstraintOwner, "An owner constraint was violated"],
|
|
138
|
+
[LangErrorCode.ConstraintRentExempt, "A rent exempt constraint was violated"],
|
|
139
|
+
[LangErrorCode.ConstraintSeeds, "A seeds constraint was violated"],
|
|
140
|
+
[LangErrorCode.ConstraintExecutable, "An executable constraint was violated"],
|
|
141
|
+
[LangErrorCode.ConstraintState, "A state constraint was violated"],
|
|
142
|
+
[LangErrorCode.ConstraintAssociated, "An associated constraint was violated"],
|
|
143
|
+
[
|
|
144
|
+
LangErrorCode.ConstraintAssociatedInit,
|
|
145
|
+
"An associated init constraint was violated",
|
|
146
|
+
],
|
|
147
|
+
[LangErrorCode.ConstraintClose, "A close constraint was violated"],
|
|
148
|
+
[LangErrorCode.ConstraintAddress, "An address constraint was violated"],
|
|
149
|
+
[LangErrorCode.ConstraintZero, "Expected zero account discriminant"],
|
|
150
|
+
[LangErrorCode.ConstraintTokenMint, "A token mint constraint was violated"],
|
|
151
|
+
[LangErrorCode.ConstraintTokenOwner, "A token owner constraint was violated"],
|
|
152
|
+
[
|
|
153
|
+
LangErrorCode.ConstraintMintMintAuthority,
|
|
154
|
+
"A mint mint authority constraint was violated",
|
|
155
|
+
],
|
|
156
|
+
[
|
|
157
|
+
LangErrorCode.ConstraintMintFreezeAuthority,
|
|
158
|
+
"A mint freeze authority constraint was violated",
|
|
159
|
+
],
|
|
160
|
+
[
|
|
161
|
+
LangErrorCode.ConstraintMintDecimals,
|
|
162
|
+
"A mint decimals constraint was violated",
|
|
163
|
+
],
|
|
164
|
+
[LangErrorCode.ConstraintSpace, "A space constraint was violated"],
|
|
165
|
+
// Accounts.
|
|
166
|
+
[
|
|
167
|
+
LangErrorCode.AccountDiscriminatorAlreadySet,
|
|
168
|
+
"The account discriminator was already set on this account",
|
|
169
|
+
],
|
|
170
|
+
[
|
|
171
|
+
LangErrorCode.AccountDiscriminatorNotFound,
|
|
172
|
+
"No 8 byte discriminator was found on the account",
|
|
173
|
+
],
|
|
174
|
+
[
|
|
175
|
+
LangErrorCode.AccountDiscriminatorMismatch,
|
|
176
|
+
"8 byte discriminator did not match what was expected",
|
|
177
|
+
],
|
|
178
|
+
[LangErrorCode.AccountDidNotDeserialize, "Failed to deserialize the account"],
|
|
179
|
+
[LangErrorCode.AccountDidNotSerialize, "Failed to serialize the account"],
|
|
180
|
+
[
|
|
181
|
+
LangErrorCode.AccountNotEnoughKeys,
|
|
182
|
+
"Not enough account keys given to the instruction",
|
|
183
|
+
],
|
|
184
|
+
[LangErrorCode.AccountNotMutable, "The given account is not mutable"],
|
|
185
|
+
[
|
|
186
|
+
LangErrorCode.AccountOwnedByWrongProgram,
|
|
187
|
+
"The given account is owned by a different program than expected",
|
|
188
|
+
],
|
|
189
|
+
[LangErrorCode.InvalidProgramId, "Program ID was not as expected"],
|
|
190
|
+
[LangErrorCode.InvalidProgramExecutable, "Program account is not executable"],
|
|
191
|
+
[LangErrorCode.AccountNotSigner, "The given account did not sign"],
|
|
192
|
+
[
|
|
193
|
+
LangErrorCode.AccountNotSystemOwned,
|
|
194
|
+
"The given account is not owned by the system program",
|
|
195
|
+
],
|
|
196
|
+
[
|
|
197
|
+
LangErrorCode.AccountNotInitialized,
|
|
198
|
+
"The program expected this account to be already initialized",
|
|
199
|
+
],
|
|
200
|
+
[
|
|
201
|
+
LangErrorCode.AccountNotProgramData,
|
|
202
|
+
"The given account is not a program data account",
|
|
203
|
+
],
|
|
204
|
+
[
|
|
205
|
+
LangErrorCode.AccountNotAssociatedTokenAccount,
|
|
206
|
+
"The given account is not the associated token account",
|
|
207
|
+
],
|
|
208
|
+
// State.
|
|
209
|
+
[
|
|
210
|
+
LangErrorCode.StateInvalidAddress,
|
|
211
|
+
"The given state account does not have the correct address",
|
|
212
|
+
],
|
|
213
|
+
// Misc.
|
|
214
|
+
[
|
|
215
|
+
LangErrorCode.Deprecated,
|
|
216
|
+
"The API being used is deprecated and should no longer be used",
|
|
217
|
+
],
|
|
218
|
+
]);
|
|
219
|
+
// An error from a user defined program.
|
|
220
|
+
class ProgramError {
|
|
221
|
+
constructor(code, msg, ...params) {
|
|
222
|
+
this.code = code;
|
|
223
|
+
this.msg = msg;
|
|
224
|
+
}
|
|
225
|
+
static parse(err, idlErrors) {
|
|
226
|
+
var _a;
|
|
227
|
+
let errorCode = null;
|
|
228
|
+
if (err.InstructionError) {
|
|
229
|
+
if (typeof err.InstructionError[0] == "number") {
|
|
230
|
+
errorCode = err.InstructionError[0];
|
|
231
|
+
}
|
|
232
|
+
if ((_a = err.InstructionError[1]) === null || _a === void 0 ? void 0 : _a.Custom) {
|
|
233
|
+
errorCode = err.InstructionError[1].Custom;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if (errorCode == null) {
|
|
237
|
+
// TODO: don't rely on the error string. web3.js should preserve the error
|
|
238
|
+
// code information instead of giving us an untyped string.
|
|
239
|
+
let components = err.toString().split("custom program error: ");
|
|
240
|
+
if (errorCode == null && components.length !== 2) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
try {
|
|
244
|
+
errorCode = parseInt(components[1]);
|
|
245
|
+
}
|
|
246
|
+
catch (parseErr) {
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
let errorMsg = (err.InstructionErr && err.InstructionErr[1]) ||
|
|
251
|
+
idlErrors.get(errorCode) ||
|
|
252
|
+
LangErrorMessage.get(errorCode) ||
|
|
253
|
+
exports.SystemErrorMessage.get(errorCode);
|
|
254
|
+
if (errorMsg !== undefined) {
|
|
255
|
+
return new ProgramError(errorCode, errorMsg, errorCode + ": " + errorMsg);
|
|
256
|
+
}
|
|
257
|
+
// Unable to parse the error. Just return the untranslated error.
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
toString() {
|
|
261
|
+
return this.msg;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
exports.ProgramError = ProgramError;
|
|
265
|
+
//# sourceMappingURL=anchorError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchorError.js","sourceRoot":"","sources":["../../src/anchorError.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MOBILE_MINT = exports.HNT_MINT = exports.DC_MINT = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
exports.DC_MINT = new web3_js_1.PublicKey("dcr5SHHfQixyb5YT7J1hgbWvgxvBpn65bpCyx6pTiKo");
|
|
6
|
+
exports.HNT_MINT = new web3_js_1.PublicKey("hntg4GdrpMBW8bqs4R2om4stE6uScPRhPKWAarzoWKP");
|
|
7
|
+
exports.MOBILE_MINT = new web3_js_1.PublicKey("mob1r1x3raXXoH42RZwxTxgbAuKkBQzTAQqSjkUdZbd");
|
|
8
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,OAAO,GAAG,IAAI,mBAAS,CAClC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,6CAA6C,CAC9C,CAAC"}
|