@openzeppelin/ui-builder-adapter-stellar 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +115 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +115 -55
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/__tests__/getDefaultServiceConfig.test.ts +105 -0
- package/src/access-control/indexer-client.ts +134 -65
- package/src/adapter.ts +8 -0
- package/src/config.ts +2 -2
- package/src/configuration/network-services.ts +36 -1
package/dist/index.d.cts
CHANGED
|
@@ -35,6 +35,10 @@ declare class StellarAdapter implements ContractAdapter {
|
|
|
35
35
|
latency?: number;
|
|
36
36
|
error?: string;
|
|
37
37
|
}>;
|
|
38
|
+
/**
|
|
39
|
+
* @inheritdoc
|
|
40
|
+
*/
|
|
41
|
+
getDefaultServiceConfig(serviceId: string): Record<string, unknown> | null;
|
|
38
42
|
/**
|
|
39
43
|
* NOTE about artifact inputs (single input with auto-detection):
|
|
40
44
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -35,6 +35,10 @@ declare class StellarAdapter implements ContractAdapter {
|
|
|
35
35
|
latency?: number;
|
|
36
36
|
error?: string;
|
|
37
37
|
}>;
|
|
38
|
+
/**
|
|
39
|
+
* @inheritdoc
|
|
40
|
+
*/
|
|
41
|
+
getDefaultServiceConfig(serviceId: string): Record<string, unknown> | null;
|
|
38
42
|
/**
|
|
39
43
|
* NOTE about artifact inputs (single input with auto-detection):
|
|
40
44
|
*
|
package/dist/index.js
CHANGED
|
@@ -3663,11 +3663,12 @@ var StellarIndexerClient = class {
|
|
|
3663
3663
|
}
|
|
3664
3664
|
const grantMap = /* @__PURE__ */ new Map();
|
|
3665
3665
|
for (const entry of result.data.accessControlEvents.nodes) {
|
|
3666
|
-
|
|
3667
|
-
|
|
3666
|
+
const account = entry.account || "";
|
|
3667
|
+
if (account && !grantMap.has(account)) {
|
|
3668
|
+
grantMap.set(account, {
|
|
3668
3669
|
timestamp: entry.timestamp,
|
|
3669
3670
|
txId: entry.txHash,
|
|
3670
|
-
ledger: parseInt(entry.
|
|
3671
|
+
ledger: parseInt(entry.blockNumber, 10)
|
|
3671
3672
|
});
|
|
3672
3673
|
}
|
|
3673
3674
|
}
|
|
@@ -3784,10 +3785,17 @@ var StellarIndexerClient = class {
|
|
|
3784
3785
|
logger19.debug(LOG_SYSTEM3, `Ownership transfer was completed for ${contractAddress}`);
|
|
3785
3786
|
return null;
|
|
3786
3787
|
}
|
|
3787
|
-
if (!latestInitiation.
|
|
3788
|
+
if (!latestInitiation.previousOwner) {
|
|
3788
3789
|
logger19.warn(
|
|
3789
3790
|
LOG_SYSTEM3,
|
|
3790
|
-
`Indexer returned OWNERSHIP_TRANSFER_STARTED event without
|
|
3791
|
+
`Indexer returned OWNERSHIP_TRANSFER_STARTED event without previousOwner field for ${contractAddress}. This indicates incomplete indexer data. Treating as no valid pending transfer.`
|
|
3792
|
+
);
|
|
3793
|
+
return null;
|
|
3794
|
+
}
|
|
3795
|
+
if (!latestInitiation.newOwner) {
|
|
3796
|
+
logger19.warn(
|
|
3797
|
+
LOG_SYSTEM3,
|
|
3798
|
+
`Indexer returned OWNERSHIP_TRANSFER_STARTED event without newOwner field for ${contractAddress}. This indicates incomplete indexer data. Treating as no valid pending transfer.`
|
|
3791
3799
|
);
|
|
3792
3800
|
return null;
|
|
3793
3801
|
}
|
|
@@ -3800,14 +3808,14 @@ var StellarIndexerClient = class {
|
|
|
3800
3808
|
}
|
|
3801
3809
|
logger19.info(
|
|
3802
3810
|
LOG_SYSTEM3,
|
|
3803
|
-
`Found pending ownership transfer for ${contractAddress}: pending owner=${latestInitiation.
|
|
3811
|
+
`Found pending ownership transfer for ${contractAddress}: pending owner=${latestInitiation.newOwner}, expires at ledger ${latestInitiation.liveUntilLedger}`
|
|
3804
3812
|
);
|
|
3805
3813
|
return {
|
|
3806
|
-
previousOwner: latestInitiation.
|
|
3807
|
-
pendingOwner: latestInitiation.
|
|
3814
|
+
previousOwner: latestInitiation.previousOwner,
|
|
3815
|
+
pendingOwner: latestInitiation.newOwner,
|
|
3808
3816
|
txHash: latestInitiation.txHash,
|
|
3809
3817
|
timestamp: latestInitiation.timestamp,
|
|
3810
|
-
ledger: parseInt(latestInitiation.
|
|
3818
|
+
ledger: parseInt(latestInitiation.blockNumber, 10),
|
|
3811
3819
|
liveUntilLedger: latestInitiation.liveUntilLedger
|
|
3812
3820
|
};
|
|
3813
3821
|
} catch (error) {
|
|
@@ -3925,10 +3933,17 @@ var StellarIndexerClient = class {
|
|
|
3925
3933
|
logger19.debug(LOG_SYSTEM3, `Admin transfer was completed for ${contractAddress}`);
|
|
3926
3934
|
return null;
|
|
3927
3935
|
}
|
|
3928
|
-
if (!latestInitiation.
|
|
3936
|
+
if (!latestInitiation.previousAdmin) {
|
|
3937
|
+
logger19.warn(
|
|
3938
|
+
LOG_SYSTEM3,
|
|
3939
|
+
`Indexer returned ADMIN_TRANSFER_INITIATED event without previousAdmin field for ${contractAddress}. This indicates incomplete indexer data. Treating as no valid pending transfer.`
|
|
3940
|
+
);
|
|
3941
|
+
return null;
|
|
3942
|
+
}
|
|
3943
|
+
if (!latestInitiation.newAdmin) {
|
|
3929
3944
|
logger19.warn(
|
|
3930
3945
|
LOG_SYSTEM3,
|
|
3931
|
-
`Indexer returned ADMIN_TRANSFER_INITIATED event without
|
|
3946
|
+
`Indexer returned ADMIN_TRANSFER_INITIATED event without newAdmin field for ${contractAddress}. This indicates incomplete indexer data. Treating as no valid pending transfer.`
|
|
3932
3947
|
);
|
|
3933
3948
|
return null;
|
|
3934
3949
|
}
|
|
@@ -3941,14 +3956,14 @@ var StellarIndexerClient = class {
|
|
|
3941
3956
|
}
|
|
3942
3957
|
logger19.info(
|
|
3943
3958
|
LOG_SYSTEM3,
|
|
3944
|
-
`Found pending admin transfer for ${contractAddress}: pending admin=${latestInitiation.
|
|
3959
|
+
`Found pending admin transfer for ${contractAddress}: pending admin=${latestInitiation.newAdmin}, expires at ledger ${latestInitiation.liveUntilLedger}`
|
|
3945
3960
|
);
|
|
3946
3961
|
return {
|
|
3947
|
-
previousAdmin: latestInitiation.
|
|
3948
|
-
pendingAdmin: latestInitiation.
|
|
3962
|
+
previousAdmin: latestInitiation.previousAdmin,
|
|
3963
|
+
pendingAdmin: latestInitiation.newAdmin,
|
|
3949
3964
|
txHash: latestInitiation.txHash,
|
|
3950
3965
|
timestamp: latestInitiation.timestamp,
|
|
3951
|
-
ledger: parseInt(latestInitiation.
|
|
3966
|
+
ledger: parseInt(latestInitiation.blockNumber, 10),
|
|
3952
3967
|
liveUntilLedger: latestInitiation.liveUntilLedger
|
|
3953
3968
|
};
|
|
3954
3969
|
} catch (error) {
|
|
@@ -3972,11 +3987,6 @@ var StellarIndexerClient = class {
|
|
|
3972
3987
|
* Note: The OpenZeppelin Stellar contract emits `ownership_transfer` event
|
|
3973
3988
|
* which is indexed as `OWNERSHIP_TRANSFER_STARTED`.
|
|
3974
3989
|
*
|
|
3975
|
-
* Schema mapping:
|
|
3976
|
-
* - `account`: pending new owner
|
|
3977
|
-
* - `admin`: current owner who initiated the transfer
|
|
3978
|
-
* - `ledger`: block height of the event
|
|
3979
|
-
* - `liveUntilLedger`: expiration ledger for the pending transfer
|
|
3980
3990
|
*/
|
|
3981
3991
|
buildOwnershipTransferStartedQuery() {
|
|
3982
3992
|
return `
|
|
@@ -3984,19 +3994,18 @@ var StellarIndexerClient = class {
|
|
|
3984
3994
|
accessControlEvents(
|
|
3985
3995
|
filter: {
|
|
3986
3996
|
contract: { equalTo: $contract }
|
|
3987
|
-
|
|
3997
|
+
eventType: { equalTo: OWNERSHIP_TRANSFER_STARTED }
|
|
3988
3998
|
}
|
|
3989
3999
|
orderBy: TIMESTAMP_DESC
|
|
3990
4000
|
first: 1
|
|
3991
4001
|
) {
|
|
3992
4002
|
nodes {
|
|
3993
4003
|
id
|
|
3994
|
-
|
|
3995
|
-
|
|
4004
|
+
previousOwner
|
|
4005
|
+
newOwner
|
|
3996
4006
|
txHash
|
|
3997
4007
|
timestamp
|
|
3998
|
-
|
|
3999
|
-
blockHeight
|
|
4008
|
+
blockNumber
|
|
4000
4009
|
liveUntilLedger
|
|
4001
4010
|
}
|
|
4002
4011
|
}
|
|
@@ -4012,7 +4021,7 @@ var StellarIndexerClient = class {
|
|
|
4012
4021
|
accessControlEvents(
|
|
4013
4022
|
filter: {
|
|
4014
4023
|
contract: { equalTo: $contract }
|
|
4015
|
-
|
|
4024
|
+
eventType: { equalTo: OWNERSHIP_TRANSFER_COMPLETED }
|
|
4016
4025
|
timestamp: { greaterThan: $afterTimestamp }
|
|
4017
4026
|
}
|
|
4018
4027
|
orderBy: TIMESTAMP_DESC
|
|
@@ -4032,12 +4041,6 @@ var StellarIndexerClient = class {
|
|
|
4032
4041
|
*
|
|
4033
4042
|
* Note: The OpenZeppelin Stellar contract emits `admin_transfer_initiated` event
|
|
4034
4043
|
* which is indexed as `ADMIN_TRANSFER_INITIATED`.
|
|
4035
|
-
*
|
|
4036
|
-
* Schema mapping:
|
|
4037
|
-
* - `account`: pending new admin
|
|
4038
|
-
* - `admin`: current admin who initiated the transfer
|
|
4039
|
-
* - `ledger`: block height of the event
|
|
4040
|
-
* - `liveUntilLedger`: expiration ledger for the pending transfer
|
|
4041
4044
|
*/
|
|
4042
4045
|
buildAdminTransferInitiatedQuery() {
|
|
4043
4046
|
return `
|
|
@@ -4045,19 +4048,18 @@ var StellarIndexerClient = class {
|
|
|
4045
4048
|
accessControlEvents(
|
|
4046
4049
|
filter: {
|
|
4047
4050
|
contract: { equalTo: $contract }
|
|
4048
|
-
|
|
4051
|
+
eventType: { equalTo: ADMIN_TRANSFER_INITIATED }
|
|
4049
4052
|
}
|
|
4050
4053
|
orderBy: TIMESTAMP_DESC
|
|
4051
4054
|
first: 1
|
|
4052
4055
|
) {
|
|
4053
4056
|
nodes {
|
|
4054
4057
|
id
|
|
4055
|
-
|
|
4056
|
-
|
|
4058
|
+
previousAdmin
|
|
4059
|
+
newAdmin
|
|
4057
4060
|
txHash
|
|
4058
4061
|
timestamp
|
|
4059
|
-
|
|
4060
|
-
blockHeight
|
|
4062
|
+
blockNumber
|
|
4061
4063
|
liveUntilLedger
|
|
4062
4064
|
}
|
|
4063
4065
|
}
|
|
@@ -4073,7 +4075,7 @@ var StellarIndexerClient = class {
|
|
|
4073
4075
|
accessControlEvents(
|
|
4074
4076
|
filter: {
|
|
4075
4077
|
contract: { equalTo: $contract }
|
|
4076
|
-
|
|
4078
|
+
eventType: { equalTo: ADMIN_TRANSFER_COMPLETED }
|
|
4077
4079
|
timestamp: { greaterThan: $afterTimestamp }
|
|
4078
4080
|
}
|
|
4079
4081
|
orderBy: TIMESTAMP_DESC
|
|
@@ -4170,17 +4172,18 @@ var StellarIndexerClient = class {
|
|
|
4170
4172
|
}
|
|
4171
4173
|
/**
|
|
4172
4174
|
* Maps internal changeType to GraphQL EventType enum
|
|
4173
|
-
* GraphQL enum values: ROLE_GRANTED, ROLE_REVOKED, OWNERSHIP_TRANSFER_STARTED,
|
|
4174
|
-
* OWNERSHIP_TRANSFER_COMPLETED, ADMIN_TRANSFER_INITIATED, ADMIN_TRANSFER_COMPLETED
|
|
4175
4175
|
*/
|
|
4176
4176
|
mapChangeTypeToGraphQLEnum(changeType) {
|
|
4177
4177
|
const mapping = {
|
|
4178
4178
|
GRANTED: "ROLE_GRANTED",
|
|
4179
4179
|
REVOKED: "ROLE_REVOKED",
|
|
4180
|
+
ROLE_ADMIN_CHANGED: "ROLE_ADMIN_CHANGED",
|
|
4180
4181
|
OWNERSHIP_TRANSFER_STARTED: "OWNERSHIP_TRANSFER_STARTED",
|
|
4181
4182
|
OWNERSHIP_TRANSFER_COMPLETED: "OWNERSHIP_TRANSFER_COMPLETED",
|
|
4183
|
+
OWNERSHIP_RENOUNCED: "OWNERSHIP_RENOUNCED",
|
|
4182
4184
|
ADMIN_TRANSFER_INITIATED: "ADMIN_TRANSFER_INITIATED",
|
|
4183
4185
|
ADMIN_TRANSFER_COMPLETED: "ADMIN_TRANSFER_COMPLETED",
|
|
4186
|
+
ADMIN_RENOUNCED: "ADMIN_RENOUNCED",
|
|
4184
4187
|
UNKNOWN: "UNKNOWN"
|
|
4185
4188
|
};
|
|
4186
4189
|
return mapping[changeType];
|
|
@@ -4191,7 +4194,7 @@ var StellarIndexerClient = class {
|
|
|
4191
4194
|
buildHistoryQuery(_contractAddress, options) {
|
|
4192
4195
|
const roleFilter = options?.roleId ? ", role: { equalTo: $role }" : "";
|
|
4193
4196
|
const accountFilter = options?.account ? ", account: { equalTo: $account }" : "";
|
|
4194
|
-
const typeFilter = options?.changeType ? `,
|
|
4197
|
+
const typeFilter = options?.changeType ? `, eventType: { equalTo: ${this.mapChangeTypeToGraphQLEnum(options.changeType)} }` : "";
|
|
4195
4198
|
const txFilter = options?.txId ? ", txHash: { equalTo: $txHash }" : "";
|
|
4196
4199
|
const timestampConditions = [];
|
|
4197
4200
|
if (options?.timestampFrom) {
|
|
@@ -4201,7 +4204,7 @@ var StellarIndexerClient = class {
|
|
|
4201
4204
|
timestampConditions.push("lessThanOrEqualTo: $timestampTo");
|
|
4202
4205
|
}
|
|
4203
4206
|
const timestampFilter = timestampConditions.length > 0 ? `, timestamp: { ${timestampConditions.join(", ")} }` : "";
|
|
4204
|
-
const ledgerFilter = options?.ledger ? ",
|
|
4207
|
+
const ledgerFilter = options?.ledger ? ", blockNumber: { equalTo: $blockNumber }" : "";
|
|
4205
4208
|
const limitClause = options?.limit ? ", first: $limit" : "";
|
|
4206
4209
|
const cursorClause = options?.cursor ? ", after: $cursor" : "";
|
|
4207
4210
|
const varDeclarations = [
|
|
@@ -4211,7 +4214,7 @@ var StellarIndexerClient = class {
|
|
|
4211
4214
|
options?.txId ? "$txHash: String" : "",
|
|
4212
4215
|
options?.timestampFrom ? "$timestampFrom: Datetime" : "",
|
|
4213
4216
|
options?.timestampTo ? "$timestampTo: Datetime" : "",
|
|
4214
|
-
options?.ledger ? "$
|
|
4217
|
+
options?.ledger ? "$blockNumber: BigFloat" : "",
|
|
4215
4218
|
options?.limit ? "$limit: Int" : "",
|
|
4216
4219
|
options?.cursor ? "$cursor: Cursor" : ""
|
|
4217
4220
|
].filter(Boolean).join(", ");
|
|
@@ -4227,10 +4230,14 @@ var StellarIndexerClient = class {
|
|
|
4227
4230
|
id
|
|
4228
4231
|
role
|
|
4229
4232
|
account
|
|
4230
|
-
|
|
4233
|
+
eventType
|
|
4231
4234
|
txHash
|
|
4232
4235
|
timestamp
|
|
4233
|
-
|
|
4236
|
+
blockNumber
|
|
4237
|
+
previousOwner
|
|
4238
|
+
newOwner
|
|
4239
|
+
previousAdmin
|
|
4240
|
+
newAdmin
|
|
4234
4241
|
}
|
|
4235
4242
|
pageInfo {
|
|
4236
4243
|
hasNextPage
|
|
@@ -4263,7 +4270,7 @@ var StellarIndexerClient = class {
|
|
|
4263
4270
|
variables.timestampTo = options.timestampTo;
|
|
4264
4271
|
}
|
|
4265
4272
|
if (options?.ledger) {
|
|
4266
|
-
variables.
|
|
4273
|
+
variables.blockNumber = String(options.ledger);
|
|
4267
4274
|
}
|
|
4268
4275
|
if (options?.limit) {
|
|
4269
4276
|
variables.limit = options.limit;
|
|
@@ -4284,7 +4291,7 @@ var StellarIndexerClient = class {
|
|
|
4284
4291
|
accessControlEvents(
|
|
4285
4292
|
filter: {
|
|
4286
4293
|
contract: { equalTo: $contract }
|
|
4287
|
-
|
|
4294
|
+
eventType: { in: [ROLE_GRANTED, ROLE_REVOKED] }
|
|
4288
4295
|
}
|
|
4289
4296
|
) {
|
|
4290
4297
|
nodes {
|
|
@@ -4307,7 +4314,7 @@ var StellarIndexerClient = class {
|
|
|
4307
4314
|
contract: { equalTo: $contract }
|
|
4308
4315
|
role: { equalTo: $role }
|
|
4309
4316
|
account: { in: $accounts }
|
|
4310
|
-
|
|
4317
|
+
eventType: { equalTo: ROLE_GRANTED }
|
|
4311
4318
|
}
|
|
4312
4319
|
orderBy: TIMESTAMP_DESC
|
|
4313
4320
|
) {
|
|
@@ -4315,12 +4322,32 @@ var StellarIndexerClient = class {
|
|
|
4315
4322
|
account
|
|
4316
4323
|
txHash
|
|
4317
4324
|
timestamp
|
|
4318
|
-
|
|
4325
|
+
blockNumber
|
|
4319
4326
|
}
|
|
4320
4327
|
}
|
|
4321
4328
|
}
|
|
4322
4329
|
`;
|
|
4323
4330
|
}
|
|
4331
|
+
/**
|
|
4332
|
+
* Normalize account from indexer entry
|
|
4333
|
+
*
|
|
4334
|
+
* Multi-chain schema uses different fields for different event types:
|
|
4335
|
+
* - Role events: `account` field
|
|
4336
|
+
* - Ownership events: `newOwner` field (pending/new owner)
|
|
4337
|
+
* - Admin events: `newAdmin` field (pending/new admin)
|
|
4338
|
+
*/
|
|
4339
|
+
normalizeAccount(entry) {
|
|
4340
|
+
if (entry.eventType === "ROLE_GRANTED" || entry.eventType === "ROLE_REVOKED" || entry.eventType === "ROLE_ADMIN_CHANGED") {
|
|
4341
|
+
return entry.account || "";
|
|
4342
|
+
}
|
|
4343
|
+
if (entry.eventType === "OWNERSHIP_TRANSFER_STARTED" || entry.eventType === "OWNERSHIP_TRANSFER_COMPLETED" || entry.eventType === "OWNERSHIP_RENOUNCED") {
|
|
4344
|
+
return entry.newOwner || "";
|
|
4345
|
+
}
|
|
4346
|
+
if (entry.eventType === "ADMIN_TRANSFER_INITIATED" || entry.eventType === "ADMIN_TRANSFER_COMPLETED" || entry.eventType === "ADMIN_RENOUNCED") {
|
|
4347
|
+
return entry.newAdmin || "";
|
|
4348
|
+
}
|
|
4349
|
+
return entry.account || "";
|
|
4350
|
+
}
|
|
4324
4351
|
/**
|
|
4325
4352
|
* Transform indexer entries to standard HistoryEntry format
|
|
4326
4353
|
*/
|
|
@@ -4331,39 +4358,48 @@ var StellarIndexerClient = class {
|
|
|
4331
4358
|
// Map ownership events to special role
|
|
4332
4359
|
};
|
|
4333
4360
|
let changeType;
|
|
4334
|
-
switch (entry.
|
|
4361
|
+
switch (entry.eventType) {
|
|
4335
4362
|
case "ROLE_GRANTED":
|
|
4336
4363
|
changeType = "GRANTED";
|
|
4337
4364
|
break;
|
|
4338
4365
|
case "ROLE_REVOKED":
|
|
4339
4366
|
changeType = "REVOKED";
|
|
4340
4367
|
break;
|
|
4368
|
+
case "ROLE_ADMIN_CHANGED":
|
|
4369
|
+
changeType = "ROLE_ADMIN_CHANGED";
|
|
4370
|
+
break;
|
|
4341
4371
|
case "OWNERSHIP_TRANSFER_STARTED":
|
|
4342
4372
|
changeType = "OWNERSHIP_TRANSFER_STARTED";
|
|
4343
4373
|
break;
|
|
4344
4374
|
case "OWNERSHIP_TRANSFER_COMPLETED":
|
|
4345
4375
|
changeType = "OWNERSHIP_TRANSFER_COMPLETED";
|
|
4346
4376
|
break;
|
|
4377
|
+
case "OWNERSHIP_RENOUNCED":
|
|
4378
|
+
changeType = "OWNERSHIP_RENOUNCED";
|
|
4379
|
+
break;
|
|
4347
4380
|
case "ADMIN_TRANSFER_INITIATED":
|
|
4348
4381
|
changeType = "ADMIN_TRANSFER_INITIATED";
|
|
4349
4382
|
break;
|
|
4350
4383
|
case "ADMIN_TRANSFER_COMPLETED":
|
|
4351
4384
|
changeType = "ADMIN_TRANSFER_COMPLETED";
|
|
4352
4385
|
break;
|
|
4386
|
+
case "ADMIN_RENOUNCED":
|
|
4387
|
+
changeType = "ADMIN_RENOUNCED";
|
|
4388
|
+
break;
|
|
4353
4389
|
default:
|
|
4354
4390
|
logger19.warn(
|
|
4355
4391
|
LOG_SYSTEM3,
|
|
4356
|
-
`Unknown event type: ${entry.
|
|
4392
|
+
`Unknown event type: ${entry.eventType}, assigning changeType to UNKNOWN`
|
|
4357
4393
|
);
|
|
4358
4394
|
changeType = "UNKNOWN";
|
|
4359
4395
|
}
|
|
4360
4396
|
return {
|
|
4361
4397
|
role,
|
|
4362
|
-
account: entry
|
|
4398
|
+
account: this.normalizeAccount(entry),
|
|
4363
4399
|
changeType,
|
|
4364
4400
|
txId: entry.txHash,
|
|
4365
4401
|
timestamp: entry.timestamp,
|
|
4366
|
-
ledger: parseInt(entry.
|
|
4402
|
+
ledger: parseInt(entry.blockNumber, 10)
|
|
4367
4403
|
};
|
|
4368
4404
|
});
|
|
4369
4405
|
}
|
|
@@ -5651,6 +5687,24 @@ async function testWithFallbackMethod(rpcConfig, signal, startTime) {
|
|
|
5651
5687
|
}
|
|
5652
5688
|
|
|
5653
5689
|
// src/configuration/network-services.ts
|
|
5690
|
+
function getStellarDefaultServiceConfig(networkConfig, serviceId) {
|
|
5691
|
+
switch (serviceId) {
|
|
5692
|
+
case "rpc":
|
|
5693
|
+
if (networkConfig.sorobanRpcUrl) {
|
|
5694
|
+
return { sorobanRpcUrl: networkConfig.sorobanRpcUrl };
|
|
5695
|
+
}
|
|
5696
|
+
break;
|
|
5697
|
+
case "indexer":
|
|
5698
|
+
if (networkConfig.indexerUri && networkConfig.indexerWsUri) {
|
|
5699
|
+
return {
|
|
5700
|
+
indexerUri: networkConfig.indexerUri,
|
|
5701
|
+
indexerWsUri: networkConfig.indexerWsUri
|
|
5702
|
+
};
|
|
5703
|
+
}
|
|
5704
|
+
break;
|
|
5705
|
+
}
|
|
5706
|
+
return null;
|
|
5707
|
+
}
|
|
5654
5708
|
function getStellarNetworkServiceForms(exclude = []) {
|
|
5655
5709
|
const forms = [
|
|
5656
5710
|
{
|
|
@@ -8019,6 +8073,12 @@ var StellarAdapter = class {
|
|
|
8019
8073
|
async testNetworkServiceConnection(serviceId, values) {
|
|
8020
8074
|
return testStellarNetworkServiceConnection(serviceId, values);
|
|
8021
8075
|
}
|
|
8076
|
+
/**
|
|
8077
|
+
* @inheritdoc
|
|
8078
|
+
*/
|
|
8079
|
+
getDefaultServiceConfig(serviceId) {
|
|
8080
|
+
return getStellarDefaultServiceConfig(this.networkConfig, serviceId);
|
|
8081
|
+
}
|
|
8022
8082
|
/**
|
|
8023
8083
|
* NOTE about artifact inputs (single input with auto-detection):
|
|
8024
8084
|
*
|
|
@@ -8461,8 +8521,8 @@ var stellarAdapterConfig = {
|
|
|
8461
8521
|
"lossless-json": "^4.0.2",
|
|
8462
8522
|
// Wallet connection and integration
|
|
8463
8523
|
"@creit.tech/stellar-wallets-kit": "^1.9.5",
|
|
8464
|
-
// OpenZeppelin Relayer integration
|
|
8465
|
-
"@openzeppelin/relayer-sdk": "1.
|
|
8524
|
+
// OpenZeppelin Relayer integration for gasless transactions
|
|
8525
|
+
"@openzeppelin/relayer-sdk": "1.9.0",
|
|
8466
8526
|
// React integration for wallet components
|
|
8467
8527
|
react: "^19.0.0",
|
|
8468
8528
|
"react-dom": "^19.0.0"
|