@airgap/aeternity 0.13.7-beta.21 → 0.13.7-beta.23

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 (105) hide show
  1. package/airgap-coinlib-aeternity.min.js +16507 -4310
  2. package/index.d.ts +1 -8
  3. package/index.js +15 -11
  4. package/index.js.map +1 -1
  5. package/package.json +3 -1
  6. package/v0/index.d.ts +8 -0
  7. package/v0/index.js +24 -0
  8. package/v0/index.js.map +1 -0
  9. package/{protocol → v0/protocol}/AeternityAddress.d.ts +0 -0
  10. package/{protocol → v0/protocol}/AeternityAddress.js +6 -2
  11. package/v0/protocol/AeternityAddress.js.map +1 -0
  12. package/{protocol → v0/protocol}/AeternityCryptoClient.d.ts +0 -0
  13. package/{protocol → v0/protocol}/AeternityCryptoClient.js +4 -2
  14. package/v0/protocol/AeternityCryptoClient.js.map +1 -0
  15. package/{protocol → v0/protocol}/AeternityProtocol.d.ts +0 -0
  16. package/{protocol → v0/protocol}/AeternityProtocol.js +65 -37
  17. package/v0/protocol/AeternityProtocol.js.map +1 -0
  18. package/{protocol → v0/protocol}/AeternityProtocolOptions.d.ts +0 -0
  19. package/{protocol → v0/protocol}/AeternityProtocolOptions.js +4 -2
  20. package/v0/protocol/AeternityProtocolOptions.js.map +1 -0
  21. package/{protocol → v0/protocol}/AeternityTypes.d.ts +3 -1
  22. package/{protocol → v0/protocol}/AeternityTypes.js +0 -0
  23. package/v0/protocol/AeternityTypes.js.map +1 -0
  24. package/v0/serializer/schemas/v2/transaction-sign-request-aeternity.json +32 -0
  25. package/v0/serializer/schemas/v2/transaction-sign-response-aeternity.json +19 -0
  26. package/v0/serializer/schemas/v3/transaction-sign-request-aeternity.json +32 -0
  27. package/v0/serializer/schemas/v3/transaction-sign-response-aeternity.json +19 -0
  28. package/v0/serializer/validators/transaction-validator.d.ts +15 -0
  29. package/v0/serializer/validators/transaction-validator.js +116 -0
  30. package/v0/serializer/validators/transaction-validator.js.map +1 -0
  31. package/v0/serializer/validators/validators.d.ts +1 -0
  32. package/v0/serializer/validators/validators.js +103 -0
  33. package/v0/serializer/validators/validators.js.map +1 -0
  34. package/v0/types/signed-transaction-aeternity.d.ts +5 -0
  35. package/{types → v0/types}/signed-transaction-aeternity.js +0 -0
  36. package/v0/types/signed-transaction-aeternity.js.map +1 -0
  37. package/{types → v0/types}/transaction-aeternity.d.ts +0 -0
  38. package/{types → v0/types}/transaction-aeternity.js +0 -0
  39. package/v0/types/transaction-aeternity.js.map +1 -0
  40. package/v0/types/unsigned-transaction-aeternity.d.ts +9 -0
  41. package/{types → v0/types}/unsigned-transaction-aeternity.js +0 -0
  42. package/v0/types/unsigned-transaction-aeternity.js.map +1 -0
  43. package/v1/block-explorer/AeternityBlockExplorer.d.ts +9 -0
  44. package/v1/block-explorer/AeternityBlockExplorer.js +74 -0
  45. package/v1/block-explorer/AeternityBlockExplorer.js.map +1 -0
  46. package/v1/data/AeternityAddress.d.ts +8 -0
  47. package/v1/data/AeternityAddress.js +23 -0
  48. package/v1/data/AeternityAddress.js.map +1 -0
  49. package/v1/index.d.ts +12 -0
  50. package/v1/index.js +11 -0
  51. package/v1/index.js.map +1 -0
  52. package/v1/module/AeternityModule.d.ts +8 -0
  53. package/v1/module/AeternityModule.js +86 -0
  54. package/v1/module/AeternityModule.js.map +1 -0
  55. package/v1/protocol/AeternityCryptoClient.d.ts +8 -0
  56. package/v1/protocol/AeternityCryptoClient.js +95 -0
  57. package/v1/protocol/AeternityCryptoClient.js.map +1 -0
  58. package/v1/protocol/AeternityProtocol.d.ts +50 -0
  59. package/v1/protocol/AeternityProtocol.js +603 -0
  60. package/v1/protocol/AeternityProtocol.js.map +1 -0
  61. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +7 -0
  62. package/v1/serializer/v3/schemas/converter/transaction-converter.js +21 -0
  63. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  64. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-aeternity.d.ts +4 -0
  65. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-aeternity.js +3 -0
  66. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-aeternity.js.map +1 -0
  67. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-aeternity.d.ts +3 -0
  68. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-aeternity.js +3 -0
  69. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-aeternity.js.map +1 -0
  70. package/v1/serializer/v3/schemas/generated/transaction-sign-request-aeternity.json +39 -0
  71. package/v1/serializer/v3/schemas/generated/transaction-sign-response-aeternity.json +19 -0
  72. package/v1/serializer/v3/validators/transaction-validator.d.ts +10 -0
  73. package/v1/serializer/v3/validators/transaction-validator.js +100 -0
  74. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
  75. package/v1/serializer/v3/validators/validators.d.ts +5 -0
  76. package/v1/serializer/v3/validators/validators.js +106 -0
  77. package/v1/serializer/v3/validators/validators.js.map +1 -0
  78. package/v1/types/protocol.d.ts +8 -0
  79. package/v1/types/protocol.js +3 -0
  80. package/v1/types/protocol.js.map +1 -0
  81. package/v1/types/transaction.d.ts +11 -0
  82. package/v1/types/transaction.js +3 -0
  83. package/v1/types/transaction.js.map +1 -0
  84. package/v1/utils/convert.d.ts +3 -0
  85. package/v1/utils/convert.js +57 -0
  86. package/v1/utils/convert.js.map +1 -0
  87. package/v1/utils/key.d.ts +3 -0
  88. package/v1/utils/key.js +33 -0
  89. package/v1/utils/key.js.map +1 -0
  90. package/v1/utils/signature.d.ts +2 -0
  91. package/v1/utils/signature.js +24 -0
  92. package/v1/utils/signature.js.map +1 -0
  93. package/v1/utils/transaction.d.ts +3 -0
  94. package/v1/utils/transaction.js +56 -0
  95. package/v1/utils/transaction.js.map +1 -0
  96. package/protocol/AeternityAddress.js.map +0 -1
  97. package/protocol/AeternityCryptoClient.js.map +0 -1
  98. package/protocol/AeternityProtocol.js.map +0 -1
  99. package/protocol/AeternityProtocolOptions.js.map +0 -1
  100. package/protocol/AeternityTypes.js.map +0 -1
  101. package/types/signed-transaction-aeternity.d.ts +0 -5
  102. package/types/signed-transaction-aeternity.js.map +0 -1
  103. package/types/transaction-aeternity.js.map +0 -1
  104. package/types/unsigned-transaction-aeternity.d.ts +0 -9
  105. package/types/unsigned-transaction-aeternity.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AeternityCryptoClient.js","sourceRoot":"","sources":["../../../src/v1/protocol/AeternityCryptoClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA+D;AAC/D,2EAAkE;AAClE,0FAAwF;AACxF,8CAAiD;AAEjD,IAAM,uBAAuB,GAAG,UAAC,OAAe;IAC9C,IAAM,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;IACzE,IAAM,aAAa,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1D,IAAI,aAAa,CAAC,MAAM,IAAI,IAAI,EAAE;QAChC,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;KAClE;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;AAClH,CAAC,CAAA;AAED;IAA2C,yCAAmB;IAC5D;eACE,iBAAO;IACT,CAAC;IAEY,2CAAW,GAAxB,UAAyB,OAAe,EAAE,OAA+B;;;;gBACjE,aAAa,GAAW,uBAAuB,CAAC,OAAO,CAAC,CAAA;gBACxD,YAAY,GAAe,IAAA,cAAI,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,CAAA;gBAE5F,sBAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAA;;;KACjD;IAEY,6CAAa,GAA1B,UAA2B,OAAe,EAAE,SAAiB,EAAE,SAAiB;;;;gBACxE,YAAY,GAAW,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;gBACpD,aAAa,GAAW,uBAAuB,CAAC,OAAO,CAAC,CAAA;gBAE9D,sBAAO,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,EAAA;;;KAC1E;IACH,4BAAC;AAAD,CAAC,AAlBD,CAA2C,yCAAmB,GAkB7D;AAlBY,sDAAqB"}
@@ -0,0 +1,50 @@
1
+ import { Address, AirGapProtocol, AirGapTransaction, AirGapTransactionsWithCursor, Amount, Balance, FeeDefaults, KeyPair, ProtocolMetadata, PublicKey, RecursivePartial, Secret, SecretKey, Signature, TransactionConfiguration, TransactionDetails } from '@airgap/module-kit';
2
+ import { AeternityProtocolNetwork, AeternityProtocolOptions, AeternityUnits } from '../types/protocol';
3
+ import { AeternitySignedTransaction, AeternityTransactionCursor, AeternityUnsignedTransaction } from '../types/transaction';
4
+ export interface AeternityProtocol extends AirGapProtocol<{
5
+ AddressResult: Address;
6
+ ProtocolNetwork: AeternityProtocolNetwork;
7
+ SignedTransaction: AeternitySignedTransaction;
8
+ TransactionCursor: AeternityTransactionCursor;
9
+ Units: AeternityUnits;
10
+ FeeEstimation: FeeDefaults<AeternityUnits>;
11
+ UnsignedTransaction: AeternityUnsignedTransaction;
12
+ }, 'Crypto', 'FetchDataForAddress'> {
13
+ convertTransactionToBase58(preparedTx: AeternityUnsignedTransaction): Promise<AeternityUnsignedTransaction>;
14
+ }
15
+ export declare class AeternityProtocolImpl implements AeternityProtocol {
16
+ private readonly cryptoClient;
17
+ private readonly options;
18
+ constructor(options?: RecursivePartial<AeternityProtocolOptions>);
19
+ private readonly units;
20
+ private readonly feeDefaults;
21
+ private readonly metadata;
22
+ getMetadata(): Promise<ProtocolMetadata<AeternityUnits>>;
23
+ getAddressFromPublicKey(publicKey: PublicKey): Promise<string>;
24
+ getDetailsFromTransaction(transaction: AeternitySignedTransaction | AeternityUnsignedTransaction, _publicKey: PublicKey): Promise<AirGapTransaction<AeternityUnits>[]>;
25
+ private getDetailsFromEncodedTransaction;
26
+ verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: PublicKey): Promise<boolean>;
27
+ encryptAsymmetricWithPublicKey(payload: string, publicKey: PublicKey): Promise<string>;
28
+ getKeyPairFromSecret(secret: Secret, derivationPath?: string): Promise<KeyPair>;
29
+ private getKeyPairFromHexSecret;
30
+ private getKeyPairFromMnemonic;
31
+ signTransactionWithSecretKey(transaction: AeternityUnsignedTransaction, secretKey: SecretKey): Promise<AeternitySignedTransaction>;
32
+ signMessageWithKeyPair(message: string, keyPair: KeyPair): Promise<Signature>;
33
+ decryptAsymmetricWithKeyPair(payload: string, keyPair: KeyPair): Promise<string>;
34
+ encryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string>;
35
+ decryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string>;
36
+ getNetwork(): Promise<AeternityProtocolNetwork>;
37
+ getTransactionsForPublicKey(publicKey: PublicKey, limit: number, cursor?: AeternityTransactionCursor): Promise<AirGapTransactionsWithCursor<AeternityTransactionCursor, AeternityUnits>>;
38
+ getTransactionsForAddress(address: string, limit: number, cursor?: AeternityTransactionCursor): Promise<AirGapTransactionsWithCursor<AeternityTransactionCursor, AeternityUnits>>;
39
+ getBalanceOfPublicKey(publicKey: PublicKey): Promise<Balance<AeternityUnits>>;
40
+ getBalanceOfAddress(address: string): Promise<Balance<AeternityUnits>>;
41
+ getTransactionMaxAmountWithPublicKey(publicKey: PublicKey, to: string[], configuration?: TransactionConfiguration<AeternityUnits>): Promise<Amount<AeternityUnits>>;
42
+ getTransactionFeeWithPublicKey(_publicKey: PublicKey, _details: TransactionDetails<AeternityUnits>[]): Promise<FeeDefaults<AeternityUnits>>;
43
+ prepareTransactionWithPublicKey(publicKey: PublicKey, details: TransactionDetails<AeternityUnits>[], configuration?: TransactionConfiguration<AeternityUnits>): Promise<AeternityUnsignedTransaction>;
44
+ private networkId;
45
+ broadcastTransaction(transaction: AeternitySignedTransaction): Promise<string>;
46
+ convertTransactionToBase58(preparedTx: AeternityUnsignedTransaction): Promise<AeternityUnsignedTransaction>;
47
+ }
48
+ export declare function createAeternityProtocol(options?: RecursivePartial<AeternityProtocolOptions>): AeternityProtocol;
49
+ export declare const AETERNITY_MAINNET_PROTOCOL_NETWORK: AeternityProtocolNetwork;
50
+ export declare function createAeternityProtocolOptions(network?: Partial<AeternityProtocolNetwork>): AeternityProtocolOptions;
@@ -0,0 +1,603 @@
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ var __generator = (this && this.__generator) || function (thisArg, body) {
46
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
+ function verb(n) { return function (v) { return step([n, v]); }; }
49
+ function step(op) {
50
+ if (f) throw new TypeError("Generator is already executing.");
51
+ while (_) try {
52
+ 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;
53
+ if (y = 0, t) op = [op[0] & 2, t.value];
54
+ switch (op[0]) {
55
+ case 0: case 1: t = op; break;
56
+ case 4: _.label++; return { value: op[1], done: false };
57
+ case 5: _.label++; y = op[1]; op = [0]; continue;
58
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
+ default:
60
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
+ if (t[2]) _.ops.pop();
65
+ _.trys.pop(); continue;
66
+ }
67
+ op = body.call(thisArg, _);
68
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
+ }
71
+ };
72
+ var __importDefault = (this && this.__importDefault) || function (mod) {
73
+ return (mod && mod.__esModule) ? mod : { "default": mod };
74
+ };
75
+ Object.defineProperty(exports, "__esModule", { value: true });
76
+ exports.createAeternityProtocolOptions = exports.AETERNITY_MAINNET_PROTOCOL_NETWORK = exports.createAeternityProtocol = exports.AeternityProtocolImpl = void 0;
77
+ var coinlib_core_1 = require("@airgap/coinlib-core");
78
+ var index_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/axios-0.19.0/index"));
79
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
80
+ var index_2 = require("@airgap/coinlib-core/dependencies/src/bip39-2.5.0/index");
81
+ var bs58check = __importStar(require("@airgap/coinlib-core/dependencies/src/bs58check-2.1.2/index"));
82
+ var index_3 = require("@airgap/coinlib-core/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index");
83
+ var rlp = __importStar(require("@airgap/coinlib-core/dependencies/src/rlp-2.2.3/index"));
84
+ var errors_1 = require("@airgap/coinlib-core/errors");
85
+ var base64Check_1 = __importDefault(require("@airgap/coinlib-core/utils/base64Check"));
86
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
87
+ var module_kit_1 = require("@airgap/module-kit");
88
+ var ed25519_1 = require("@stablelib/ed25519");
89
+ var AeternityAddress_1 = require("../data/AeternityAddress");
90
+ var key_1 = require("../utils/key");
91
+ var signature_1 = require("../utils/signature");
92
+ var transaction_1 = require("../utils/transaction");
93
+ var AeternityCryptoClient_1 = require("./AeternityCryptoClient");
94
+ // Implementation
95
+ var AeternityProtocolImpl = /** @class */ (function () {
96
+ function AeternityProtocolImpl(options) {
97
+ if (options === void 0) { options = {}; }
98
+ // Common
99
+ this.units = {
100
+ AE: {
101
+ symbol: { value: 'AE', market: 'ae' },
102
+ decimals: 18
103
+ }
104
+ };
105
+ this.feeDefaults = {
106
+ low: (0, module_kit_1.newAmount)(0.00021, 'AE').blockchain(this.units),
107
+ medium: (0, module_kit_1.newAmount)(0.000315, 'AE').blockchain(this.units),
108
+ high: (0, module_kit_1.newAmount)(0.00084, 'AE').blockchain(this.units)
109
+ };
110
+ this.metadata = {
111
+ identifier: coinlib_core_1.MainProtocolSymbols.AE,
112
+ name: 'æternity',
113
+ units: this.units,
114
+ mainUnit: 'AE',
115
+ fee: {
116
+ defaults: this.feeDefaults
117
+ },
118
+ account: {
119
+ standardDerivationPath: "m/44h/457h/0h/0h/0h",
120
+ address: {
121
+ isCaseSensitive: true,
122
+ placeholder: 'ak_abc...',
123
+ regex: '^ak_+[1-9A-Za-z]{49,50}$'
124
+ }
125
+ },
126
+ transaction: {
127
+ arbitraryData: {
128
+ inner: { name: 'payload' }
129
+ }
130
+ }
131
+ };
132
+ this.options = createAeternityProtocolOptions(options.network);
133
+ this.cryptoClient = new AeternityCryptoClient_1.AeternityCryptoClient();
134
+ }
135
+ AeternityProtocolImpl.prototype.getMetadata = function () {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ return __generator(this, function (_a) {
138
+ return [2 /*return*/, this.metadata];
139
+ });
140
+ });
141
+ };
142
+ AeternityProtocolImpl.prototype.getAddressFromPublicKey = function (publicKey) {
143
+ return __awaiter(this, void 0, void 0, function () {
144
+ return __generator(this, function (_a) {
145
+ return [2 /*return*/, AeternityAddress_1.AeternityAddress.from(publicKey).asString()];
146
+ });
147
+ });
148
+ };
149
+ AeternityProtocolImpl.prototype.getDetailsFromTransaction = function (transaction, _publicKey) {
150
+ return __awaiter(this, void 0, void 0, function () {
151
+ var rlpEncodedTx, rlpDecodedTx;
152
+ return __generator(this, function (_a) {
153
+ switch (transaction.type) {
154
+ case 'signed':
155
+ rlpEncodedTx = (0, transaction_1.decodeTx)(transaction.transaction);
156
+ rlpDecodedTx = rlp.decode(rlpEncodedTx, false);
157
+ return [2 /*return*/, this.getDetailsFromEncodedTransaction("tx_".concat(base64Check_1.default.encode(rlpDecodedTx[3])))];
158
+ case 'unsigned':
159
+ return [2 /*return*/, this.getDetailsFromEncodedTransaction(transaction.transaction)];
160
+ default:
161
+ (0, coinlib_core_1.assertNever)(transaction);
162
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.AETERNITY, 'Unsupported transaction type.');
163
+ }
164
+ return [2 /*return*/];
165
+ });
166
+ });
167
+ };
168
+ AeternityProtocolImpl.prototype.getDetailsFromEncodedTransaction = function (tx) {
169
+ return __awaiter(this, void 0, void 0, function () {
170
+ var rlpEncodedTx, rlpDecodedTx, from, to, airgapTx;
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0:
174
+ rlpEncodedTx = (0, transaction_1.decodeTx)(tx);
175
+ rlpDecodedTx = rlp.decode(rlpEncodedTx, false);
176
+ return [4 /*yield*/, this.getAddressFromPublicKey((0, module_kit_1.newPublicKey)(rlpDecodedTx[2].slice(1).toString('hex'), 'hex'))];
177
+ case 1:
178
+ from = _a.sent();
179
+ return [4 /*yield*/, this.getAddressFromPublicKey((0, module_kit_1.newPublicKey)(rlpDecodedTx[3].slice(1).toString('hex'), 'hex'))];
180
+ case 2:
181
+ to = _a.sent();
182
+ airgapTx = {
183
+ from: [from],
184
+ to: [to],
185
+ isInbound: false,
186
+ amount: (0, module_kit_1.newAmount)(parseInt(rlpDecodedTx[4].toString('hex'), 16), 'blockchain'),
187
+ fee: (0, module_kit_1.newAmount)(parseInt(rlpDecodedTx[5].toString('hex'), 16), 'blockchain'),
188
+ network: this.options.network,
189
+ arbitraryData: (rlpDecodedTx[8] || '').toString('utf8')
190
+ };
191
+ return [2 /*return*/, [airgapTx]];
192
+ }
193
+ });
194
+ });
195
+ };
196
+ AeternityProtocolImpl.prototype.verifyMessageWithPublicKey = function (message, signature, publicKey) {
197
+ return __awaiter(this, void 0, void 0, function () {
198
+ var hexSignature, hexPublicKey;
199
+ return __generator(this, function (_a) {
200
+ hexSignature = (0, signature_1.convertSignature)(signature, 'hex');
201
+ hexPublicKey = (0, key_1.convertPublicKey)(publicKey, 'hex');
202
+ return [2 /*return*/, this.cryptoClient.verifyMessage(message, hexSignature.value, hexPublicKey.value)];
203
+ });
204
+ });
205
+ };
206
+ AeternityProtocolImpl.prototype.encryptAsymmetricWithPublicKey = function (payload, publicKey) {
207
+ return __awaiter(this, void 0, void 0, function () {
208
+ var hexPublicKey;
209
+ return __generator(this, function (_a) {
210
+ hexPublicKey = (0, key_1.convertPublicKey)(publicKey, 'hex');
211
+ return [2 /*return*/, this.cryptoClient.encryptAsymmetric(payload, hexPublicKey.value)];
212
+ });
213
+ });
214
+ };
215
+ // Offline
216
+ AeternityProtocolImpl.prototype.getKeyPairFromSecret = function (secret, derivationPath) {
217
+ return __awaiter(this, void 0, void 0, function () {
218
+ return __generator(this, function (_a) {
219
+ switch (secret.type) {
220
+ case 'hex':
221
+ return [2 /*return*/, this.getKeyPairFromHexSecret(secret.value, derivationPath)];
222
+ case 'mnemonic':
223
+ return [2 /*return*/, this.getKeyPairFromMnemonic(secret.value, derivationPath, secret.password)];
224
+ default:
225
+ (0, coinlib_core_1.assertNever)(secret);
226
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.AETERNITY, 'Unsupported secret type.');
227
+ }
228
+ return [2 /*return*/];
229
+ });
230
+ });
231
+ };
232
+ AeternityProtocolImpl.prototype.getKeyPairFromHexSecret = function (secret, derivationPath) {
233
+ return __awaiter(this, void 0, void 0, function () {
234
+ var keyPair;
235
+ return __generator(this, function (_a) {
236
+ keyPair = (0, index_3.generateWalletUsingDerivationPath)(Buffer.from(secret, 'hex'), derivationPath);
237
+ return [2 /*return*/, {
238
+ secretKey: (0, module_kit_1.newSecretKey)(Buffer.from(keyPair.secretKey).toString('hex'), 'hex'),
239
+ publicKey: (0, module_kit_1.newPublicKey)(Buffer.from(keyPair.publicKey).toString('hex'), 'hex')
240
+ }];
241
+ });
242
+ });
243
+ };
244
+ AeternityProtocolImpl.prototype.getKeyPairFromMnemonic = function (mnemonic, derivationPath, password) {
245
+ return __awaiter(this, void 0, void 0, function () {
246
+ var secret;
247
+ return __generator(this, function (_a) {
248
+ secret = (0, index_2.mnemonicToSeed)(mnemonic, password);
249
+ return [2 /*return*/, this.getKeyPairFromHexSecret(secret.toString('hex'), derivationPath)];
250
+ });
251
+ });
252
+ };
253
+ AeternityProtocolImpl.prototype.signTransactionWithSecretKey = function (transaction, secretKey) {
254
+ return __awaiter(this, void 0, void 0, function () {
255
+ var rawTx, signature, txObj, txArray, rlpEncodedTx, signedEncodedTx;
256
+ return __generator(this, function (_a) {
257
+ if (secretKey.format !== 'hex') {
258
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.AETERNITY, 'Secret key is of an unexpected format.');
259
+ }
260
+ rawTx = (0, transaction_1.decodeTx)(transaction.transaction);
261
+ signature = (0, ed25519_1.sign)(Buffer.from(secretKey.value, 'hex'), Buffer.concat([Buffer.from(transaction.networkId), rawTx]));
262
+ txObj = {
263
+ tag: (0, hex_1.toHexBuffer)(11),
264
+ version: (0, hex_1.toHexBuffer)(1),
265
+ signatures: [Buffer.from(signature)],
266
+ transaction: rawTx
267
+ };
268
+ txArray = Object.keys(txObj).map(function (a) { return txObj[a]; });
269
+ rlpEncodedTx = rlp.encode(txArray);
270
+ signedEncodedTx = "tx_".concat(base64Check_1.default.encode(rlpEncodedTx));
271
+ return [2 /*return*/, (0, module_kit_1.newSignedTransaction)({ transaction: signedEncodedTx })];
272
+ });
273
+ });
274
+ };
275
+ AeternityProtocolImpl.prototype.signMessageWithKeyPair = function (message, keyPair) {
276
+ return __awaiter(this, void 0, void 0, function () {
277
+ var _a;
278
+ return __generator(this, function (_b) {
279
+ switch (_b.label) {
280
+ case 0:
281
+ if (keyPair.secretKey.format !== 'hex') {
282
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.AETERNITY, 'Secret key is of an unexpected format.');
283
+ }
284
+ _a = module_kit_1.newSignature;
285
+ return [4 /*yield*/, this.cryptoClient.signMessage(message, { privateKey: keyPair.secretKey.value })];
286
+ case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent(), 'hex'])];
287
+ }
288
+ });
289
+ });
290
+ };
291
+ AeternityProtocolImpl.prototype.decryptAsymmetricWithKeyPair = function (payload, keyPair) {
292
+ return __awaiter(this, void 0, void 0, function () {
293
+ var hexPublicKey;
294
+ return __generator(this, function (_a) {
295
+ if (keyPair.secretKey.format !== 'hex') {
296
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.AETERNITY, 'Secret key is of an unexpected format.');
297
+ }
298
+ hexPublicKey = (0, key_1.convertPublicKey)(keyPair.publicKey, 'hex');
299
+ return [2 /*return*/, this.cryptoClient.decryptAsymmetric(payload, { publicKey: hexPublicKey.value, privateKey: keyPair.secretKey.value })];
300
+ });
301
+ });
302
+ };
303
+ AeternityProtocolImpl.prototype.encryptAESWithSecretKey = function (payload, secretKey) {
304
+ return __awaiter(this, void 0, void 0, function () {
305
+ return __generator(this, function (_a) {
306
+ if (secretKey.format !== 'hex') {
307
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.AETERNITY, 'Secret key is of an unexpected format.');
308
+ }
309
+ return [2 /*return*/, this.cryptoClient.encryptAES(payload, secretKey.value)];
310
+ });
311
+ });
312
+ };
313
+ AeternityProtocolImpl.prototype.decryptAESWithSecretKey = function (payload, secretKey) {
314
+ return __awaiter(this, void 0, void 0, function () {
315
+ return __generator(this, function (_a) {
316
+ if (secretKey.format !== 'hex') {
317
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.AETERNITY, 'Secret key is of an unexpected format.');
318
+ }
319
+ return [2 /*return*/, this.cryptoClient.decryptAES(payload, secretKey.value)];
320
+ });
321
+ });
322
+ };
323
+ // Online
324
+ AeternityProtocolImpl.prototype.getNetwork = function () {
325
+ return __awaiter(this, void 0, void 0, function () {
326
+ return __generator(this, function (_a) {
327
+ return [2 /*return*/, this.options.network];
328
+ });
329
+ });
330
+ };
331
+ AeternityProtocolImpl.prototype.getTransactionsForPublicKey = function (publicKey, limit, cursor) {
332
+ return __awaiter(this, void 0, void 0, function () {
333
+ var address;
334
+ return __generator(this, function (_a) {
335
+ switch (_a.label) {
336
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
337
+ case 1:
338
+ address = _a.sent();
339
+ return [2 /*return*/, this.getTransactionsForAddress(address, limit, cursor)];
340
+ }
341
+ });
342
+ });
343
+ };
344
+ AeternityProtocolImpl.prototype.getTransactionsForAddress = function (address, limit, cursor) {
345
+ var _a, _b;
346
+ return __awaiter(this, void 0, void 0, function () {
347
+ var endpoint, url, response, _c, nodeTransactions, next, transactions;
348
+ var _this = this;
349
+ return __generator(this, function (_d) {
350
+ switch (_d.label) {
351
+ case 0:
352
+ endpoint = cursor === undefined ? "/txs/backward?account=".concat(address, "&limit=").concat(limit) : cursor.next;
353
+ url = endpoint !== undefined ? "".concat(this.options.network.rpcUrl, "/mdw/").concat(endpoint.replace(/^\/+/, '')) : undefined;
354
+ if (!(url !== undefined)) return [3 /*break*/, 2];
355
+ return [4 /*yield*/, index_1.default.get(url)];
356
+ case 1:
357
+ _c = _d.sent();
358
+ return [3 /*break*/, 3];
359
+ case 2:
360
+ _c = undefined;
361
+ _d.label = 3;
362
+ case 3:
363
+ response = _c;
364
+ nodeTransactions = ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.data) || [];
365
+ next = (0, module_kit_1.normalizeToUndefined)((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.next);
366
+ transactions = nodeTransactions.map(function (obj) {
367
+ var parsedTimestamp = parseInt(obj.micro_time, 10);
368
+ return {
369
+ from: [obj.tx.sender_id],
370
+ to: [obj.tx.recipient_id],
371
+ isInbound: address === obj.tx.recipient_id,
372
+ amount: (0, module_kit_1.newAmount)(obj.tx.amount, 'blockchain'),
373
+ fee: (0, module_kit_1.newAmount)(obj.tx.fee, 'blockchain'),
374
+ network: _this.options.network,
375
+ timestamp: !isNaN(parsedTimestamp) ? Math.round(parsedTimestamp / 1000) : undefined,
376
+ status: {
377
+ type: 'unknown',
378
+ hash: obj.hash,
379
+ block: obj.block_height
380
+ },
381
+ details: obj.tx.payload ? [(0, module_kit_1.newPlainUIText)('Payload'), obj.tx.payload] : undefined
382
+ };
383
+ });
384
+ return [2 /*return*/, {
385
+ transactions: transactions,
386
+ cursor: {
387
+ hasNext: next !== undefined,
388
+ next: next
389
+ }
390
+ }];
391
+ }
392
+ });
393
+ });
394
+ };
395
+ AeternityProtocolImpl.prototype.getBalanceOfPublicKey = function (publicKey) {
396
+ return __awaiter(this, void 0, void 0, function () {
397
+ var address;
398
+ return __generator(this, function (_a) {
399
+ switch (_a.label) {
400
+ case 0: return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
401
+ case 1:
402
+ address = _a.sent();
403
+ return [2 /*return*/, this.getBalanceOfAddress(address)];
404
+ }
405
+ });
406
+ });
407
+ };
408
+ AeternityProtocolImpl.prototype.getBalanceOfAddress = function (address) {
409
+ return __awaiter(this, void 0, void 0, function () {
410
+ var balance, data, error_1;
411
+ return __generator(this, function (_a) {
412
+ switch (_a.label) {
413
+ case 0:
414
+ _a.trys.push([0, 2, , 3]);
415
+ return [4 /*yield*/, index_1.default.get("".concat(this.options.network.rpcUrl, "/v2/accounts/").concat(address))];
416
+ case 1:
417
+ data = (_a.sent()).data;
418
+ balance = new bignumber_1.default(data.balance);
419
+ return [3 /*break*/, 3];
420
+ case 2:
421
+ error_1 = _a.sent();
422
+ // if node returns 404 (which means 'no account found'), go with 0 balance
423
+ if (error_1.response && error_1.response.status !== 404) {
424
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.AETERNITY, error_1);
425
+ }
426
+ balance = new bignumber_1.default(0);
427
+ return [3 /*break*/, 3];
428
+ case 3: return [2 /*return*/, { total: (0, module_kit_1.newAmount)(balance.toString(10), 'blockchain') }];
429
+ }
430
+ });
431
+ });
432
+ };
433
+ AeternityProtocolImpl.prototype.getTransactionMaxAmountWithPublicKey = function (publicKey, to, configuration) {
434
+ return __awaiter(this, void 0, void 0, function () {
435
+ var balance, balanceBn, fee, transactionDetails, feeEstimation, amountWithoutFees;
436
+ return __generator(this, function (_a) {
437
+ switch (_a.label) {
438
+ case 0: return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
439
+ case 1:
440
+ balance = _a.sent();
441
+ balanceBn = new bignumber_1.default((0, module_kit_1.newAmount)(balance.total).blockchain(this.units).value);
442
+ if (!((configuration === null || configuration === void 0 ? void 0 : configuration.fee) !== undefined)) return [3 /*break*/, 2];
443
+ fee = new bignumber_1.default((0, module_kit_1.newAmount)(configuration.fee).blockchain(this.units).value);
444
+ return [3 /*break*/, 4];
445
+ case 2:
446
+ transactionDetails = to.map(function (address) { return ({
447
+ to: address,
448
+ amount: (0, module_kit_1.newAmount)(balanceBn.div(to.length).toString(), 'blockchain')
449
+ }); });
450
+ return [4 /*yield*/, this.getTransactionFeeWithPublicKey(publicKey, transactionDetails)];
451
+ case 3:
452
+ feeEstimation = _a.sent();
453
+ fee = new bignumber_1.default((0, module_kit_1.newAmount)(feeEstimation.medium).blockchain(this.units).value);
454
+ if (fee.gte(balanceBn)) {
455
+ fee = new bignumber_1.default(0);
456
+ }
457
+ _a.label = 4;
458
+ case 4:
459
+ amountWithoutFees = balanceBn.minus(fee);
460
+ if (amountWithoutFees.isNegative()) {
461
+ amountWithoutFees = new bignumber_1.default(0);
462
+ }
463
+ return [2 /*return*/, (0, module_kit_1.newAmount)(amountWithoutFees.toFixed(), 'blockchain')];
464
+ }
465
+ });
466
+ });
467
+ };
468
+ AeternityProtocolImpl.prototype.getTransactionFeeWithPublicKey = function (_publicKey, _details) {
469
+ return __awaiter(this, void 0, void 0, function () {
470
+ var feeDetaults;
471
+ return __generator(this, function (_a) {
472
+ switch (_a.label) {
473
+ case 0: return [4 /*yield*/, index_1.default.get(this.options.network.feesUrl)];
474
+ case 1:
475
+ feeDetaults = (_a.sent()).data;
476
+ return [2 /*return*/, {
477
+ low: (0, module_kit_1.newAmount)(feeDetaults.low, 'AE').blockchain(this.units),
478
+ medium: (0, module_kit_1.newAmount)(feeDetaults.medium, 'AE').blockchain(this.units),
479
+ high: (0, module_kit_1.newAmount)(feeDetaults.high, 'AE').blockchain(this.units)
480
+ }];
481
+ }
482
+ });
483
+ });
484
+ };
485
+ AeternityProtocolImpl.prototype.prepareTransactionWithPublicKey = function (publicKey, details, configuration) {
486
+ return __awaiter(this, void 0, void 0, function () {
487
+ var nonce, address, accountResponse, error_2, balance, _a, balanceBn, feeBn, sender, recipient, value, payload, txObj, txArray, rlpEncodedTx, preparedTx;
488
+ return __generator(this, function (_b) {
489
+ switch (_b.label) {
490
+ case 0:
491
+ nonce = 1;
492
+ return [4 /*yield*/, this.getAddressFromPublicKey(publicKey)];
493
+ case 1:
494
+ address = _b.sent();
495
+ _b.label = 2;
496
+ case 2:
497
+ _b.trys.push([2, 4, , 5]);
498
+ return [4 /*yield*/, index_1.default.get("".concat(this.options.network.rpcUrl, "/v2/accounts/").concat(address))];
499
+ case 3:
500
+ accountResponse = (_b.sent()).data;
501
+ nonce = accountResponse.nonce + 1;
502
+ return [3 /*break*/, 5];
503
+ case 4:
504
+ error_2 = _b.sent();
505
+ // if node returns 404 (which means 'no account found'), go with nonce 0
506
+ if (error_2.response && error_2.response.status !== 404) {
507
+ throw new errors_1.NetworkError(coinlib_core_1.Domain.AETERNITY, error_2);
508
+ }
509
+ return [3 /*break*/, 5];
510
+ case 5:
511
+ _a = module_kit_1.newAmount;
512
+ return [4 /*yield*/, this.getBalanceOfPublicKey(publicKey)];
513
+ case 6:
514
+ balance = _a.apply(void 0, [(_b.sent()).total]).blockchain(this.units);
515
+ balanceBn = new bignumber_1.default(balance.value);
516
+ feeBn = (configuration === null || configuration === void 0 ? void 0 : configuration.fee) !== undefined
517
+ ? new bignumber_1.default((0, module_kit_1.newAmount)(configuration.fee).blockchain(this.units).value)
518
+ : new bignumber_1.default((0, module_kit_1.newAmount)(this.feeDefaults.medium).blockchain(this.units).value);
519
+ if (balanceBn.isLessThan(feeBn)) {
520
+ throw new errors_1.BalanceError(coinlib_core_1.Domain.AETERNITY, 'not enough balance');
521
+ }
522
+ sender = (0, key_1.convertPublicKey)(publicKey, 'hex').value;
523
+ recipient = (0, key_1.convertPublicKey)(AeternityAddress_1.AeternityAddress.from(details[0].to).toPublicKey(), 'hex').value;
524
+ value = new bignumber_1.default((0, module_kit_1.newAmount)(details[0].amount).blockchain(this.units).value);
525
+ payload = details[0].arbitraryData || '';
526
+ txObj = {
527
+ tag: (0, hex_1.toHexBuffer)(12),
528
+ version: (0, hex_1.toHexBuffer)(1),
529
+ sender_id: Buffer.concat([(0, hex_1.toHexBuffer)(1), Buffer.from(sender, 'hex')]),
530
+ recipient_id: Buffer.concat([(0, hex_1.toHexBuffer)(1), Buffer.from(recipient, 'hex')]),
531
+ amount: (0, hex_1.toHexBuffer)(value),
532
+ fee: (0, hex_1.toHexBuffer)(feeBn),
533
+ ttl: (0, hex_1.toHexBuffer)(0),
534
+ nonce: (0, hex_1.toHexBuffer)(nonce),
535
+ payload: Buffer.from(payload)
536
+ };
537
+ txArray = Object.keys(txObj).map(function (a) { return txObj[a]; });
538
+ rlpEncodedTx = rlp.encode(txArray);
539
+ preparedTx = (0, transaction_1.encodeTx)(rlpEncodedTx);
540
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({
541
+ transaction: preparedTx,
542
+ networkId: this.networkId()
543
+ })];
544
+ }
545
+ });
546
+ });
547
+ };
548
+ AeternityProtocolImpl.prototype.networkId = function () {
549
+ switch (this.options.network.type) {
550
+ case 'mainnet':
551
+ return 'ae_mainnet';
552
+ default:
553
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.AETERNITY, 'Network type not supported.');
554
+ }
555
+ };
556
+ AeternityProtocolImpl.prototype.broadcastTransaction = function (transaction) {
557
+ return __awaiter(this, void 0, void 0, function () {
558
+ var data;
559
+ return __generator(this, function (_a) {
560
+ switch (_a.label) {
561
+ case 0: return [4 /*yield*/, index_1.default.post("".concat(this.options.network.rpcUrl, "/v2/transactions"), { tx: transaction.transaction }, { headers: { 'Content-Type': 'application/json' } })];
562
+ case 1:
563
+ data = (_a.sent()).data;
564
+ return [2 /*return*/, data.tx_hash];
565
+ }
566
+ });
567
+ });
568
+ };
569
+ // Custom
570
+ AeternityProtocolImpl.prototype.convertTransactionToBase58 = function (preparedTx) {
571
+ return __awaiter(this, void 0, void 0, function () {
572
+ return __generator(this, function (_a) {
573
+ return [2 /*return*/, (0, module_kit_1.newUnsignedTransaction)({
574
+ transaction: bs58check.encode(base64Check_1.default.decode(preparedTx.transaction)),
575
+ networkId: preparedTx.networkId
576
+ })];
577
+ });
578
+ });
579
+ };
580
+ return AeternityProtocolImpl;
581
+ }());
582
+ exports.AeternityProtocolImpl = AeternityProtocolImpl;
583
+ // Factory
584
+ function createAeternityProtocol(options) {
585
+ if (options === void 0) { options = {}; }
586
+ return new AeternityProtocolImpl(options);
587
+ }
588
+ exports.createAeternityProtocol = createAeternityProtocol;
589
+ exports.AETERNITY_MAINNET_PROTOCOL_NETWORK = {
590
+ name: 'Mainnet',
591
+ type: 'mainnet',
592
+ rpcUrl: 'https://mainnet.aeternity.io',
593
+ feesUrl: 'https://api-airgap.gke.papers.tech/fees'
594
+ };
595
+ var DEFAULT_AETERNITY_PROTOCOL_NETWORK = exports.AETERNITY_MAINNET_PROTOCOL_NETWORK;
596
+ function createAeternityProtocolOptions(network) {
597
+ if (network === void 0) { network = {}; }
598
+ return {
599
+ network: __assign(__assign({}, DEFAULT_AETERNITY_PROTOCOL_NETWORK), network)
600
+ };
601
+ }
602
+ exports.createAeternityProtocolOptions = createAeternityProtocolOptions;
603
+ //# sourceMappingURL=AeternityProtocol.js.map