Part of #246
Context
queryTransferPolicy in sdk/kiosk/src/query/transfer-policy.ts discovers TransferPolicy objects via queryEvents({ MoveEventType: TransferPolicyCreated<T> }). After the v1.27 retention cut, policies created more than 30 days ago are no longer discoverable through events, so kiosk item transfers that depend on resolving the policy can fail.
This is consumed through @iota/kiosk KioskClient by the wallet extension and iota-names (and available to the dashboard), so it is the one true functional regression from pruning.
Per the Indexer doc, the fix is to resolve the TransferPolicy object by type instead of via the event: https://iotafoundation.atlassian.net/wiki/spaces/LSC/pages/3073572866
Tasks
Verification
Part of #246
Context
queryTransferPolicyinsdk/kiosk/src/query/transfer-policy.tsdiscovers TransferPolicy objects viaqueryEvents({ MoveEventType: TransferPolicyCreated<T> }). After the v1.27 retention cut, policies created more than 30 days ago are no longer discoverable through events, so kiosk item transfers that depend on resolving the policy can fail.This is consumed through
@iota/kioskKioskClientby the wallet extension and iota-names (and available to the dashboard), so it is the one true functional regression from pruning.Per the Indexer doc, the fix is to resolve the TransferPolicy object by type instead of via the event: https://iotafoundation.atlassian.net/wiki/spaces/LSC/pages/3073572866
Tasks
queryTransferPolicyto resolve theTransferPolicy<T>object by type (GraphQL / object-by-type lookup) rather than theTransferPolicyCreated<T>event. Keep the existing return shape (id, type, owner, rules, balance).KioskClient.getTransferPoliciesand any otherqueryTransferPolicycallers still behave correctly.@iota/kiosk, update consumers (wallet, names) to the new version.Verification
@iota/kioskand consuming apps.