@wallfree-dev/aptos 0.13.43-beta.11

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 (44) hide show
  1. package/.npm-cache/_logs/2026-01-11T13_30_26_409Z-debug-0.log +14 -0
  2. package/README.md +32 -0
  3. package/index.d.ts +6 -0
  4. package/index.js +32 -0
  5. package/index.js.map +1 -0
  6. package/package.json +63 -0
  7. package/v1/block-explorer/AptosBlockExplorer.d.ts +9 -0
  8. package/v1/block-explorer/AptosBlockExplorer.js +72 -0
  9. package/v1/block-explorer/AptosBlockExplorer.js.map +1 -0
  10. package/v1/module/AptosCoinTokens.d.ts +5 -0
  11. package/v1/module/AptosCoinTokens.js +49 -0
  12. package/v1/module/AptosCoinTokens.js.map +1 -0
  13. package/v1/module/AptosModule.d.ts +18 -0
  14. package/v1/module/AptosModule.js +131 -0
  15. package/v1/module/AptosModule.js.map +1 -0
  16. package/v1/protocol/AptosCoinTokenProtocol.d.ts +89 -0
  17. package/v1/protocol/AptosCoinTokenProtocol.js +860 -0
  18. package/v1/protocol/AptosCoinTokenProtocol.js.map +1 -0
  19. package/v1/protocol/AptosProtocol.d.ts +77 -0
  20. package/v1/protocol/AptosProtocol.js +912 -0
  21. package/v1/protocol/AptosProtocol.js.map +1 -0
  22. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +14 -0
  23. package/v1/serializer/v3/schemas/converter/transaction-converter.js +34 -0
  24. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  25. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-aptos.d.ts +6 -0
  26. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-aptos.js +3 -0
  27. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-aptos.js.map +1 -0
  28. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-aptos.d.ts +3 -0
  29. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-aptos.js +3 -0
  30. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-aptos.js.map +1 -0
  31. package/v1/serializer/v3/schemas/generated/transaction-sign-request-aptos.json +29 -0
  32. package/v1/serializer/v3/schemas/generated/transaction-sign-response-aptos.json +19 -0
  33. package/v1/serializer/v3/serializer-companion.d.ts +15 -0
  34. package/v1/serializer/v3/serializer-companion.js +160 -0
  35. package/v1/serializer/v3/serializer-companion.js.map +1 -0
  36. package/v1/serializer/v3/validators/transaction-validator.d.ts +7 -0
  37. package/v1/serializer/v3/validators/transaction-validator.js +84 -0
  38. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
  39. package/v1/serializer/v3/validators/validators.d.ts +4 -0
  40. package/v1/serializer/v3/validators/validators.js +45 -0
  41. package/v1/serializer/v3/validators/validators.js.map +1 -0
  42. package/v1/types/protocol.d.ts +37 -0
  43. package/v1/types/protocol.js +3 -0
  44. package/v1/types/protocol.js.map +1 -0
@@ -0,0 +1,14 @@
1
+ 0 verbose cli /opt/hostedtoolcache/node/18.20.8/x64/bin/node /opt/hostedtoolcache/node/18.20.8/x64/bin/npm
2
+ 1 info using npm@10.8.2
3
+ 2 info using node@v18.20.8
4
+ 3 silly config load:file:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/npmrc
5
+ 4 silly config load:file:/home/runner/work/airgap-coin-lib/airgap-coin-lib/packages/aptos/dist/.npmrc
6
+ 5 silly config load:file:/home/runner/work/airgap-coin-lib/airgap-coin-lib/.npmrc.publish
7
+ 6 silly config load:file:/opt/hostedtoolcache/node/18.20.8/x64/etc/npmrc
8
+ 7 verbose title npm publish
9
+ 8 verbose argv "publish" "--cache" ".npm-cache" "--tag" "next" "--access" "public"
10
+ 9 verbose logfile logs-max:10 dir:/home/runner/work/airgap-coin-lib/airgap-coin-lib/packages/aptos/dist/.npm-cache/_logs/2026-01-11T13_30_26_409Z-
11
+ 10 verbose logfile /home/runner/work/airgap-coin-lib/airgap-coin-lib/packages/aptos/dist/.npm-cache/_logs/2026-01-11T13_30_26_409Z-debug-0.log
12
+ 11 verbose publish [ '.' ]
13
+ 12 silly logfile done cleaning log files
14
+ 13 silly packumentCache heap:2197815296 maxSize:549453824 maxEntrySize:274726912
package/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # @airgap/aptos
2
+
3
+ This package provides Aptos blockchain support for the AirGap wallet ecosystem.
4
+
5
+ ## Features
6
+
7
+ - APT (Aptos) native coin support
8
+ - Transaction signing and broadcasting
9
+ - Balance and transaction history queries
10
+ - Block explorer integration
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install @airgap/aptos
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ ```typescript
21
+ import { AptosModule } from '@airgap/aptos'
22
+
23
+ const aptosModule = new AptosModule()
24
+ ```
25
+
26
+ ## Supported Networks
27
+
28
+ - Aptos Mainnet
29
+
30
+ ## License
31
+
32
+ MIT
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { AptosModule } from './v1/module/AptosModule';
2
+ import { AptosProtocol, createAptosProtocol } from './v1/protocol/AptosProtocol';
3
+ import { AptosCoinTokenProtocol, AptosCoinTokenProtocolImpl, createAptosCoinTokenProtocol } from './v1/protocol/AptosCoinTokenProtocol';
4
+ import { APTOS_COIN_TOKENS, APTOS_COIN_TOKEN_USDT, APTOS_COIN_TOKEN_USDC, createCoinTokenOptionsFromMetadata } from './v1/module/AptosCoinTokens';
5
+ export { AptosModule, AptosProtocol, createAptosProtocol, AptosCoinTokenProtocol, AptosCoinTokenProtocolImpl, createAptosCoinTokenProtocol, APTOS_COIN_TOKENS, APTOS_COIN_TOKEN_USDT, APTOS_COIN_TOKEN_USDC, createCoinTokenOptionsFromMetadata };
6
+ export * from './v1/types/protocol';
package/index.js ADDED
@@ -0,0 +1,32 @@
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
+ exports.createCoinTokenOptionsFromMetadata = exports.APTOS_COIN_TOKEN_USDC = exports.APTOS_COIN_TOKEN_USDT = exports.APTOS_COIN_TOKENS = exports.createAptosCoinTokenProtocol = exports.AptosCoinTokenProtocolImpl = exports.createAptosProtocol = exports.AptosProtocol = exports.AptosModule = void 0;
18
+ var AptosModule_1 = require("./v1/module/AptosModule");
19
+ Object.defineProperty(exports, "AptosModule", { enumerable: true, get: function () { return AptosModule_1.AptosModule; } });
20
+ var AptosProtocol_1 = require("./v1/protocol/AptosProtocol");
21
+ Object.defineProperty(exports, "AptosProtocol", { enumerable: true, get: function () { return AptosProtocol_1.AptosProtocol; } });
22
+ Object.defineProperty(exports, "createAptosProtocol", { enumerable: true, get: function () { return AptosProtocol_1.createAptosProtocol; } });
23
+ var AptosCoinTokenProtocol_1 = require("./v1/protocol/AptosCoinTokenProtocol");
24
+ Object.defineProperty(exports, "AptosCoinTokenProtocolImpl", { enumerable: true, get: function () { return AptosCoinTokenProtocol_1.AptosCoinTokenProtocolImpl; } });
25
+ Object.defineProperty(exports, "createAptosCoinTokenProtocol", { enumerable: true, get: function () { return AptosCoinTokenProtocol_1.createAptosCoinTokenProtocol; } });
26
+ var AptosCoinTokens_1 = require("./v1/module/AptosCoinTokens");
27
+ Object.defineProperty(exports, "APTOS_COIN_TOKENS", { enumerable: true, get: function () { return AptosCoinTokens_1.APTOS_COIN_TOKENS; } });
28
+ Object.defineProperty(exports, "APTOS_COIN_TOKEN_USDT", { enumerable: true, get: function () { return AptosCoinTokens_1.APTOS_COIN_TOKEN_USDT; } });
29
+ Object.defineProperty(exports, "APTOS_COIN_TOKEN_USDC", { enumerable: true, get: function () { return AptosCoinTokens_1.APTOS_COIN_TOKEN_USDC; } });
30
+ Object.defineProperty(exports, "createCoinTokenOptionsFromMetadata", { enumerable: true, get: function () { return AptosCoinTokens_1.createCoinTokenOptionsFromMetadata; } });
31
+ __exportStar(require("./v1/types/protocol"), exports);
32
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAqD;AAWnD,4FAXO,yBAAW,OAWP;AAVb,6DAAgF;AAW9E,8FAXO,6BAAa,OAWP;AACb,oGAZsB,mCAAmB,OAYtB;AAXrB,+EAAuI;AAarI,2GAb+B,mDAA0B,OAa/B;AAC1B,6GAd2D,qDAA4B,OAc3D;AAb9B,+DAKoC;AASlC,kGAbA,mCAAiB,OAaA;AACjB,sGAbA,uCAAqB,OAaA;AACrB,sGAbA,uCAAqB,OAaA;AACrB,mHAbA,oDAAkC,OAaA;AAGpC,sDAAmC"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@wallfree-dev/aptos",
3
+ "version": "0.13.43-beta.11",
4
+ "description": "The @wallfree-dev/aptos is an Aptos implementation of the ICoinProtocol interface from @wallfree-dev/coinlib-core.",
5
+ "keywords": [
6
+ "airgap",
7
+ "blockchain",
8
+ "crypto",
9
+ "aptos"
10
+ ],
11
+ "homepage": "https://www.airgap.it",
12
+ "license": "MIT",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/airgap-it/airgap-coin-lib.git"
16
+ },
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "scripts": {
21
+ "build": "rimraf ./dist && tsc && node scripts/copy-files-after-build.js",
22
+ "build-scripts": "tsc scripts/copy-files-after-build.ts",
23
+ "lint": "tslint -c ./tslint.json --project ./tsconfig.json --format stylish --fix",
24
+ "lint:prettier": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
25
+ "lint-ci": "tslint -t json -o ../../lint-reports/aptos.json --project . || true",
26
+ "lint-ci:prettier": "prettier \"src/**/*.ts\" \"test/**/*.ts\" --list-different",
27
+ "test": "",
28
+ "test-ci": "nyc --reporter=lcov npm test",
29
+ "browserify": "browserify ./dist/index.js -s airgapCoinLibAptos > ./dist/airgap-coinlib-aptos.min.js"
30
+ },
31
+ "author": "Papers AG <contact@papers.ch> (https://papers.ch)",
32
+ "dependencies": {
33
+ "@wallfree-dev/coinlib-core": "^0.13.43-beta.11",
34
+ "@wallfree-dev/module-kit": "^0.13.43-beta.11",
35
+ "@wallfree-dev/serializer": "^0.13.43-beta.11",
36
+ "js-sha3": "^0.9.3",
37
+ "tweetnacl": "^1.0.3"
38
+ },
39
+ "nyc": {
40
+ "include": [
41
+ "src/**/*.ts"
42
+ ],
43
+ "exclude": [
44
+ "test/**/*.spec.ts"
45
+ ],
46
+ "extension": [
47
+ ".ts"
48
+ ],
49
+ "require": [
50
+ "ts-node/register"
51
+ ],
52
+ "reporter": [
53
+ "text",
54
+ "text-summary"
55
+ ],
56
+ "report-dir": "../../coverage/aptos",
57
+ "sourceMap": true,
58
+ "instrument": true
59
+ },
60
+ "devDependencies": {
61
+ "rimraf": "^6.0.1"
62
+ }
63
+ }
@@ -0,0 +1,9 @@
1
+ import { AirGapBlockExplorer, BlockExplorerMetadata } from '@wallfree-dev/module-kit';
2
+ export declare class AptosBlockExplorer implements AirGapBlockExplorer {
3
+ private readonly url;
4
+ private readonly metadata;
5
+ constructor(url: string);
6
+ getMetadata(): Promise<BlockExplorerMetadata>;
7
+ createAddressUrl(address: string): Promise<string>;
8
+ createTransactionUrl(transactionId: string): Promise<string>;
9
+ }
@@ -0,0 +1,72 @@
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AptosBlockExplorer = void 0;
40
+ var AptosBlockExplorer = /** @class */ (function () {
41
+ function AptosBlockExplorer(url) {
42
+ this.url = url;
43
+ this.metadata = {
44
+ name: 'Aptos Explorer',
45
+ url: this.url
46
+ };
47
+ }
48
+ AptosBlockExplorer.prototype.getMetadata = function () {
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ return __generator(this, function (_a) {
51
+ return [2 /*return*/, this.metadata];
52
+ });
53
+ });
54
+ };
55
+ AptosBlockExplorer.prototype.createAddressUrl = function (address) {
56
+ return __awaiter(this, void 0, void 0, function () {
57
+ return __generator(this, function (_a) {
58
+ return [2 /*return*/, "".concat(this.url, "/account/").concat(address)];
59
+ });
60
+ });
61
+ };
62
+ AptosBlockExplorer.prototype.createTransactionUrl = function (transactionId) {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ return __generator(this, function (_a) {
65
+ return [2 /*return*/, "".concat(this.url, "/txn/").concat(transactionId)];
66
+ });
67
+ });
68
+ };
69
+ return AptosBlockExplorer;
70
+ }());
71
+ exports.AptosBlockExplorer = AptosBlockExplorer;
72
+ //# sourceMappingURL=AptosBlockExplorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AptosBlockExplorer.js","sourceRoot":"","sources":["../../../src/v1/block-explorer/AptosBlockExplorer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;IAME,4BAAoC,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;QAL9B,aAAQ,GAA0B;YACjD,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAA;IAEiD,CAAC;IAEtC,wCAAW,GAAxB;;;gBACE,sBAAO,IAAI,CAAC,QAAQ,EAAA;;;KACrB;IAEY,6CAAgB,GAA7B,UAA8B,OAAe;;;gBAC3C,sBAAO,UAAG,IAAI,CAAC,GAAG,sBAAY,OAAO,CAAE,EAAA;;;KACxC;IAEY,iDAAoB,GAAjC,UAAkC,aAAqB;;;gBACrD,sBAAO,UAAG,IAAI,CAAC,GAAG,kBAAQ,aAAa,CAAE,EAAA;;;KAC1C;IACH,yBAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,gDAAkB"}
@@ -0,0 +1,5 @@
1
+ import { AptosCoinTokenMetadata, AptosCoinTokenOptions, AptosProtocolNetwork } from '../types/protocol';
2
+ export declare const APTOS_COIN_TOKEN_USDT: AptosCoinTokenMetadata;
3
+ export declare const APTOS_COIN_TOKEN_USDC: AptosCoinTokenMetadata;
4
+ export declare const APTOS_COIN_TOKENS: AptosCoinTokenMetadata[];
5
+ export declare function createCoinTokenOptionsFromMetadata(metadata: AptosCoinTokenMetadata, network: AptosProtocolNetwork): AptosCoinTokenOptions<string>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCoinTokenOptionsFromMetadata = exports.APTOS_COIN_TOKENS = exports.APTOS_COIN_TOKEN_USDC = exports.APTOS_COIN_TOKEN_USDT = void 0;
4
+ var coinlib_core_1 = require("@wallfree-dev/coinlib-core");
5
+ // Aptos Mainnet token metadata addresses (Fungible Asset format)
6
+ // USDT: 0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b
7
+ // USDC: 0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b
8
+ exports.APTOS_COIN_TOKEN_USDT = {
9
+ name: 'Tether USD (Aptos)',
10
+ identifier: coinlib_core_1.SubProtocolSymbols.APTOS_COIN_USDT,
11
+ symbol: 'USDT',
12
+ marketSymbol: 'usdt',
13
+ contractAddress: '0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b',
14
+ decimals: 6
15
+ };
16
+ exports.APTOS_COIN_TOKEN_USDC = {
17
+ name: 'USD Coin (Aptos)',
18
+ identifier: coinlib_core_1.SubProtocolSymbols.APTOS_COIN_USDC,
19
+ symbol: 'USDC',
20
+ marketSymbol: 'usdc',
21
+ contractAddress: '0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b',
22
+ decimals: 6
23
+ };
24
+ // List of all predefined Aptos Coin tokens
25
+ exports.APTOS_COIN_TOKENS = [
26
+ exports.APTOS_COIN_TOKEN_USDT,
27
+ exports.APTOS_COIN_TOKEN_USDC
28
+ ];
29
+ // Helper function to create Aptos Coin token options from metadata
30
+ function createCoinTokenOptionsFromMetadata(metadata, network) {
31
+ var _a;
32
+ var units = (_a = {},
33
+ _a[metadata.symbol] = {
34
+ symbol: { value: metadata.symbol, market: metadata.marketSymbol, asset: metadata.marketSymbol },
35
+ decimals: metadata.decimals
36
+ },
37
+ _a);
38
+ return {
39
+ network: network,
40
+ name: metadata.name,
41
+ identifier: metadata.identifier,
42
+ mainIdentifier: coinlib_core_1.MainProtocolSymbols.APTOS,
43
+ contractAddress: metadata.contractAddress,
44
+ units: units,
45
+ mainUnit: metadata.symbol
46
+ };
47
+ }
48
+ exports.createCoinTokenOptionsFromMetadata = createCoinTokenOptionsFromMetadata;
49
+ //# sourceMappingURL=AptosCoinTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AptosCoinTokens.js","sourceRoot":"","sources":["../../../src/v1/module/AptosCoinTokens.ts"],"names":[],"mappings":";;;AAEA,2DAAoF;AAEpF,iEAAiE;AACjE,2EAA2E;AAC3E,2EAA2E;AAE9D,QAAA,qBAAqB,GAA2B;IAC3D,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE,iCAAkB,CAAC,eAAe;IAC9C,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;IACpB,eAAe,EAAE,oEAAoE;IACrF,QAAQ,EAAE,CAAC;CACZ,CAAA;AAEY,QAAA,qBAAqB,GAA2B;IAC3D,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,iCAAkB,CAAC,eAAe;IAC9C,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;IACpB,eAAe,EAAE,oEAAoE;IACrF,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED,2CAA2C;AAC9B,QAAA,iBAAiB,GAA6B;IACzD,6BAAqB;IACrB,6BAAqB;CACtB,CAAA;AAED,mEAAmE;AACnE,SAAgB,kCAAkC,CAChD,QAAgC,EAChC,OAA6B;;IAE7B,IAAM,KAAK;QACT,GAAC,QAAQ,CAAC,MAAM,IAAG;YACjB,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE;YAC/F,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B;WACF,CAAA;IAED,OAAO;QACL,OAAO,SAAA;QACP,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,cAAc,EAAE,kCAAmB,CAAC,KAAK;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,KAAK,OAAA;QACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;KAC1B,CAAA;AACH,CAAC;AApBD,gFAoBC"}
@@ -0,0 +1,18 @@
1
+ import { AirGapModule, AirGapV3SerializerCompanion, ProtocolConfiguration } from '@wallfree-dev/module-kit';
2
+ import { BlockExplorer } from '@wallfree-dev/module-kit/block-explorer/block-explorer';
3
+ import { OfflineProtocol, OnlineProtocol } from '@wallfree-dev/module-kit/protocol/protocol';
4
+ import { AptosProtocolNetwork } from '../types/protocol';
5
+ export declare class AptosModule implements AirGapModule<{
6
+ ProtocolNetwork: AptosProtocolNetwork;
7
+ }> {
8
+ private readonly networkRegistries;
9
+ readonly supportedProtocols: Record<string, ProtocolConfiguration>;
10
+ private readonly defaultNetwork;
11
+ private readonly coinTokens;
12
+ constructor();
13
+ createOfflineProtocol(identifier: string): Promise<OfflineProtocol | undefined>;
14
+ createOnlineProtocol(identifier: string, networkOrId?: AptosProtocolNetwork | string): Promise<OnlineProtocol | undefined>;
15
+ createBlockExplorer(identifier: string, networkOrId?: AptosProtocolNetwork | string): Promise<BlockExplorer | undefined>;
16
+ createV3SerializerCompanion(): Promise<AirGapV3SerializerCompanion>;
17
+ private createProtocol;
18
+ }
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.AptosModule = void 0;
51
+ var coinlib_core_1 = require("@wallfree-dev/coinlib-core");
52
+ var errors_1 = require("@wallfree-dev/coinlib-core/errors");
53
+ var module_kit_1 = require("@wallfree-dev/module-kit");
54
+ var AptosBlockExplorer_1 = require("../block-explorer/AptosBlockExplorer");
55
+ var AptosProtocol_1 = require("../protocol/AptosProtocol");
56
+ var AptosCoinTokenProtocol_1 = require("../protocol/AptosCoinTokenProtocol");
57
+ var serializer_companion_1 = require("../serializer/v3/serializer-companion");
58
+ var AptosCoinTokens_1 = require("./AptosCoinTokens");
59
+ var AptosModule = /** @class */ (function () {
60
+ function AptosModule() {
61
+ var _a;
62
+ this.defaultNetwork = (0, AptosProtocol_1.createAptosProtocol)().options.network;
63
+ this.coinTokens = AptosCoinTokens_1.APTOS_COIN_TOKENS;
64
+ var networkRegistry = new module_kit_1.ModuleNetworkRegistry({
65
+ supportedNetworks: [this.defaultNetwork]
66
+ });
67
+ // Register main Aptos protocol and all Coin tokens
68
+ this.networkRegistries = __assign((_a = {}, _a[coinlib_core_1.MainProtocolSymbols.APTOS] = networkRegistry, _a), this.coinTokens.reduce(function (obj, token) {
69
+ obj[token.identifier] = networkRegistry;
70
+ return obj;
71
+ }, {}));
72
+ this.supportedProtocols = (0, module_kit_1.createSupportedProtocols)(this.networkRegistries);
73
+ }
74
+ AptosModule.prototype.createOfflineProtocol = function (identifier) {
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ return __generator(this, function (_a) {
77
+ return [2 /*return*/, this.createProtocol(identifier)];
78
+ });
79
+ });
80
+ };
81
+ AptosModule.prototype.createOnlineProtocol = function (identifier, networkOrId) {
82
+ var _a;
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var network;
85
+ return __generator(this, function (_b) {
86
+ network = typeof networkOrId === 'object' ? networkOrId : (_a = this.networkRegistries[identifier]) === null || _a === void 0 ? void 0 : _a.findNetwork(networkOrId);
87
+ if (network === undefined) {
88
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.APTOS, 'Protocol network type not supported.');
89
+ }
90
+ return [2 /*return*/, this.createProtocol(identifier, network)];
91
+ });
92
+ });
93
+ };
94
+ AptosModule.prototype.createBlockExplorer = function (identifier, networkOrId) {
95
+ var _a;
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var network;
98
+ return __generator(this, function (_b) {
99
+ network = typeof networkOrId === 'object' ? networkOrId : (_a = this.networkRegistries[identifier]) === null || _a === void 0 ? void 0 : _a.findNetwork(networkOrId);
100
+ if (network === undefined) {
101
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.APTOS, 'Block Explorer network type not supported.');
102
+ }
103
+ return [2 /*return*/, new AptosBlockExplorer_1.AptosBlockExplorer(network.blockExplorerUrl)];
104
+ });
105
+ });
106
+ };
107
+ AptosModule.prototype.createV3SerializerCompanion = function () {
108
+ return __awaiter(this, void 0, void 0, function () {
109
+ return __generator(this, function (_a) {
110
+ return [2 /*return*/, new serializer_companion_1.AptosV3SerializerCompanion()];
111
+ });
112
+ });
113
+ };
114
+ AptosModule.prototype.createProtocol = function (identifier, network) {
115
+ var resolvedNetwork = network || this.defaultNetwork;
116
+ // Check if it's the main Aptos protocol
117
+ if (identifier === coinlib_core_1.MainProtocolSymbols.APTOS) {
118
+ return (0, AptosProtocol_1.createAptosProtocol)({ network: resolvedNetwork });
119
+ }
120
+ // Check if it's a Coin token
121
+ var coinToken = this.coinTokens.find(function (token) { return token.identifier === identifier; });
122
+ if (coinToken) {
123
+ var options = (0, AptosCoinTokens_1.createCoinTokenOptionsFromMetadata)(coinToken, resolvedNetwork);
124
+ return (0, AptosCoinTokenProtocol_1.createAptosCoinTokenProtocol)(options);
125
+ }
126
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.APTOS, "Protocol ".concat(identifier, " not supported."));
127
+ };
128
+ return AptosModule;
129
+ }());
130
+ exports.AptosModule = AptosModule;
131
+ //# sourceMappingURL=AptosModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AptosModule.js","sourceRoot":"","sources":["../../../src/v1/module/AptosModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { AirGapInterface, AirGapProtocol, AirGapTransaction, AirGapTransactionsWithCursor, Amount, Balance, CryptoDerivative, FeeDefaults, KeyPair, ProtocolMetadata, PublicKey, SecretKey, Signature, TransactionDetails, TransactionFullConfiguration, TransactionSimpleConfiguration, ExtendedKeyPair, ExtendedPublicKey, ExtendedSecretKey } from '@wallfree-dev/module-kit';
2
+ import { AptosProtocolNetwork, AptosCoinTokenOptions, AptosTransactionCursor, AptosUnits } from '../types/protocol';
3
+ export interface AptosCoinTokenProtocol<_Units extends string = string> extends AirGapInterface<AirGapProtocol<{
4
+ AddressResult: string;
5
+ ProtocolNetwork: AptosProtocolNetwork;
6
+ CryptoConfiguration: {
7
+ algorithm: 'ed25519';
8
+ };
9
+ Units: _Units;
10
+ FeeUnits: AptosUnits;
11
+ FeeEstimation: FeeDefaults<AptosUnits>;
12
+ SignedTransaction: {
13
+ serialized: string;
14
+ type: 'signed';
15
+ };
16
+ UnsignedTransaction: {
17
+ serialized: string;
18
+ type: 'unsigned';
19
+ };
20
+ TransactionCursor: any;
21
+ }, 'Crypto'>, 'SingleTokenSubProtocol'> {
22
+ }
23
+ export declare class AptosCoinTokenProtocolImpl<_Units extends string = string> implements AptosCoinTokenProtocol<_Units> {
24
+ readonly options: AptosCoinTokenOptions<_Units>;
25
+ private readonly units;
26
+ private readonly mainUnit;
27
+ private readonly contractAddress;
28
+ private readonly isCoinType;
29
+ constructor(options: AptosCoinTokenOptions<_Units>);
30
+ private fetchJson;
31
+ getType(): Promise<'token'>;
32
+ mainProtocol(): Promise<string>;
33
+ getContractAddress(): Promise<string>;
34
+ getMetadata(): Promise<ProtocolMetadata<_Units, AptosUnits>>;
35
+ private getPublicKeyBuffer;
36
+ getAddressFromPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<string>;
37
+ getAddressesFromPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<{
38
+ address: string;
39
+ cursor: {
40
+ hasNext: false;
41
+ };
42
+ }[]>;
43
+ validateAddress(address: string): Promise<boolean>;
44
+ getBalanceOfAddress(address: string): Promise<Balance<_Units>>;
45
+ getBalanceOfPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<Balance<_Units>>;
46
+ getDetailsFromTransaction(transaction: {
47
+ serialized: string;
48
+ type: 'signed' | 'unsigned';
49
+ }, publicKey: PublicKey | ExtendedPublicKey): Promise<AirGapTransaction<_Units, AptosUnits>[]>;
50
+ getTransactionDetailsFromSigned(signedTx: {
51
+ transaction: {
52
+ serialized: string;
53
+ type: 'signed' | 'unsigned';
54
+ };
55
+ }): Promise<AirGapTransaction<_Units, AptosUnits>[]>;
56
+ verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: PublicKey | ExtendedPublicKey): Promise<boolean>;
57
+ encryptAsymmetricWithPublicKey(payload: string, publicKey: PublicKey | ExtendedPublicKey): Promise<string>;
58
+ getCryptoConfiguration(): Promise<{
59
+ algorithm: 'ed25519';
60
+ }>;
61
+ getKeyPairFromDerivative(derivative: CryptoDerivative): Promise<KeyPair>;
62
+ signTransactionWithSecretKey(transaction: {
63
+ serialized: string;
64
+ type: 'unsigned';
65
+ }, secretKey: SecretKey | ExtendedSecretKey): Promise<{
66
+ serialized: string;
67
+ type: 'signed';
68
+ }>;
69
+ signMessageWithKeyPair(message: string, keyPair: KeyPair | ExtendedKeyPair): Promise<Signature>;
70
+ decryptAsymmetricWithKeyPair(payload: string, keyPair: KeyPair | ExtendedKeyPair): Promise<string>;
71
+ encryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
72
+ decryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
73
+ getNetwork(): Promise<AptosProtocolNetwork>;
74
+ private static readonly DEFAULT_TX_LIMIT;
75
+ getTransactionsForAddress(address: string, limit: number, cursor?: AptosTransactionCursor): Promise<AirGapTransactionsWithCursor<AptosTransactionCursor, _Units, AptosUnits>>;
76
+ getTransactionsForPublicKey(publicKey: PublicKey | ExtendedPublicKey, limit: number, cursor?: AptosTransactionCursor): Promise<AirGapTransactionsWithCursor<AptosTransactionCursor, _Units, AptosUnits>>;
77
+ getTransactionStatus(transactionIds: string[]): Promise<Record<string, any>>;
78
+ getTransactionMaxAmountWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, to: string[], configuration?: TransactionFullConfiguration<AptosUnits>): Promise<Amount<_Units>>;
79
+ getTransactionFeeWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionSimpleConfiguration): Promise<FeeDefaults<AptosUnits>>;
80
+ prepareTransactionWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionFullConfiguration<AptosUnits>): Promise<{
81
+ serialized: string;
82
+ type: 'unsigned';
83
+ }>;
84
+ broadcastTransaction(transaction: {
85
+ serialized: string;
86
+ type: 'signed';
87
+ }): Promise<string>;
88
+ }
89
+ export declare function createAptosCoinTokenProtocol<_Units extends string = string>(options: AptosCoinTokenOptions<_Units>): AptosCoinTokenProtocol<_Units>;