@paymechain/sdk 1.0.3 → 1.0.7

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 (169) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/models/index.d.ts +98 -118
  6. package/dist/models/index.d.ts.map +1 -1
  7. package/dist/models/index.js +7 -0
  8. package/dist/models/index.js.map +1 -1
  9. package/dist/payme-client.d.ts +0 -2
  10. package/dist/payme-client.d.ts.map +1 -1
  11. package/dist/payme-client.js +5 -6
  12. package/dist/payme-client.js.map +1 -1
  13. package/dist/services/index.d.ts +0 -1
  14. package/dist/services/index.d.ts.map +1 -1
  15. package/dist/services/index.js +0 -1
  16. package/dist/services/index.js.map +1 -1
  17. package/dist/services/wallet.service.d.ts +13 -33
  18. package/dist/services/wallet.service.d.ts.map +1 -1
  19. package/dist/services/wallet.service.js +21 -37
  20. package/dist/services/wallet.service.js.map +1 -1
  21. package/dist/wallet/transaction-signer.d.ts +38 -0
  22. package/dist/wallet/transaction-signer.d.ts.map +1 -0
  23. package/dist/wallet/transaction-signer.js +153 -0
  24. package/dist/wallet/transaction-signer.js.map +1 -0
  25. package/package.json +6 -1
  26. package/dist/models/account-balance.model.d.ts +0 -6
  27. package/dist/models/account-balance.model.d.ts.map +0 -1
  28. package/dist/models/account-balance.model.js +0 -3
  29. package/dist/models/account-balance.model.js.map +0 -1
  30. package/dist/models/account-info.model.d.ts +0 -7
  31. package/dist/models/account-info.model.d.ts.map +0 -1
  32. package/dist/models/account-info.model.js +0 -3
  33. package/dist/models/account-info.model.js.map +0 -1
  34. package/dist/models/balance-line.model.d.ts +0 -6
  35. package/dist/models/balance-line.model.d.ts.map +0 -1
  36. package/dist/models/balance-line.model.js +0 -3
  37. package/dist/models/balance-line.model.js.map +0 -1
  38. package/dist/models/block-header.model.d.ts +0 -8
  39. package/dist/models/block-header.model.d.ts.map +0 -1
  40. package/dist/models/block-header.model.js +0 -3
  41. package/dist/models/block-header.model.js.map +0 -1
  42. package/dist/models/block-summary.model.d.ts +0 -11
  43. package/dist/models/block-summary.model.d.ts.map +0 -1
  44. package/dist/models/block-summary.model.js +0 -3
  45. package/dist/models/block-summary.model.js.map +0 -1
  46. package/dist/models/command-result.model.d.ts +0 -18
  47. package/dist/models/command-result.model.d.ts.map +0 -1
  48. package/dist/models/command-result.model.js +0 -16
  49. package/dist/models/command-result.model.js.map +0 -1
  50. package/dist/models/create-wallet.model.d.ts +0 -6
  51. package/dist/models/create-wallet.model.d.ts.map +0 -1
  52. package/dist/models/create-wallet.model.js +0 -3
  53. package/dist/models/create-wallet.model.js.map +0 -1
  54. package/dist/models/derive-address-request.model.d.ts +0 -5
  55. package/dist/models/derive-address-request.model.d.ts.map +0 -1
  56. package/dist/models/derive-address-request.model.js +0 -3
  57. package/dist/models/derive-address-request.model.js.map +0 -1
  58. package/dist/models/derive-address.model.d.ts +0 -5
  59. package/dist/models/derive-address.model.d.ts.map +0 -1
  60. package/dist/models/derive-address.model.js +0 -3
  61. package/dist/models/derive-address.model.js.map +0 -1
  62. package/dist/models/explorer-transaction-summary.model.d.ts +0 -9
  63. package/dist/models/explorer-transaction-summary.model.d.ts.map +0 -1
  64. package/dist/models/explorer-transaction-summary.model.js +0 -3
  65. package/dist/models/explorer-transaction-summary.model.js.map +0 -1
  66. package/dist/models/merkle-proof.model.d.ts +0 -7
  67. package/dist/models/merkle-proof.model.d.ts.map +0 -1
  68. package/dist/models/merkle-proof.model.js +0 -3
  69. package/dist/models/merkle-proof.model.js.map +0 -1
  70. package/dist/models/network-statistics.model.d.ts +0 -8
  71. package/dist/models/network-statistics.model.d.ts.map +0 -1
  72. package/dist/models/network-statistics.model.js +0 -3
  73. package/dist/models/network-statistics.model.js.map +0 -1
  74. package/dist/models/node-selection-strategy.enum.d.ts +0 -6
  75. package/dist/models/node-selection-strategy.enum.d.ts.map +0 -1
  76. package/dist/models/node-selection-strategy.enum.js +0 -10
  77. package/dist/models/node-selection-strategy.enum.js.map +0 -1
  78. package/dist/models/node-status.model.d.ts +0 -6
  79. package/dist/models/node-status.model.d.ts.map +0 -1
  80. package/dist/models/node-status.model.js +0 -3
  81. package/dist/models/node-status.model.js.map +0 -1
  82. package/dist/models/node.model.d.ts +0 -5
  83. package/dist/models/node.model.d.ts.map +0 -1
  84. package/dist/models/node.model.js +0 -3
  85. package/dist/models/node.model.js.map +0 -1
  86. package/dist/models/paged-result.model.d.ts +0 -7
  87. package/dist/models/paged-result.model.d.ts.map +0 -1
  88. package/dist/models/paged-result.model.js +0 -3
  89. package/dist/models/paged-result.model.js.map +0 -1
  90. package/dist/models/rich-list-item.model.d.ts +0 -5
  91. package/dist/models/rich-list-item.model.d.ts.map +0 -1
  92. package/dist/models/rich-list-item.model.js +0 -3
  93. package/dist/models/rich-list-item.model.js.map +0 -1
  94. package/dist/models/send-transaction-response.model.d.ts +0 -4
  95. package/dist/models/send-transaction-response.model.d.ts.map +0 -1
  96. package/dist/models/send-transaction-response.model.js +0 -3
  97. package/dist/models/send-transaction-response.model.js.map +0 -1
  98. package/dist/models/send-transaction.model.d.ts +0 -9
  99. package/dist/models/send-transaction.model.d.ts.map +0 -1
  100. package/dist/models/send-transaction.model.js +0 -3
  101. package/dist/models/send-transaction.model.js.map +0 -1
  102. package/dist/models/stake.model.d.ts +0 -7
  103. package/dist/models/stake.model.d.ts.map +0 -1
  104. package/dist/models/stake.model.js +0 -3
  105. package/dist/models/stake.model.js.map +0 -1
  106. package/dist/models/submit-transaction-request.model.d.ts +0 -13
  107. package/dist/models/submit-transaction-request.model.d.ts.map +0 -1
  108. package/dist/models/submit-transaction-request.model.js +0 -3
  109. package/dist/models/submit-transaction-request.model.js.map +0 -1
  110. package/dist/models/submit-transaction-response.model.d.ts +0 -4
  111. package/dist/models/submit-transaction-response.model.d.ts.map +0 -1
  112. package/dist/models/submit-transaction-response.model.js +0 -3
  113. package/dist/models/submit-transaction-response.model.js.map +0 -1
  114. package/dist/models/token.model.d.ts +0 -7
  115. package/dist/models/token.model.d.ts.map +0 -1
  116. package/dist/models/token.model.js +0 -3
  117. package/dist/models/token.model.js.map +0 -1
  118. package/dist/models/transaction-details.model.d.ts +0 -11
  119. package/dist/models/transaction-details.model.d.ts.map +0 -1
  120. package/dist/models/transaction-details.model.js +0 -3
  121. package/dist/models/transaction-details.model.js.map +0 -1
  122. package/dist/models/transaction-id.model.d.ts +0 -4
  123. package/dist/models/transaction-id.model.d.ts.map +0 -1
  124. package/dist/models/transaction-id.model.js +0 -3
  125. package/dist/models/transaction-id.model.js.map +0 -1
  126. package/dist/models/transaction-summary.model.d.ts +0 -9
  127. package/dist/models/transaction-summary.model.d.ts.map +0 -1
  128. package/dist/models/transaction-summary.model.js +0 -3
  129. package/dist/models/transaction-summary.model.js.map +0 -1
  130. package/dist/models/unbonding-entry.model.d.ts +0 -6
  131. package/dist/models/unbonding-entry.model.d.ts.map +0 -1
  132. package/dist/models/unbonding-entry.model.js +0 -3
  133. package/dist/models/unbonding-entry.model.js.map +0 -1
  134. package/dist/models/unstake.model.d.ts +0 -7
  135. package/dist/models/unstake.model.d.ts.map +0 -1
  136. package/dist/models/unstake.model.js +0 -3
  137. package/dist/models/unstake.model.js.map +0 -1
  138. package/dist/models/validator.model.d.ts +0 -9
  139. package/dist/models/validator.model.d.ts.map +0 -1
  140. package/dist/models/validator.model.js +0 -3
  141. package/dist/models/validator.model.js.map +0 -1
  142. package/dist/models/wallet-account-balance.model.d.ts +0 -6
  143. package/dist/models/wallet-account-balance.model.d.ts.map +0 -1
  144. package/dist/models/wallet-account-balance.model.js +0 -3
  145. package/dist/models/wallet-account-balance.model.js.map +0 -1
  146. package/dist/models/wallet-detailed-transaction-summary.model.d.ts +0 -20
  147. package/dist/models/wallet-detailed-transaction-summary.model.d.ts.map +0 -1
  148. package/dist/models/wallet-detailed-transaction-summary.model.js +0 -3
  149. package/dist/models/wallet-detailed-transaction-summary.model.js.map +0 -1
  150. package/dist/models/wallet.model.d.ts +0 -6
  151. package/dist/models/wallet.model.d.ts.map +0 -1
  152. package/dist/models/wallet.model.js +0 -3
  153. package/dist/models/wallet.model.js.map +0 -1
  154. package/dist/services/certificate-manager.service.d.ts +0 -19
  155. package/dist/services/certificate-manager.service.d.ts.map +0 -1
  156. package/dist/services/certificate-manager.service.js +0 -198
  157. package/dist/services/certificate-manager.service.js.map +0 -1
  158. package/dist/services/node-manager.service.d.ts +0 -35
  159. package/dist/services/node-manager.service.d.ts.map +0 -1
  160. package/dist/services/node-manager.service.js +0 -170
  161. package/dist/services/node-manager.service.js.map +0 -1
  162. package/dist/services/signalr.service.d.ts +0 -21
  163. package/dist/services/signalr.service.d.ts.map +0 -1
  164. package/dist/services/signalr.service.js +0 -123
  165. package/dist/services/signalr.service.js.map +0 -1
  166. package/dist/services/staking.service.d.ts +0 -25
  167. package/dist/services/staking.service.d.ts.map +0 -1
  168. package/dist/services/staking.service.js +0 -34
  169. package/dist/services/staking.service.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export { PaymeClient } from './payme-client';
2
2
  export type { PaymeClientConfig } from './payme-client';
3
+ export { TransactionSigner } from './wallet/transaction-signer';
4
+ export type { BuildSignedTransferArgs } from './wallet/transaction-signer';
3
5
  export * from './models';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,YAAY,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG3E,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -15,10 +15,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PaymeClient = void 0;
18
+ exports.TransactionSigner = exports.PaymeClient = void 0;
19
19
  // Main client entry point
20
20
  var payme_client_1 = require("./payme-client");
21
21
  Object.defineProperty(exports, "PaymeClient", { enumerable: true, get: function () { return payme_client_1.PaymeClient; } });
22
- // Export all models for consumers of the SDK
22
+ // PR-6: cripto local (mnemonic, derivação, assinatura).
23
+ var transaction_signer_1 = require("./wallet/transaction-signer");
24
+ Object.defineProperty(exports, "TransactionSigner", { enumerable: true, get: function () { return transaction_signer_1.TransactionSigner; } });
25
+ // Models públicos
23
26
  __exportStar(require("./models"), exports);
24
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,eAAe;;;;;;;;;;;;;;;;;AAEf,0BAA0B;AAC1B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAIpB,6CAA6C;AAC7C,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,eAAe;;;;;;;;;;;;;;;;;AAEf,0BAA0B;AAC1B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAGpB,wDAAwD;AACxD,kEAAgE;AAAvD,uHAAA,iBAAiB,OAAA;AAG1B,kBAAkB;AAClB,2CAAyB"}
@@ -5,161 +5,141 @@ export interface ICommandResult<T> {
5
5
  data: T | null;
6
6
  }
7
7
  export interface PagedResult<T> {
8
- TotalItems: number;
9
- TotalPages: number;
10
- CurrentPage: number;
11
- PageSize: number;
12
- Items: T[];
8
+ totalItems: number;
9
+ totalPages: number;
10
+ currentPage: number;
11
+ pageSize: number;
12
+ items: T[];
13
13
  }
14
14
  export interface AccountViewModel {
15
- Id: string;
16
- Address: string;
17
- PublicKey: string;
18
- Sequence: number;
15
+ id: string;
16
+ address: string;
17
+ publicKey: string | null;
18
+ sequence: number;
19
19
  }
20
20
  export interface BalanceLineViewModel {
21
- Balance: number;
22
- LockedBalance: number;
23
- TokenId: string;
21
+ balance: number;
22
+ tokenId: string;
24
23
  }
25
24
  export interface RichListItemViewModel {
26
- Address: string;
27
- Balance: number;
25
+ address: string;
26
+ balance: number;
28
27
  }
29
28
  export interface BlockViewModel {
30
- Id: string;
31
- BlockHeight: number;
32
- PreviousBlockHash: string;
33
- Timestamp: string;
34
- ProposerAddress: string;
35
- Transactions: TransactionViewModel[];
29
+ id: string;
30
+ blockHeight: number;
31
+ previousBlockHash: string;
32
+ timestamp: string;
33
+ proposerAddress: string;
34
+ transactions: TransactionViewModel[];
36
35
  }
37
36
  export interface BlockSummaryViewModel {
38
- BlockHeight: number;
39
- BlockHash: string;
40
- Timestamp: string;
41
- TransactionCount: number;
37
+ blockHeight: number;
38
+ blockHash: string;
39
+ timestamp: string;
40
+ transactionCount: number;
42
41
  }
43
42
  export interface TransactionSummaryViewModel {
44
- TransactionHash: string;
45
- AccountAddress: string;
46
- DestinationAddress: string;
47
- Amount: number;
48
- TokenId: string;
49
- Timestamp: string;
43
+ transactionHash: string;
44
+ accountAddress: string;
45
+ destinationAddress: string;
46
+ amount: number;
47
+ tokenId: string;
48
+ timestamp: string;
50
49
  }
51
50
  export interface BlockHeaderViewModel {
52
- BlockHash: string;
53
- BlockHeight: number;
54
- PreviousBlockHash: string;
55
- MerkleRoot: string;
56
- Timestamp: string;
51
+ blockHash: string;
52
+ blockHeight: number;
53
+ previousBlockHash: string;
54
+ merkleRoot: string;
55
+ timestamp: string;
57
56
  }
58
57
  export interface MerkleProofViewModel {
59
- BlockHash: string;
60
- TransactionHash: string;
61
- MerkleProof: string[];
62
- IsLeft: boolean[];
58
+ blockHash: string;
59
+ transactionHash: string;
60
+ merkleProof: string[];
61
+ isLeft: boolean[];
63
62
  }
64
63
  export interface NodeInfoModel {
65
- Url: string;
66
- IsValidator: boolean;
67
- }
68
- export interface UnbondingEntryViewModel {
69
- ValidatorAddress: string;
70
- Amount: number;
71
- ReleaseBlockHeight: number;
72
- }
73
- export interface StakeViewModel {
74
- ValidatorAddress: string;
75
- Amount: number;
76
- SenderAddress: string;
77
- Signature: string;
78
- }
79
- export interface UnstakeViewModel {
80
- ValidatorAddress: string;
81
- Amount: number;
82
- SenderAddress: string;
83
- Signature: string;
64
+ url: string;
65
+ isValidator: boolean;
84
66
  }
85
67
  export interface NetworkStatisticsModel {
86
- BlockHeight: number;
87
- TotalTransactions: number;
88
- ConnectedPeers: number;
89
- TransactionsPerSecond: number;
90
- MempoolPendingTransactions: number;
68
+ blockHeight: number;
69
+ totalTransactions: number;
70
+ connectedPeers: number;
71
+ transactionsPerSecond: number;
72
+ mempoolPendingTransactions: number;
91
73
  }
92
74
  export interface TokenViewModel {
93
- Id: string;
94
- Name: string;
95
- Code: string;
96
- IssuerAddress: string;
97
- IsActive: boolean;
75
+ id: string;
76
+ name: string;
77
+ code: string;
78
+ issuerAddress: string;
79
+ isActive: boolean;
98
80
  }
99
81
  export interface SubmitTransactionRequest {
100
- AccountAddress: string;
101
- DestinationAddress: string;
102
- Amount: number;
103
- TokenId: string;
104
- Sequence: number;
105
- BaseFee: number;
106
- PriorityFee: number;
107
- Signature: string;
108
- TransactionHash: string;
82
+ accountAddress: string;
83
+ destinationAddress: string;
84
+ amount: string;
85
+ tokenId: string;
86
+ sequence: number;
87
+ baseFee: number;
88
+ priorityFee: number;
89
+ signature: string;
90
+ transactionHash: string;
91
+ /** PR-1: timestamp UTC ISO 8601 que entrou no hash (.NET 'o' format) */
92
+ timestamp: string;
93
+ /** PR-1 #19: byte do esquema. ECDSA = 0x00 (default). */
94
+ schemeId: number;
95
+ /** PR-1 #20: obrigatório na 1ª saída de um address. */
96
+ senderPublicKey: string;
109
97
  }
110
98
  export interface SubmitTransactionResponse {
111
- TransactionId: string;
99
+ transactionId: string;
112
100
  }
113
101
  export interface TransactionIdViewModel {
114
- TransactionId: string;
102
+ transactionId: string;
115
103
  }
116
104
  export interface TransactionViewModel {
117
- Id: string;
118
- TransactionHash: string;
119
- SenderAddress: string;
120
- ReceiverAddress: string;
121
- Amount: number;
122
- TokenId: string;
123
- Timestamp: string;
105
+ id: string;
106
+ transactionHash: string;
107
+ senderAddress: string;
108
+ receiverAddress: string;
109
+ amount: number;
110
+ tokenId: string;
111
+ timestamp: string;
124
112
  }
125
113
  export interface ValidatorModel {
126
- Address: string;
127
- PublicKey: string;
128
- IsActive: boolean;
129
- NetworkUrl?: string;
130
- StakedAmount?: number;
131
- Uptime?: number;
132
- }
133
- export interface CreateWalletViewModel {
134
- Mnemonic: string;
135
- PublicKey: string;
136
- Address: string;
137
- }
138
- export interface DeriveAddressViewModel {
139
- mnemonic: string;
114
+ address: string;
140
115
  publicKey: string;
116
+ isActive: boolean;
117
+ networkUrl?: string;
118
+ uptime?: number;
119
+ }
120
+ export interface LocalWallet {
121
+ /** mnemonic BIP39 gerado localmente. NUNCA enviar para o gateway. */
122
+ mnemonic: string;
123
+ /** primeira conta derivada (m/44'/1000000'/0'/0/0). */
124
+ account: LocalDerivedAccount;
125
+ }
126
+ export interface LocalDerivedAccount {
141
127
  address: string;
128
+ publicKey: string;
129
+ /** índice usado em m/44'/1000000'/0'/0/{index} */
130
+ index: number;
142
131
  }
143
132
  export interface WalletAccountBalanceViewModel {
144
- TokenId: string;
145
- Balance: number;
146
- LockedBalance: number;
133
+ tokenId: string;
134
+ balance: number;
147
135
  }
148
136
  export interface WalletTransactionHistoryViewModel {
149
- Id: string;
150
- TransactionHash: string;
151
- AccountAddress: string;
152
- DestinationAddress: string;
153
- Amount: number;
154
- TokenId: string;
155
- Timestamp: string;
156
- }
157
- export interface SendTransactionRequest {
158
- Mnemonic: string;
159
- AddressIndex: number;
160
- FromAddress: string;
161
- ToAddress: string;
162
- Amount: number;
163
- TokenId: string;
137
+ id: string;
138
+ transactionHash: string;
139
+ accountAddress: string;
140
+ destinationAddress: string;
141
+ amount: number;
142
+ tokenId: string;
143
+ timestamp: string;
164
144
  }
165
145
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  "use strict";
2
2
  // src/models/index.ts
3
+ //
4
+ // PR-1/PR-2/PR-6: shapes alinhados ao backend pós-refactor.
5
+ // - PR-1: SubmitTransactionRequest carrega schemeId + senderPublicKey + timestamp.
6
+ // - PR-1 #20: mnemonic NUNCA trafega via wire. Geração e derivação são locais
7
+ // (ver `wallet/transaction-signer`). LocalWallet/LocalDerivedAccount substituem
8
+ // CreateWalletViewModel/DeriveAddressViewModel.
9
+ // - PR-2: removidos LockedBalance, StakedAmount e todos os tipos de staking.
3
10
  Object.defineProperty(exports, "__esModule", { value: true });
4
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";AAAA,sBAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,EAAE;AACF,4DAA4D;AAC5D,qFAAqF;AACrF,gFAAgF;AAChF,oFAAoF;AACpF,oDAAoD;AACpD,+EAA+E"}
@@ -3,7 +3,6 @@ import { AccountService } from './services/account.service';
3
3
  import { BlockService } from './services/block.service';
4
4
  import { ExplorerService } from './services/explorer.service';
5
5
  import { LightClientService } from './services/light-client.service';
6
- import { StakingService } from './services/staking.service';
7
6
  import { StatisticsService } from './services/statistics.service';
8
7
  import { TokenService } from './services/token.service';
9
8
  import { TransactionService } from './services/transaction.service';
@@ -17,7 +16,6 @@ export declare class PaymeClient {
17
16
  readonly block: BlockService;
18
17
  readonly explorer: ExplorerService;
19
18
  readonly lightClient: LightClientService;
20
- readonly staking: StakingService;
21
19
  readonly statistics: StatisticsService;
22
20
  readonly token: TokenService;
23
21
  readonly transaction: TransactionService;
@@ -1 +1 @@
1
- {"version":3,"file":"payme-client.d.ts","sourceRoot":"","sources":["../src/payme-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,WAAW;IAEpB,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAC1C,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,UAAU,EAAE,iBAAiB,CAAC;IAC9C,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,SAAS,EAAE,gBAAgB,CAAC;gBAEhC,MAAM,EAAE,iBAAiB;CAsBxC"}
1
+ {"version":3,"file":"payme-client.d.ts","sourceRoot":"","sources":["../src/payme-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,WAAW;IACpB,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAC1C,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,UAAU,EAAE,iBAAiB,CAAC;IAC9C,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,SAAS,EAAE,gBAAgB,CAAC;gBAEhC,MAAM,EAAE,iBAAiB;CAiBxC"}
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
+ // src/payme-client.ts
3
+ //
4
+ // PR-2: StakingService removido (rede é PoA, sem stake/unstake).
5
+ // PR-6: WalletService perdeu createWallet/deriveAddress/sendTransaction via REST.
6
+ // Use TransactionSigner.* (ou client.wallet.buildSignedTransfer + client.transaction.submitTransaction).
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.PaymeClient = void 0;
4
- // src/payme-client.ts
5
9
  const wallet_service_1 = require("./services/wallet.service");
6
10
  const account_service_1 = require("./services/account.service");
7
11
  const block_service_1 = require("./services/block.service");
8
12
  const explorer_service_1 = require("./services/explorer.service");
9
13
  const light_client_service_1 = require("./services/light-client.service");
10
- const staking_service_1 = require("./services/staking.service");
11
14
  const statistics_service_1 = require("./services/statistics.service");
12
15
  const token_service_1 = require("./services/token.service");
13
16
  const transaction_service_1 = require("./services/transaction.service");
@@ -18,19 +21,15 @@ class PaymeClient {
18
21
  if (!config.gatewayUrl) {
19
22
  throw new Error("A configuração do PaymeClient deve fornecer 'gatewayUrl'.");
20
23
  }
21
- // Instantiate the base service for API calls, now using the gateway URL
22
24
  const baseService = new base_service_1.BaseService(config.gatewayUrl);
23
- // Instantiate all public-facing API services
24
25
  this.wallet = new wallet_service_1.WalletService(baseService);
25
26
  this.account = new account_service_1.AccountService(baseService);
26
27
  this.block = new block_service_1.BlockService(baseService);
27
28
  this.explorer = new explorer_service_1.ExplorerService(baseService);
28
29
  this.lightClient = new light_client_service_1.LightClientService(baseService);
29
- this.staking = new staking_service_1.StakingService(baseService);
30
30
  this.statistics = new statistics_service_1.StatisticsService(baseService);
31
31
  this.token = new token_service_1.TokenService(baseService);
32
32
  this.transaction = new transaction_service_1.TransactionService(baseService);
33
- // ValidatorService will now query gateway endpoints
34
33
  this.validator = new validator_service_1.ValidatorService(baseService);
35
34
  }
36
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payme-client.js","sourceRoot":"","sources":["../src/payme-client.ts"],"names":[],"mappings":";;;AAAA,sBAAsB;AACtB,8DAA0D;AAC1D,gEAA4D;AAC5D,4DAAwD;AACxD,kEAA8D;AAC9D,0EAAqE;AACrE,gEAA4D;AAC5D,sEAAkE;AAClE,4DAAwD;AACxD,wEAAoE;AACpE,oEAAgE;AAChE,0DAAsD;AAMtD,MAAa,WAAW;IAapB,YAAY,MAAyB;QACjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEvD,6CAA6C;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAe,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,yCAAkB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,wCAAkB,CAAC,WAAW,CAAC,CAAC;QAEvD,oDAAoD;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,oCAAgB,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;CACJ;AAnCD,kCAmCC"}
1
+ {"version":3,"file":"payme-client.js","sourceRoot":"","sources":["../src/payme-client.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,EAAE;AACF,iEAAiE;AACjE,kFAAkF;AAClF,+GAA+G;;;AAE/G,8DAA0D;AAC1D,gEAA4D;AAC5D,4DAAwD;AACxD,kEAA8D;AAC9D,0EAAqE;AACrE,sEAAkE;AAClE,4DAAwD;AACxD,wEAAoE;AACpE,oEAAgE;AAChE,0DAAsD;AAMtD,MAAa,WAAW;IAWpB,YAAY,MAAyB;QACjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAe,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,yCAAkB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,wCAAkB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,oCAAgB,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;CACJ;AA5BD,kCA4BC"}
@@ -3,7 +3,6 @@ export * from './base.service';
3
3
  export * from './block.service';
4
4
  export * from './explorer.service';
5
5
  export * from './light-client.service';
6
- export * from './staking.service';
7
6
  export * from './statistics.service';
8
7
  export * from './token.service';
9
8
  export * from './transaction.service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -20,7 +20,6 @@ __exportStar(require("./base.service"), exports);
20
20
  __exportStar(require("./block.service"), exports);
21
21
  __exportStar(require("./explorer.service"), exports);
22
22
  __exportStar(require("./light-client.service"), exports);
23
- __exportStar(require("./staking.service"), exports);
24
23
  __exportStar(require("./statistics.service"), exports);
25
24
  __exportStar(require("./token.service"), exports);
26
25
  __exportStar(require("./transaction.service"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC;AAChC,wDAAsC;AACtC,sDAAoC;AACpC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC;AACnC,yDAAuC;AACvC,uDAAqC;AACrC,kDAAgC;AAChC,wDAAsC;AACtC,sDAAoC;AACpC,mDAAiC"}
@@ -1,41 +1,21 @@
1
1
  import { BaseService } from './base.service';
2
- import { CreateWalletViewModel, DeriveAddressViewModel, // Corrected return type for deriveAddress
3
- SendTransactionRequest, SubmitTransactionResponse, WalletAccountBalanceViewModel, // Assuming this is the return type for SendTransaction from the gateway
4
- WalletTransactionHistoryViewModel } from '../models';
2
+ import type { WalletAccountBalanceViewModel, WalletTransactionHistoryViewModel, LocalWallet, LocalDerivedAccount, SubmitTransactionRequest } from '../models';
3
+ import { BuildSignedTransferArgs } from '../wallet/transaction-signer';
4
+ /**
5
+ * PR-1 #20 / PR-6: mnemonic NUNCA é gerado nem trafegado pelo gateway. Tudo que envolve
6
+ * material criptográfico privado é puramente local (BIP39 + BIP44 + secp256k1 + Base58Check).
7
+ *
8
+ * REST passa a expor só leitura (balance, history). Para submeter tx, use
9
+ * `client.transaction.submitTransaction(TransactionSigner.buildSignedTransfer(...))`.
10
+ */
5
11
  export declare class WalletService {
6
12
  private baseService;
7
13
  constructor(baseService: BaseService);
8
- /**
9
- * Creates a new wallet.
10
- * @returns CreateWalletViewModel
11
- */
12
- createWallet(): Promise<CreateWalletViewModel>;
13
- /**
14
- * Derives an address from a mnemonic phrase and index.
15
- * @param mnemonic The mnemonic phrase.
16
- * @param index The derivation index.
17
- * @returns DeriveAddressViewModel
18
- */
19
- deriveAddress(mnemonic: string, index: number): Promise<DeriveAddressViewModel>;
20
- /**
21
- * Gets the balance for a specific wallet address.
22
- * @param address The wallet address.
23
- * @returns Array of WalletAccountBalanceViewModel
24
- */
14
+ createWallet(): LocalWallet;
15
+ generateMnemonic(): string;
16
+ deriveAccount(mnemonic: string, index?: number): LocalDerivedAccount;
17
+ buildSignedTransfer(args: BuildSignedTransferArgs): SubmitTransactionRequest;
25
18
  getWalletBalance(address: string): Promise<WalletAccountBalanceViewModel[]>;
26
- /**
27
- * Gets the transaction history for a specific wallet address and token ID.
28
- * Note: This method is currently in AccountService in the .NET gateway, but logically belongs here.
29
- * @param address The wallet address.
30
- * @param tokenId The token identifier.
31
- * @returns Array of WalletTransactionHistoryViewModel
32
- */
33
19
  getWalletHistory(address: string, tokenId: string): Promise<WalletTransactionHistoryViewModel[]>;
34
- /**
35
- * Sends a transaction from the wallet.
36
- * @param request The send transaction request object.
37
- * @returns SubmitTransactionResponse
38
- */
39
- sendTransaction(request: SendTransactionRequest): Promise<SubmitTransactionResponse>;
40
20
  }
41
21
  //# sourceMappingURL=wallet.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../src/services/wallet.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EAAE,0CAA0C;AAClE,sBAAsB,EACtB,yBAAyB,EAAE,6BAA6B,EAAE,wEAAwE;AAClI,iCAAiC,EACpC,MAAM,WAAW,CAAC;AAEnB,qBAAa,aAAa;IACZ,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE5C;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIpD;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKrF;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAIjF;;;;;;OAMG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,EAAE,CAAC;IAKtG;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAG3F"}
1
+ {"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../src/services/wallet.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EACR,6BAA6B,EAC7B,iCAAiC,EACjC,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAqB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE1F;;;;;;GAMG;AACH,qBAAa,aAAa;IACV,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAI5C,YAAY,IAAI,WAAW;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,mBAAmB;IAIvE,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,wBAAwB;IAMtE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAI3E,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,EAAE,CAAC;CAIzG"}
@@ -1,53 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WalletService = void 0;
4
+ const transaction_signer_1 = require("../wallet/transaction-signer");
5
+ /**
6
+ * PR-1 #20 / PR-6: mnemonic NUNCA é gerado nem trafegado pelo gateway. Tudo que envolve
7
+ * material criptográfico privado é puramente local (BIP39 + BIP44 + secp256k1 + Base58Check).
8
+ *
9
+ * REST passa a expor só leitura (balance, history). Para submeter tx, use
10
+ * `client.transaction.submitTransaction(TransactionSigner.buildSignedTransfer(...))`.
11
+ */
4
12
  class WalletService {
5
13
  constructor(baseService) {
6
14
  this.baseService = baseService;
7
15
  }
8
- /**
9
- * Creates a new wallet.
10
- * @returns CreateWalletViewModel
11
- */
12
- async createWallet() {
13
- return this.baseService.post('/api/wallet/create');
16
+ // ---------- Operações puramente locais (nada vai para a rede) ----------
17
+ createWallet() {
18
+ return transaction_signer_1.TransactionSigner.createWallet();
14
19
  }
15
- /**
16
- * Derives an address from a mnemonic phrase and index.
17
- * @param mnemonic The mnemonic phrase.
18
- * @param index The derivation index.
19
- * @returns DeriveAddressViewModel
20
- */
21
- async deriveAddress(mnemonic, index) {
22
- const params = { mnemonic, index };
23
- return this.baseService.get('/api/wallet/derive-address', params);
20
+ generateMnemonic() {
21
+ return transaction_signer_1.TransactionSigner.generateMnemonic();
24
22
  }
25
- /**
26
- * Gets the balance for a specific wallet address.
27
- * @param address The wallet address.
28
- * @returns Array of WalletAccountBalanceViewModel
29
- */
23
+ deriveAccount(mnemonic, index = 0) {
24
+ return transaction_signer_1.TransactionSigner.deriveAccount(mnemonic, index);
25
+ }
26
+ buildSignedTransfer(args) {
27
+ return transaction_signer_1.TransactionSigner.buildSignedTransfer(args);
28
+ }
29
+ // ---------- Operações read-only (REST do gateway) ----------
30
30
  async getWalletBalance(address) {
31
31
  return this.baseService.get(`/api/wallet/${address}/balance`);
32
32
  }
33
- /**
34
- * Gets the transaction history for a specific wallet address and token ID.
35
- * Note: This method is currently in AccountService in the .NET gateway, but logically belongs here.
36
- * @param address The wallet address.
37
- * @param tokenId The token identifier.
38
- * @returns Array of WalletTransactionHistoryViewModel
39
- */
40
33
  async getWalletHistory(address, tokenId) {
41
- const params = { tokenId }; // Address is part of the path
42
- return this.baseService.get(`/api/wallet/${address}/history/${tokenId}`, params);
43
- }
44
- /**
45
- * Sends a transaction from the wallet.
46
- * @param request The send transaction request object.
47
- * @returns SubmitTransactionResponse
48
- */
49
- async sendTransaction(request) {
50
- return this.baseService.post('/api/wallet/send-transaction', request);
34
+ return this.baseService.get(`/api/wallet/${address}/history/${tokenId}`);
51
35
  }
52
36
  }
53
37
  exports.WalletService = WalletService;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.service.js","sourceRoot":"","sources":["../../src/services/wallet.service.ts"],"names":[],"mappings":";;;AASA,MAAa,aAAa;IACxB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEhD;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAwB,oBAAoB,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,KAAa;QACjD,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,4BAA4B,EAAE,MAAM,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAkC,eAAe,OAAO,UAAU,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,OAAe;QACrD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,8BAA8B;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsC,eAAe,OAAO,YAAY,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IACxH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,8BAA8B,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;CACF;AAnDD,sCAmDC"}
1
+ {"version":3,"file":"wallet.service.js","sourceRoot":"","sources":["../../src/services/wallet.service.ts"],"names":[],"mappings":";;;AAQA,qEAA0F;AAE1F;;;;;;GAMG;AACH,MAAa,aAAa;IACtB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEhD,0EAA0E;IAE1E,YAAY;QACR,OAAO,sCAAiB,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED,gBAAgB;QACZ,OAAO,sCAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,QAAgB,CAAC;QAC7C,OAAO,sCAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CAAC,IAA6B;QAC7C,OAAO,sCAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,8DAA8D;IAE9D,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAkC,eAAe,OAAO,UAAU,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,OAAe;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CACvB,eAAe,OAAO,YAAY,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;CACJ;AA/BD,sCA+BC"}
@@ -0,0 +1,38 @@
1
+ import type { LocalDerivedAccount, LocalWallet, SubmitTransactionRequest } from '../models';
2
+ export interface BuildSignedTransferArgs {
3
+ /** mnemonic BIP39 do sender (NUNCA é enviado para o gateway) */
4
+ mnemonic: string;
5
+ /** índice em m/44'/1000000'/0'/0/{addressIndex}. Default = 0. */
6
+ addressIndex?: number;
7
+ destinationAddress: string;
8
+ tokenId: string;
9
+ /** amount em PicoPayme. Aceita bigint ou string decimal sem ponto. */
10
+ amount: bigint | string;
11
+ /** sequence: senderAccount.sequence + 1 (ou 1 se conta nova). */
12
+ sequence: number;
13
+ baseFee: bigint | string;
14
+ priorityFee: bigint | string;
15
+ /** Se ausente, usa Date.now() em UTC. */
16
+ timestamp?: Date;
17
+ }
18
+ export declare class TransactionSigner {
19
+ static readonly SCHEME_ECDSA: number;
20
+ /** Gera mnemonic 12-words. Função pura: nada vai pra rede. */
21
+ static generateMnemonic(): string;
22
+ /** Cria uma carteira (mnemonic + conta índice 0). */
23
+ static createWallet(): LocalWallet;
24
+ /** Deriva conta no índice especificado (path BIP44). */
25
+ static deriveAccount(mnemonic: string, index?: number): LocalDerivedAccount;
26
+ /** Address = Base58Check(0x00 || RIPEMD160(SHA256(pubkey compressed))). */
27
+ static deriveAddress(publicKeyCompressed: Uint8Array): string;
28
+ /**
29
+ * Monta uma Tx Transfer e devolve a forma pronta pra POST /api/transaction.
30
+ * Não envia — só prepara. O caller usa `client.transaction.submitTransaction(...)`.
31
+ */
32
+ static buildSignedTransfer(args: BuildSignedTransferArgs): SubmitTransactionRequest;
33
+ private static derivePrivateKey;
34
+ /** Helper público — útil para testes ou ferramentas. */
35
+ static toHex(bytes: Uint8Array): string;
36
+ static fromHex(hex: string): Uint8Array;
37
+ }
38
+ //# sourceMappingURL=transaction-signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-signer.d.ts","sourceRoot":"","sources":["../../src/wallet/transaction-signer.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAyC5F,MAAM,WAAW,uBAAuB;IACpC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,yCAAyC;IACzC,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAC1B,MAAM,CAAC,QAAQ,CAAC,YAAY,SAAgB;IAE5C,8DAA8D;IAC9D,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAIjC,qDAAqD;IACrD,MAAM,CAAC,YAAY,IAAI,WAAW;IAMlC,wDAAwD;IACxD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,mBAAmB;IAS9E,2EAA2E;IAC3E,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,UAAU,GAAG,MAAM;IAY7D;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,wBAAwB;IAmDnF,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B,wDAAwD;IACxD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IACvC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAC1C"}