From 8b708affdbd725a7b07dc3e9bfe85c34202730f2 Mon Sep 17 00:00:00 2001 From: marc2332 Date: Thu, 4 Dec 2025 12:14:26 +0100 Subject: [PATCH 1/2] chore(ts-sdk): Deprecate `AddressTransactionBlockRelationship.Sign` --- .../src/generated/queries.ts | 31 ++++++++++++++----- .../graphql/generated/2025.2/schema.graphql | 31 ++++++++++++++----- .../graphql/generated/2025.2/tada-env.d.ts | 4 +-- 3 files changed, 50 insertions(+), 16 deletions(-) diff --git a/sdk/graphql-transport/src/generated/queries.ts b/sdk/graphql-transport/src/generated/queries.ts index 07ce83fcd40..cd5c1bbd92e 100644 --- a/sdk/graphql-transport/src/generated/queries.ts +++ b/sdk/graphql-transport/src/generated/queries.ts @@ -199,7 +199,7 @@ export type Address = IOwner & { /** * Similar behavior to the `transactionBlocks` in Query but supporting the * additional `AddressTransactionBlockRelationship` filter, which - * defaults to `SIGN`. + * defaults to `SENT`. * * `scanLimit` restricts the number of candidate transactions scanned when * gathering a page of results. It is required for queries that apply @@ -353,14 +353,21 @@ export type AddressOwner = { owner?: Maybe; }; -/** - * The possible relationship types for a transaction block: sign, sent, - * received, or paid. - */ +/** The possible relationship types for a transaction block: sent or received. */ export enum AddressTransactionBlockRelationship { /** Transactions that sent objects to this address. */ Recv = 'RECV', - /** Transactions this address has signed either as a sender or as a sponsor. */ + /** Transactions this address has sent. */ + Sent = 'SENT', + /** + * Transactions this address has sent. NOTE: this input filter has been + * deprecated in favor of `SENT` which behaves identically but is named + * more clearly. Both filters restrict transactions by their sender, + * only, not signers in general. + * + * This filter will be removed after 6 months with the 1.24.0 release. + * @deprecated Misleading semantics. Use `SENT` instead. This will be removed with the 1.24.0 release. + */ Sign = 'SIGN' } @@ -5455,7 +5462,17 @@ export type TransactionBlockFilter = { kind?: InputMaybe; /** Limit to transactions that sent an object to the given address. */ recvAddress?: InputMaybe; - /** Limit to transactions that were signed by the given address. */ + /** Limit to transactions that were sent by the given address. */ + sentAddress?: InputMaybe; + /** + * Limit to transactions that were sent by the given address. NOTE: this + * input filter has been deprecated in favor of `sentAddress` which has + * clearer semantics. Both filters restrict transactions by their sender, + * only, not signers in general. + * + * This filter will be removed after 6 months with the 1.24.0 release. + * @deprecated Misleading semantics. Use `sentAddress` instead. This will be removed with the 1.24.0 release. + */ signAddress?: InputMaybe; /** Select transactions by their digest. */ transactionIds?: InputMaybe>; diff --git a/sdk/typescript/src/graphql/generated/2025.2/schema.graphql b/sdk/typescript/src/graphql/generated/2025.2/schema.graphql index f221141ed4b..23db1bdb5f2 100644 --- a/sdk/typescript/src/graphql/generated/2025.2/schema.graphql +++ b/sdk/typescript/src/graphql/generated/2025.2/schema.graphql @@ -102,7 +102,7 @@ type Address implements IOwner { """ Similar behavior to the `transactionBlocks` in Query but supporting the additional `AddressTransactionBlockRelationship` filter, which - defaults to `SIGN`. + defaults to `SENT`. `scanLimit` restricts the number of candidate transactions scanned when gathering a page of results. It is required for queries that apply @@ -171,14 +171,22 @@ type AddressOwner { } """ -The possible relationship types for a transaction block: sign, sent, -received, or paid. +The possible relationship types for a transaction block: sent or received. """ enum AddressTransactionBlockRelationship { """ - Transactions this address has signed either as a sender or as a sponsor. + Transactions this address has sent. NOTE: this input filter has been + deprecated in favor of `SENT` which behaves identically but is named + more clearly. Both filters restrict transactions by their sender, + only, not signers in general. + + This filter will be removed after 6 months with the 1.24.0 release. + """ + SIGN @deprecated(reason: "Misleading semantics. Use `SENT` instead. This will be removed with the 1.24.0 release.") + """ + Transactions this address has sent. """ - SIGN + SENT """ Transactions that sent objects to this address. """ @@ -4570,9 +4578,18 @@ input TransactionBlockFilter { """ beforeCheckpoint: UInt53 """ - Limit to transactions that were signed by the given address. + Limit to transactions that were sent by the given address. NOTE: this + input filter has been deprecated in favor of `sentAddress` which has + clearer semantics. Both filters restrict transactions by their sender, + only, not signers in general. + + This filter will be removed after 6 months with the 1.24.0 release. + """ + signAddress: IotaAddress @deprecated(reason: "Misleading semantics. Use `sentAddress` instead. This will be removed with the 1.24.0 release.") + """ + Limit to transactions that were sent by the given address. """ - signAddress: IotaAddress + sentAddress: IotaAddress """ Limit to transactions that sent an object to the given address. """ diff --git a/sdk/typescript/src/graphql/generated/2025.2/tada-env.d.ts b/sdk/typescript/src/graphql/generated/2025.2/tada-env.d.ts index 6575021ad37..6dd34476e80 100644 --- a/sdk/typescript/src/graphql/generated/2025.2/tada-env.d.ts +++ b/sdk/typescript/src/graphql/generated/2025.2/tada-env.d.ts @@ -9,7 +9,7 @@ export type introspection_types = { 'AddressConnection': { kind: 'OBJECT'; name: 'AddressConnection'; fields: { 'edges': { name: 'edges'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'AddressEdge'; ofType: null; }; }; }; } }; 'nodes': { name: 'nodes'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Address'; ofType: null; }; }; }; } }; 'pageInfo': { name: 'pageInfo'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PageInfo'; ofType: null; }; } }; }; }; 'AddressEdge': { kind: 'OBJECT'; name: 'AddressEdge'; fields: { 'cursor': { name: 'cursor'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'node': { name: 'node'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Address'; ofType: null; }; } }; }; }; 'AddressOwner': { kind: 'OBJECT'; name: 'AddressOwner'; fields: { 'owner': { name: 'owner'; type: { kind: 'OBJECT'; name: 'Owner'; ofType: null; } }; }; }; - 'AddressTransactionBlockRelationship': { name: 'AddressTransactionBlockRelationship'; enumValues: 'SIGN' | 'RECV'; }; + 'AddressTransactionBlockRelationship': { name: 'AddressTransactionBlockRelationship'; enumValues: 'SIGN' | 'SENT' | 'RECV'; }; 'AuthenticatorStateCreateTransaction': { kind: 'OBJECT'; name: 'AuthenticatorStateCreateTransaction'; fields: { '_': { name: '_'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; } }; }; }; 'AuthenticatorStateExpireTransaction': { kind: 'OBJECT'; name: 'AuthenticatorStateExpireTransaction'; fields: { 'authenticatorObjInitialSharedVersion': { name: 'authenticatorObjInitialSharedVersion'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; } }; 'minEpoch': { name: 'minEpoch'; type: { kind: 'OBJECT'; name: 'Epoch'; ofType: null; } }; }; }; 'AuthenticatorStateUpdateTransaction': { kind: 'OBJECT'; name: 'AuthenticatorStateUpdateTransaction'; fields: { 'authenticatorObjInitialSharedVersion': { name: 'authenticatorObjInitialSharedVersion'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; } }; 'epoch': { name: 'epoch'; type: { kind: 'OBJECT'; name: 'Epoch'; ofType: null; } }; 'newActiveJwks': { name: 'newActiveJwks'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ActiveJwkConnection'; ofType: null; }; } }; 'round': { name: 'round'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; } }; }; }; @@ -167,7 +167,7 @@ export type introspection_types = { 'TransactionBlockConnection': { kind: 'OBJECT'; name: 'TransactionBlockConnection'; fields: { 'edges': { name: 'edges'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TransactionBlockEdge'; ofType: null; }; }; }; } }; 'nodes': { name: 'nodes'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TransactionBlock'; ofType: null; }; }; }; } }; 'pageInfo': { name: 'pageInfo'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PageInfo'; ofType: null; }; } }; }; }; 'TransactionBlockEdge': { kind: 'OBJECT'; name: 'TransactionBlockEdge'; fields: { 'cursor': { name: 'cursor'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'node': { name: 'node'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TransactionBlock'; ofType: null; }; } }; }; }; 'TransactionBlockEffects': { kind: 'OBJECT'; name: 'TransactionBlockEffects'; fields: { 'balanceChanges': { name: 'balanceChanges'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'BalanceChangeConnection'; ofType: null; }; } }; 'bcs': { name: 'bcs'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Base64'; ofType: null; }; } }; 'checkpoint': { name: 'checkpoint'; type: { kind: 'OBJECT'; name: 'Checkpoint'; ofType: null; } }; 'dependencies': { name: 'dependencies'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'DependencyConnection'; ofType: null; }; } }; 'epoch': { name: 'epoch'; type: { kind: 'OBJECT'; name: 'Epoch'; ofType: null; } }; 'errors': { name: 'errors'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; } }; 'events': { name: 'events'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'EventConnection'; ofType: null; }; } }; 'gasEffects': { name: 'gasEffects'; type: { kind: 'OBJECT'; name: 'GasEffects'; ofType: null; } }; 'lamportVersion': { name: 'lamportVersion'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; } }; 'objectChanges': { name: 'objectChanges'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ObjectChangeConnection'; ofType: null; }; } }; 'status': { name: 'status'; type: { kind: 'ENUM'; name: 'ExecutionStatus'; ofType: null; } }; 'timestamp': { name: 'timestamp'; type: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; } }; 'transactionBlock': { name: 'transactionBlock'; type: { kind: 'OBJECT'; name: 'TransactionBlock'; ofType: null; } }; 'unchangedSharedObjects': { name: 'unchangedSharedObjects'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'UnchangedSharedObjectConnection'; ofType: null; }; } }; }; }; - 'TransactionBlockFilter': { kind: 'INPUT_OBJECT'; name: 'TransactionBlockFilter'; isOneOf: false; inputFields: [{ name: 'function'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'kind'; type: { kind: 'ENUM'; name: 'TransactionBlockKindInput'; ofType: null; }; defaultValue: null }, { name: 'afterCheckpoint'; type: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; defaultValue: null }, { name: 'atCheckpoint'; type: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; defaultValue: null }, { name: 'beforeCheckpoint'; type: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; defaultValue: null }, { name: 'signAddress'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'recvAddress'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'inputObject'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'changedObject'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'wrappedOrDeletedObject'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'transactionIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; }; defaultValue: null }]; }; + 'TransactionBlockFilter': { kind: 'INPUT_OBJECT'; name: 'TransactionBlockFilter'; isOneOf: false; inputFields: [{ name: 'function'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'kind'; type: { kind: 'ENUM'; name: 'TransactionBlockKindInput'; ofType: null; }; defaultValue: null }, { name: 'afterCheckpoint'; type: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; defaultValue: null }, { name: 'atCheckpoint'; type: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; defaultValue: null }, { name: 'beforeCheckpoint'; type: { kind: 'SCALAR'; name: 'UInt53'; ofType: null; }; defaultValue: null }, { name: 'signAddress'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'sentAddress'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'recvAddress'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'inputObject'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'changedObject'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'wrappedOrDeletedObject'; type: { kind: 'SCALAR'; name: 'IotaAddress'; ofType: null; }; defaultValue: null }, { name: 'transactionIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; }; defaultValue: null }]; }; 'TransactionBlockKind': { kind: 'UNION'; name: 'TransactionBlockKind'; fields: {}; possibleTypes: 'AuthenticatorStateUpdateTransaction' | 'ConsensusCommitPrologueTransaction' | 'EndOfEpochTransaction' | 'GenesisTransaction' | 'ProgrammableTransactionBlock' | 'RandomnessStateUpdateTransaction'; }; 'TransactionBlockKindInput': { name: 'TransactionBlockKindInput'; enumValues: 'SYSTEM_TX' | 'PROGRAMMABLE_TX' | 'GENESIS' | 'CONSENSUS_COMMIT_PROLOGUE_V1' | 'AUTHENTICATOR_STATE_UPDATE_V1' | 'RANDOMNESS_STATE_UPDATE' | 'END_OF_EPOCH_TX'; }; 'TransactionInput': { kind: 'UNION'; name: 'TransactionInput'; fields: {}; possibleTypes: 'OwnedOrImmutable' | 'Pure' | 'Receiving' | 'SharedInput'; }; From 2f395719a0587c1cf592837e7f977c1eaa82bd69 Mon Sep 17 00:00:00 2001 From: marc2332 Date: Thu, 4 Dec 2025 12:15:43 +0100 Subject: [PATCH 2/2] changeset --- .changeset/gorgeous-berries-juggle.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/gorgeous-berries-juggle.md diff --git a/.changeset/gorgeous-berries-juggle.md b/.changeset/gorgeous-berries-juggle.md new file mode 100644 index 00000000000..5ec4df040e6 --- /dev/null +++ b/.changeset/gorgeous-berries-juggle.md @@ -0,0 +1,6 @@ +--- +'@iota/graphql-transport': minor +'@iota/iota-sdk': minor +--- + +Deprecate `AddressTransactionBlockRelationship.Sign`