@venturialstd/circle 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +171 -0
  2. package/dist/circle.module.d.ts +3 -0
  3. package/dist/circle.module.d.ts.map +1 -0
  4. package/dist/circle.module.js +61 -0
  5. package/dist/circle.module.js.map +1 -0
  6. package/dist/constants/circle.constant.d.ts +71 -0
  7. package/dist/constants/circle.constant.d.ts.map +1 -0
  8. package/dist/constants/circle.constant.js +84 -0
  9. package/dist/constants/circle.constant.js.map +1 -0
  10. package/dist/constants/circle.settings.constant.d.ts +7 -0
  11. package/dist/constants/circle.settings.constant.d.ts.map +1 -0
  12. package/dist/constants/circle.settings.constant.js +10 -0
  13. package/dist/constants/circle.settings.constant.js.map +1 -0
  14. package/dist/constants/index.d.ts +3 -0
  15. package/dist/constants/index.d.ts.map +1 -0
  16. package/dist/constants/index.js +19 -0
  17. package/dist/constants/index.js.map +1 -0
  18. package/dist/entities/circle-api-operation.entity.d.ts +19 -0
  19. package/dist/entities/circle-api-operation.entity.d.ts.map +1 -0
  20. package/dist/entities/circle-api-operation.entity.js +112 -0
  21. package/dist/entities/circle-api-operation.entity.js.map +1 -0
  22. package/dist/entities/circle-challenge.entity.d.ts +17 -0
  23. package/dist/entities/circle-challenge.entity.d.ts.map +1 -0
  24. package/dist/entities/circle-challenge.entity.js +98 -0
  25. package/dist/entities/circle-challenge.entity.js.map +1 -0
  26. package/dist/entities/circle-nft-balance.entity.d.ts +16 -0
  27. package/dist/entities/circle-nft-balance.entity.d.ts.map +1 -0
  28. package/dist/entities/circle-nft-balance.entity.js +97 -0
  29. package/dist/entities/circle-nft-balance.entity.js.map +1 -0
  30. package/dist/entities/circle-token-balance.entity.d.ts +17 -0
  31. package/dist/entities/circle-token-balance.entity.d.ts.map +1 -0
  32. package/dist/entities/circle-token-balance.entity.js +102 -0
  33. package/dist/entities/circle-token-balance.entity.js.map +1 -0
  34. package/dist/entities/circle-token.entity.d.ts +17 -0
  35. package/dist/entities/circle-token.entity.d.ts.map +1 -0
  36. package/dist/entities/circle-token.entity.js +102 -0
  37. package/dist/entities/circle-token.entity.js.map +1 -0
  38. package/dist/entities/circle-transaction.entity.d.ts +53 -0
  39. package/dist/entities/circle-transaction.entity.d.ts.map +1 -0
  40. package/dist/entities/circle-transaction.entity.js +215 -0
  41. package/dist/entities/circle-transaction.entity.js.map +1 -0
  42. package/dist/entities/circle-wallet-set.entity.d.ts +11 -0
  43. package/dist/entities/circle-wallet-set.entity.d.ts.map +1 -0
  44. package/dist/entities/circle-wallet-set.entity.js +71 -0
  45. package/dist/entities/circle-wallet-set.entity.js.map +1 -0
  46. package/dist/entities/circle-wallet.entity.d.ts +21 -0
  47. package/dist/entities/circle-wallet.entity.d.ts.map +1 -0
  48. package/dist/entities/circle-wallet.entity.js +118 -0
  49. package/dist/entities/circle-wallet.entity.js.map +1 -0
  50. package/dist/entities/index.d.ts +9 -0
  51. package/dist/entities/index.d.ts.map +1 -0
  52. package/dist/entities/index.js +25 -0
  53. package/dist/entities/index.js.map +1 -0
  54. package/dist/index.d.ts +23 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +39 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/services/circle-api-operation.service.d.ts +8 -0
  59. package/dist/services/circle-api-operation.service.d.ts.map +1 -0
  60. package/dist/services/circle-api-operation.service.js +34 -0
  61. package/dist/services/circle-api-operation.service.js.map +1 -0
  62. package/dist/services/circle-api.service.d.ts +24 -0
  63. package/dist/services/circle-api.service.d.ts.map +1 -0
  64. package/dist/services/circle-api.service.js +172 -0
  65. package/dist/services/circle-api.service.js.map +1 -0
  66. package/dist/services/circle-challenge.service.d.ts +14 -0
  67. package/dist/services/circle-challenge.service.d.ts.map +1 -0
  68. package/dist/services/circle-challenge.service.js +81 -0
  69. package/dist/services/circle-challenge.service.js.map +1 -0
  70. package/dist/services/circle-nft-balance.service.d.ts +14 -0
  71. package/dist/services/circle-nft-balance.service.d.ts.map +1 -0
  72. package/dist/services/circle-nft-balance.service.js +92 -0
  73. package/dist/services/circle-nft-balance.service.js.map +1 -0
  74. package/dist/services/circle-token-balance.service.d.ts +16 -0
  75. package/dist/services/circle-token-balance.service.d.ts.map +1 -0
  76. package/dist/services/circle-token-balance.service.js +146 -0
  77. package/dist/services/circle-token-balance.service.js.map +1 -0
  78. package/dist/services/circle-token.service.d.ts +11 -0
  79. package/dist/services/circle-token.service.d.ts.map +1 -0
  80. package/dist/services/circle-token.service.js +62 -0
  81. package/dist/services/circle-token.service.js.map +1 -0
  82. package/dist/services/circle-transaction.service.d.ts +16 -0
  83. package/dist/services/circle-transaction.service.d.ts.map +1 -0
  84. package/dist/services/circle-transaction.service.js +148 -0
  85. package/dist/services/circle-transaction.service.js.map +1 -0
  86. package/dist/services/circle-wallet-set.service.d.ts +15 -0
  87. package/dist/services/circle-wallet-set.service.d.ts.map +1 -0
  88. package/dist/services/circle-wallet-set.service.js +95 -0
  89. package/dist/services/circle-wallet-set.service.js.map +1 -0
  90. package/dist/services/circle-wallet.service.d.ts +19 -0
  91. package/dist/services/circle-wallet.service.d.ts.map +1 -0
  92. package/dist/services/circle-wallet.service.js +275 -0
  93. package/dist/services/circle-wallet.service.js.map +1 -0
  94. package/dist/services/index.d.ts +10 -0
  95. package/dist/services/index.d.ts.map +1 -0
  96. package/dist/services/index.js +26 -0
  97. package/dist/services/index.js.map +1 -0
  98. package/dist/settings/circle.settings.d.ts +3 -0
  99. package/dist/settings/circle.settings.d.ts.map +1 -0
  100. package/dist/settings/circle.settings.js +55 -0
  101. package/dist/settings/circle.settings.js.map +1 -0
  102. package/dist/types/circle-api.types.d.ts +127 -0
  103. package/dist/types/circle-api.types.d.ts.map +1 -0
  104. package/dist/types/circle-api.types.js +3 -0
  105. package/dist/types/circle-api.types.js.map +1 -0
  106. package/dist/types/index.d.ts +2 -0
  107. package/dist/types/index.d.ts.map +1 -0
  108. package/dist/types/index.js +18 -0
  109. package/dist/types/index.js.map +1 -0
  110. package/package.json +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-token.service.d.ts","sourceRoot":"","sources":["../../src/services/circle-token.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,qBACa,kBAAmB,SAAQ,kBAAkB,CAAC,WAAW,CAAC;aAKnD,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;IAJ/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;gBAI5C,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;IAQzC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CA2B5E"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var CircleTokenService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CircleTokenService = void 0;
17
+ const crud_typeorm_1 = require("@dataui/crud-typeorm");
18
+ const common_1 = require("@nestjs/common");
19
+ const typeorm_1 = require("@nestjs/typeorm");
20
+ const typeorm_2 = require("typeorm");
21
+ const circle_token_entity_1 = require("../entities/circle-token.entity");
22
+ let CircleTokenService = CircleTokenService_1 = class CircleTokenService extends crud_typeorm_1.TypeOrmCrudService {
23
+ repo;
24
+ logger = new common_1.Logger(CircleTokenService_1.name);
25
+ constructor(repo) {
26
+ super(repo);
27
+ this.repo = repo;
28
+ }
29
+ async saveTokenFromCircle(tokenData) {
30
+ const existing = await this.repo.findOne({
31
+ where: { circleId: tokenData.id },
32
+ });
33
+ const tokenDataToSave = {
34
+ circleId: tokenData.id,
35
+ tokenAddress: tokenData.tokenAddress || undefined,
36
+ blockchain: tokenData.blockchain,
37
+ name: tokenData.name,
38
+ symbol: tokenData.symbol,
39
+ decimals: tokenData.decimals,
40
+ isNative: tokenData.isNative || false,
41
+ standard: tokenData.standard,
42
+ metadata: tokenData,
43
+ circleCreateDate: tokenData.createDate ? new Date(tokenData.createDate) : undefined,
44
+ circleUpdateDate: tokenData.updateDate ? new Date(tokenData.updateDate) : undefined,
45
+ };
46
+ if (existing) {
47
+ Object.assign(existing, tokenDataToSave);
48
+ return await this.repo.save(existing);
49
+ }
50
+ else {
51
+ const token = this.repo.create(tokenDataToSave);
52
+ return await this.repo.save(token);
53
+ }
54
+ }
55
+ };
56
+ exports.CircleTokenService = CircleTokenService;
57
+ exports.CircleTokenService = CircleTokenService = CircleTokenService_1 = __decorate([
58
+ (0, common_1.Injectable)(),
59
+ __param(0, (0, typeorm_1.InjectRepository)(circle_token_entity_1.CircleToken)),
60
+ __metadata("design:paramtypes", [typeorm_2.Repository])
61
+ ], CircleTokenService);
62
+ //# sourceMappingURL=circle-token.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-token.service.js","sourceRoot":"","sources":["../../src/services/circle-token.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAA0D;AAC1D,2CAAoD;AACpD,6CAAmD;AACnD,qCAAqC;AAErC,yEAA8D;AAIvD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,iCAA+B;IAKnD;IAJD,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9D,YAEkB,IAA6B;QAE7C,KAAK,CAAC,IAAI,CAAC,CAAC;QAFI,SAAI,GAAJ,IAAI,CAAyB;IAG/C,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,SAA0B;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAyB;YAC5C,QAAQ,EAAE,SAAS,CAAC,EAAE;YACtB,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,SAAS;YACjD,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;YACrC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,QAAQ,EAAE,SAAoC;YAC9C,gBAAgB,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACnF,gBAAgB,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SACpF,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF,CAAA;AAxCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,0BAAgB,EAAC,iCAAW,CAAC,CAAA;qCACR,oBAAU;GALvB,kBAAkB,CAwC9B"}
@@ -0,0 +1,16 @@
1
+ import { TypeOrmCrudService } from '@dataui/crud-typeorm';
2
+ import { Repository } from 'typeorm';
3
+ import { CircleTransaction } from '../entities/circle-transaction.entity';
4
+ import { CircleFeeData, CircleTransactionData } from '../types/circle-api.types';
5
+ import { CircleApiService } from './circle-api.service';
6
+ export declare class CircleTransactionService extends TypeOrmCrudService<CircleTransaction> {
7
+ repo: Repository<CircleTransaction>;
8
+ private readonly circleApiService;
9
+ private readonly logger;
10
+ constructor(repo: Repository<CircleTransaction>, circleApiService: CircleApiService);
11
+ createTransaction(walletId: string, amounts: string[], destinationAddress: string, tokenId?: string, blockchain?: string, tokenAddress?: string, fee?: CircleFeeData, nftTokenIds?: string[], refId?: string, idempotencyKey?: string): Promise<CircleTransaction>;
12
+ listTransactions(blockchain?: string, destinationAddress?: string, state?: string, txHash?: string, txType?: string, walletIds?: string[], from?: string, to?: string, pageAfter?: string, pageBefore?: string, pageSize?: number): Promise<CircleTransaction[]>;
13
+ getTransaction(transactionId: string): Promise<CircleTransaction | null>;
14
+ saveTransactionFromCircle(txData: CircleTransactionData): Promise<CircleTransaction>;
15
+ }
16
+ //# sourceMappingURL=circle-transaction.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-transaction.service.d.ts","sourceRoot":"","sources":["../../src/services/circle-transaction.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAEL,aAAa,EACb,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,qBACa,wBAAyB,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAKxE,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAI3D,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,EACzB,gBAAgB,EAAE,gBAAgB;IAQ/C,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,GAAG,CAAC,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAiCvB,gBAAgB,CACpB,UAAU,CAAC,EAAE,MAAM,EACnB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAqCzB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAmBxE,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA8D3F"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var CircleTransactionService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CircleTransactionService = void 0;
17
+ const crud_typeorm_1 = require("@dataui/crud-typeorm");
18
+ const common_1 = require("@nestjs/common");
19
+ const typeorm_1 = require("@nestjs/typeorm");
20
+ const typeorm_2 = require("typeorm");
21
+ const circle_constant_1 = require("../constants/circle.constant");
22
+ const circle_transaction_entity_1 = require("../entities/circle-transaction.entity");
23
+ const circle_api_service_1 = require("./circle-api.service");
24
+ let CircleTransactionService = CircleTransactionService_1 = class CircleTransactionService extends crud_typeorm_1.TypeOrmCrudService {
25
+ repo;
26
+ circleApiService;
27
+ logger = new common_1.Logger(CircleTransactionService_1.name);
28
+ constructor(repo, circleApiService) {
29
+ super(repo);
30
+ this.repo = repo;
31
+ this.circleApiService = circleApiService;
32
+ }
33
+ async createTransaction(walletId, amounts, destinationAddress, tokenId, blockchain, tokenAddress, fee, nftTokenIds, refId, idempotencyKey) {
34
+ const payload = {
35
+ walletId,
36
+ amounts,
37
+ destinationAddress,
38
+ ...(tokenId && { tokenId }),
39
+ ...(blockchain && tokenAddress !== undefined && { blockchain, tokenAddress }),
40
+ ...(fee && { fee }),
41
+ ...(nftTokenIds && { nftTokenIds }),
42
+ ...(refId && { refId }),
43
+ ...(idempotencyKey && { idempotencyKey }),
44
+ };
45
+ const response = await this.circleApiService.makeApiCall(circle_constant_1.CircleApiOperationType.CREATE_TRANSACTION, '/v1/w3s/developer/transactions/transfer', 'POST', payload, idempotencyKey);
46
+ if (response.data?.transaction) {
47
+ return await this.saveTransactionFromCircle(response.data.transaction);
48
+ }
49
+ throw new Error('Failed to create transaction');
50
+ }
51
+ async listTransactions(blockchain, destinationAddress, state, txHash, txType, walletIds, from, to, pageAfter, pageBefore, pageSize) {
52
+ const params = new URLSearchParams();
53
+ if (blockchain)
54
+ params.append('blockchain', blockchain);
55
+ if (destinationAddress)
56
+ params.append('destinationAddress', destinationAddress);
57
+ if (state)
58
+ params.append('state', state);
59
+ if (txHash)
60
+ params.append('txHash', txHash);
61
+ if (txType)
62
+ params.append('txType', txType);
63
+ if (walletIds)
64
+ params.append('walletIds', walletIds.join(','));
65
+ if (from)
66
+ params.append('from', from);
67
+ if (to)
68
+ params.append('to', to);
69
+ if (pageAfter)
70
+ params.append('pageAfter', pageAfter);
71
+ if (pageBefore)
72
+ params.append('pageBefore', pageBefore);
73
+ if (pageSize)
74
+ params.append('pageSize', pageSize.toString());
75
+ const response = await this.circleApiService.makeApiCall(circle_constant_1.CircleApiOperationType.LIST_TRANSACTIONS, `/v1/w3s/developer/transactions?${params.toString()}`, 'GET');
76
+ const transactions = [];
77
+ if (response.data?.transactions) {
78
+ for (const txData of response.data.transactions) {
79
+ const transaction = await this.saveTransactionFromCircle(txData);
80
+ transactions.push(transaction);
81
+ }
82
+ }
83
+ return transactions;
84
+ }
85
+ async getTransaction(transactionId) {
86
+ const response = await this.circleApiService.makeApiCall(circle_constant_1.CircleApiOperationType.GET_TRANSACTION, `/v1/w3s/developer/transactions/${transactionId}`, 'GET');
87
+ if (response.data?.transaction) {
88
+ return await this.saveTransactionFromCircle(response.data.transaction);
89
+ }
90
+ return null;
91
+ }
92
+ async saveTransactionFromCircle(txData) {
93
+ const existing = await this.repo.findOne({
94
+ where: { circleId: txData.id },
95
+ });
96
+ const txDataToSave = {
97
+ circleId: txData.id,
98
+ blockchain: txData.blockchain,
99
+ state: txData.state,
100
+ transactionType: txData.transactionType,
101
+ operation: txData.operation,
102
+ walletId: txData.walletId,
103
+ userId: txData.userId,
104
+ sourceAddress: txData.sourceAddress,
105
+ destinationAddress: txData.destinationAddress,
106
+ amounts: txData.amounts,
107
+ amountInUSD: txData.amountInUSD?.toString(),
108
+ tokenId: txData.tokenId,
109
+ tokenAddress: txData.tokenAddress,
110
+ txHash: txData.txHash,
111
+ blockHash: txData.blockHash,
112
+ blockHeight: txData.blockHeight,
113
+ contractAddress: txData.contractAddress,
114
+ abiFunctionSignature: txData.abiFunctionSignature,
115
+ abiParameters: txData.abiParameters,
116
+ callData: txData.callData,
117
+ estimatedFee: txData.estimatedFee,
118
+ feeLevel: txData.feeLevel,
119
+ networkFee: txData.networkFee?.toString(),
120
+ networkFeeInUSD: txData.networkFeeInUSD?.toString(),
121
+ nfts: typeof txData.nfts === 'string' ? [txData.nfts] : txData.nfts,
122
+ refId: txData.refId,
123
+ errorReason: txData.errorReason,
124
+ errorDetails: txData.errorDetails,
125
+ transactionScreeningEvaluation: txData.transactionScreeningEvaluation,
126
+ circleCreateDate: txData.createDate ? new Date(txData.createDate) : undefined,
127
+ circleUpdateDate: txData.updateDate ? new Date(txData.updateDate) : undefined,
128
+ firstConfirmDate: txData.firstConfirmDate ? new Date(txData.firstConfirmDate) : undefined,
129
+ metadata: txData,
130
+ };
131
+ if (existing) {
132
+ Object.assign(existing, txDataToSave);
133
+ return await this.repo.save(existing);
134
+ }
135
+ else {
136
+ const transaction = this.repo.create(txDataToSave);
137
+ return await this.repo.save(transaction);
138
+ }
139
+ }
140
+ };
141
+ exports.CircleTransactionService = CircleTransactionService;
142
+ exports.CircleTransactionService = CircleTransactionService = CircleTransactionService_1 = __decorate([
143
+ (0, common_1.Injectable)(),
144
+ __param(0, (0, typeorm_1.InjectRepository)(circle_transaction_entity_1.CircleTransaction)),
145
+ __metadata("design:paramtypes", [typeorm_2.Repository,
146
+ circle_api_service_1.CircleApiService])
147
+ ], CircleTransactionService);
148
+ //# sourceMappingURL=circle-transaction.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-transaction.service.js","sourceRoot":"","sources":["../../src/services/circle-transaction.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { TypeOrmCrudService } from '@dataui/crud-typeorm';
2
+ import { Repository } from 'typeorm';
3
+ import { CircleWalletSet } from '../entities/circle-wallet-set.entity';
4
+ import { CircleWalletSetData } from '../types/circle-api.types';
5
+ import { CircleApiService } from './circle-api.service';
6
+ export declare class CircleWalletSetService extends TypeOrmCrudService<CircleWalletSet> {
7
+ repo: Repository<CircleWalletSet>;
8
+ private readonly circleApiService;
9
+ private readonly logger;
10
+ constructor(repo: Repository<CircleWalletSet>, circleApiService: CircleApiService);
11
+ createWalletSet(name: string, idempotencyKey?: string): Promise<CircleWalletSet>;
12
+ getWalletSet(walletSetId: string): Promise<CircleWalletSet | null>;
13
+ saveWalletSetFromCircle(walletSetData: CircleWalletSetData): Promise<CircleWalletSet>;
14
+ }
15
+ //# sourceMappingURL=circle-wallet-set.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-wallet-set.service.d.ts","sourceRoot":"","sources":["../../src/services/circle-wallet-set.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAqB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,qBACa,sBAAuB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IAKpE,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;gBAIzD,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,EACvB,gBAAgB,EAAE,gBAAgB;IAQ/C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgEhF,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAelE,uBAAuB,CAAC,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;CAqB5F"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var CircleWalletSetService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CircleWalletSetService = void 0;
17
+ const crud_typeorm_1 = require("@dataui/crud-typeorm");
18
+ const common_1 = require("@nestjs/common");
19
+ const typeorm_1 = require("@nestjs/typeorm");
20
+ const typeorm_2 = require("typeorm");
21
+ const circle_constant_1 = require("../constants/circle.constant");
22
+ const circle_wallet_set_entity_1 = require("../entities/circle-wallet-set.entity");
23
+ const circle_api_service_1 = require("./circle-api.service");
24
+ let CircleWalletSetService = CircleWalletSetService_1 = class CircleWalletSetService extends crud_typeorm_1.TypeOrmCrudService {
25
+ repo;
26
+ circleApiService;
27
+ logger = new common_1.Logger(CircleWalletSetService_1.name);
28
+ constructor(repo, circleApiService) {
29
+ super(repo);
30
+ this.repo = repo;
31
+ this.circleApiService = circleApiService;
32
+ }
33
+ async createWalletSet(name, idempotencyKey) {
34
+ try {
35
+ const client = await this.circleApiService.getDeveloperClient();
36
+ const input = { name };
37
+ if (idempotencyKey) {
38
+ input.idempotencyKey = idempotencyKey;
39
+ }
40
+ const response = await client.createWalletSet(input);
41
+ await this.circleApiService.logApiOperation(circle_constant_1.CircleApiOperationType.CREATE_WALLET_SET, '/v1/w3s/developer/walletSets', 'POST', input, response.data ? { walletSet: { id: response.data.walletSet?.id } } : undefined, 200, undefined, undefined, idempotencyKey);
42
+ if (response.data?.walletSet) {
43
+ const walletSetData = {
44
+ id: response.data.walletSet.id,
45
+ name,
46
+ createDate: response.data.walletSet.createDate,
47
+ updateDate: response.data.walletSet.updateDate,
48
+ };
49
+ return await this.saveWalletSetFromCircle(walletSetData);
50
+ }
51
+ throw new Error('Failed to create wallet set: No wallet set data in response');
52
+ }
53
+ catch (error) {
54
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
55
+ this.logger.error(`Failed to create wallet set: ${errorMessage}`, error);
56
+ await this.circleApiService.logApiOperation(circle_constant_1.CircleApiOperationType.CREATE_WALLET_SET, '/v1/w3s/developer/walletSets', 'POST', { name, idempotencyKey }, undefined, undefined, errorMessage, undefined, idempotencyKey);
57
+ throw error;
58
+ }
59
+ }
60
+ async getWalletSet(walletSetId) {
61
+ const response = await this.circleApiService.makeApiCall(circle_constant_1.CircleApiOperationType.GET_WALLET, `/v1/w3s/developer/walletSets/${walletSetId}`, 'GET');
62
+ if (response.data?.walletSet) {
63
+ return await this.saveWalletSetFromCircle(response.data.walletSet);
64
+ }
65
+ return null;
66
+ }
67
+ async saveWalletSetFromCircle(walletSetData) {
68
+ const existing = await this.repo.findOne({
69
+ where: { circleId: walletSetData.id },
70
+ });
71
+ const walletSetDataToSave = {
72
+ circleId: walletSetData.id,
73
+ name: walletSetData.name,
74
+ metadata: walletSetData,
75
+ circleCreateDate: walletSetData.createDate ? new Date(walletSetData.createDate) : undefined,
76
+ circleUpdateDate: walletSetData.updateDate ? new Date(walletSetData.updateDate) : undefined,
77
+ };
78
+ if (existing) {
79
+ Object.assign(existing, walletSetDataToSave);
80
+ return await this.repo.save(existing);
81
+ }
82
+ else {
83
+ const walletSet = this.repo.create(walletSetDataToSave);
84
+ return await this.repo.save(walletSet);
85
+ }
86
+ }
87
+ };
88
+ exports.CircleWalletSetService = CircleWalletSetService;
89
+ exports.CircleWalletSetService = CircleWalletSetService = CircleWalletSetService_1 = __decorate([
90
+ (0, common_1.Injectable)(),
91
+ __param(0, (0, typeorm_1.InjectRepository)(circle_wallet_set_entity_1.CircleWalletSet)),
92
+ __metadata("design:paramtypes", [typeorm_2.Repository,
93
+ circle_api_service_1.CircleApiService])
94
+ ], CircleWalletSetService);
95
+ //# sourceMappingURL=circle-wallet-set.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-wallet-set.service.js","sourceRoot":"","sources":["../../src/services/circle-wallet-set.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { TypeOrmCrudService } from '@dataui/crud-typeorm';
2
+ import { Repository } from 'typeorm';
3
+ import { CircleWallet } from '../entities/circle-wallet.entity';
4
+ import { CircleWalletData } from '../types/circle-api.types';
5
+ import { CircleApiService } from './circle-api.service';
6
+ export declare class CircleWalletService extends TypeOrmCrudService<CircleWallet> {
7
+ readonly repo: Repository<CircleWallet>;
8
+ private readonly circleApiService;
9
+ private readonly logger;
10
+ constructor(repo: Repository<CircleWallet>, circleApiService: CircleApiService);
11
+ createWallets(blockchains: string[], walletSetId: string, count?: number, accountType?: string, metadata?: Array<{
12
+ name?: string;
13
+ refId?: string;
14
+ }>, idempotencyKey?: string): Promise<CircleWallet[]>;
15
+ listWallets(address?: string, blockchain?: string, walletSetId?: string, pageAfter?: string, pageBefore?: string, pageSize?: number): Promise<CircleWallet[]>;
16
+ getWallet(walletId: string): Promise<CircleWallet | null>;
17
+ saveWalletFromCircle(walletData: CircleWalletData): Promise<CircleWallet>;
18
+ }
19
+ //# sourceMappingURL=circle-wallet.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-wallet.service.d.ts","sourceRoot":"","sources":["../../src/services/circle-wallet.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASrC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAqB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,qBACa,mBAAoB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;aAKrD,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAI7C,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAC7B,gBAAgB,EAAE,gBAAgB;IAU/C,aAAa,CACjB,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACnD,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IAkSpB,WAAW,CACf,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC;IA4BpB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAezD,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;CA8BhF"}