@ledgerhq/coin-tezos 10.0.0 → 10.2.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/CHANGELOG.md +41 -0
- package/jest.config.js +1 -13
- package/lib/api/index.d.ts +36 -2
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +11 -14
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -16
- package/lib/api/types.d.ts.map +1 -1
- package/lib/logic/validateIntent.d.ts.map +1 -1
- package/lib/logic/validateIntent.js +38 -3
- package/lib/logic/validateIntent.js.map +1 -1
- package/lib-es/api/index.d.ts +36 -2
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +12 -15
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/api/types.d.ts +5 -16
- package/lib-es/api/types.d.ts.map +1 -1
- package/lib-es/logic/validateIntent.d.ts.map +1 -1
- package/lib-es/logic/validateIntent.js +38 -3
- package/lib-es/logic/validateIntent.js.map +1 -1
- package/package.json +2 -3
- package/src/api/index-mainnet.integ.test.ts +1 -2
- package/src/api/index.integ.test.ts +1 -2
- package/src/api/index.test.ts +7 -5
- package/src/api/index.ts +20 -28
- package/src/api/types.ts +5 -17
- package/src/logic/getBalance.test.ts +118 -140
- package/src/logic/validateIntent.test.ts +281 -0
- package/src/logic/validateIntent.ts +40 -3
- package/src/network/bakers.integ.test.ts +4 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AAE9E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1D,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateIntent.d.ts","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,WAAW,CAAA;AAG9D,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"validateIntent.d.ts","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,WAAW,CAAA;AAG9D,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2CAA2C,CAAA;AAkVlD,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAuGhC"}
|
|
@@ -170,6 +170,11 @@ function calculateAmounts(intent, senderInfo, estimatedFees, estimatedAmount, to
|
|
|
170
170
|
const { spendable } = partitionNativeBalance(BigInt(senderInfo.balance), BigInt(senderInfo.stakedBalance ?? 0), BigInt(senderInfo.unstakedBalance ?? 0));
|
|
171
171
|
return calculateNativeSendMaxAmountForUser(spendable, estimatedFees, estimatedAmount);
|
|
172
172
|
}
|
|
173
|
+
// FA1.2/FA2 fixed-amount send: `intent.amount` is in token base units; fees are in XTZ mutez.
|
|
174
|
+
// Never add the token amount to the native coverage check — the units are incompatible.
|
|
175
|
+
if (intent.type === 'send' && parseTezosTokenAsset(intent.asset) !== null) {
|
|
176
|
+
return { amount: intent.amount, totalSpent: estimatedFees };
|
|
177
|
+
}
|
|
173
178
|
const amount = intent.amount;
|
|
174
179
|
return { amount, totalSpent: amount + estimatedFees };
|
|
175
180
|
}
|
|
@@ -222,8 +227,8 @@ async function estimateFeesForIntent(context, intent, senderInfo) {
|
|
|
222
227
|
errors,
|
|
223
228
|
};
|
|
224
229
|
}
|
|
225
|
-
async function
|
|
226
|
-
if (intent.type !== 'send'
|
|
230
|
+
async function fetchTokenBalance(config, intent) {
|
|
231
|
+
if (intent.type !== 'send') {
|
|
227
232
|
return undefined;
|
|
228
233
|
}
|
|
229
234
|
const tezosMode = resolveTezosOperationMode(intent.type, intent.asset);
|
|
@@ -277,7 +282,27 @@ export async function validateIntent(context, intent) {
|
|
|
277
282
|
estimatedFees = feeResult.estimatedFees;
|
|
278
283
|
estimatedAmount = feeResult.estimatedAmount;
|
|
279
284
|
Object.assign(errors, feeResult.errors);
|
|
280
|
-
|
|
285
|
+
// Skip the TzKT call only for fixed-amount sends where errors.amount is already set — the token
|
|
286
|
+
// balance would only be used for coverage, which is also gated on !errors.amount.
|
|
287
|
+
// For send-max we always fetch: calculateAmounts uses tokenBalanceForSendMax as the sent amount,
|
|
288
|
+
// so skipping would cause it to fall back to the native XTZ path and return a wrong unit.
|
|
289
|
+
// The TzKT call is isolated in its own try-catch so that a network failure here does not reach
|
|
290
|
+
// the outer handler (which would wipe the already-computed estimatedFees and add a spurious
|
|
291
|
+
// errors.estimation on top of the real fee-estimation error).
|
|
292
|
+
let tokenBalance;
|
|
293
|
+
if (errors.amount && !intent.useAllAmount) {
|
|
294
|
+
tokenBalance = undefined;
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
try {
|
|
298
|
+
tokenBalance = await fetchTokenBalance(config, intent);
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
tokenBalance = undefined; // TzKT unreachable: fall back gracefully, no token coverage check
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// send-max uses the full token balance as the sent amount; fixed-amount only needs it for coverage
|
|
305
|
+
const tokenBalanceForSendMax = intent.useAllAmount ? tokenBalance : undefined;
|
|
281
306
|
const amounts = calculateAmounts(intent, senderInfo, estimatedFees, estimatedAmount, tokenBalanceForSendMax);
|
|
282
307
|
amount = amounts.amount;
|
|
283
308
|
totalSpent = amounts.totalSpent;
|
|
@@ -287,6 +312,16 @@ export async function validateIntent(context, intent) {
|
|
|
287
312
|
const { spendable } = partitionNativeBalance(BigInt(senderInfo.balance), BigInt(senderInfo.stakedBalance ?? 0), BigInt(senderInfo.unstakedBalance ?? 0));
|
|
288
313
|
const balanceErrors = validateBalanceCoverage(spendable, totalSpent);
|
|
289
314
|
Object.assign(errors, balanceErrors);
|
|
315
|
+
// Token balance coverage for fixed-amount token sends.
|
|
316
|
+
// (send-max is always valid by construction: amount is set to tokenBalance above.)
|
|
317
|
+
if (!errors.amount &&
|
|
318
|
+
intent.type === 'send' &&
|
|
319
|
+
!intent.useAllAmount &&
|
|
320
|
+
tokenBalance !== undefined) {
|
|
321
|
+
if (amount > tokenBalance) {
|
|
322
|
+
errors.amount = new NotEnoughBalance();
|
|
323
|
+
}
|
|
324
|
+
}
|
|
290
325
|
}
|
|
291
326
|
catch (e) {
|
|
292
327
|
errors.estimation = e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateIntent.js","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validateIntent.js","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-tezos",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.2.0",
|
|
4
4
|
"description": "Tezos Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@taquito/rpc": "^23.0.0-RC.0",
|
|
62
62
|
"@taquito/taquito": "^23.0.0-RC.0",
|
|
63
63
|
"@taquito/utils": "^23.0.0-RC.0",
|
|
64
|
-
"@ledgerhq/coin-module-framework": "^8.
|
|
64
|
+
"@ledgerhq/coin-module-framework": "^8.2.0"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"@ledgerhq/live-network": "^3.0.0",
|
|
@@ -76,7 +76,6 @@
|
|
|
76
76
|
"@types/node": "^24.0.0",
|
|
77
77
|
"bn.js": "^5.1.0",
|
|
78
78
|
"jest": "30.2.0",
|
|
79
|
-
"msw": "2.7.3",
|
|
80
79
|
"oxfmt": "0.36.0",
|
|
81
80
|
"oxlint": "1.51.0",
|
|
82
81
|
"typescript": "6.0.2"
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import type { TezosCoinConfig, TezosConfig, TezosContext } from '../config'
|
|
5
|
-
import type { TezosApi } from './types'
|
|
6
5
|
import { localForger } from '@taquito/local-forging'
|
|
7
6
|
import { OpKind } from '@taquito/rpc'
|
|
8
7
|
import { createTzktApi } from '../network/tzkt'
|
|
@@ -55,7 +54,7 @@ type DecodedOperation = {
|
|
|
55
54
|
* Use this test suite in last resort
|
|
56
55
|
*/
|
|
57
56
|
describe('Tezos Api - Mainnet', () => {
|
|
58
|
-
const module
|
|
57
|
+
const module = createApi()
|
|
59
58
|
const context: TezosContext = {
|
|
60
59
|
config: async () => defaultConfig as TezosCoinConfig,
|
|
61
60
|
logger: () => undefined,
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import type { TezosCoinConfig, TezosConfig, TezosContext } from '../config'
|
|
5
|
-
import type { TezosApi } from './types'
|
|
6
5
|
import type { SendTransactionIntent } from '@ledgerhq/coin-module-framework/api/types'
|
|
7
6
|
import { localForger } from '@taquito/local-forging'
|
|
8
7
|
import { createApi } from '.'
|
|
@@ -26,7 +25,7 @@ const defaultConfig: TezosConfig = {
|
|
|
26
25
|
* https://api.shadownet.tzkt.io
|
|
27
26
|
*/
|
|
28
27
|
describe('Tezos Api', () => {
|
|
29
|
-
const module
|
|
28
|
+
const module = createApi()
|
|
30
29
|
const context: TezosContext = {
|
|
31
30
|
config: async () => defaultConfig as TezosCoinConfig,
|
|
32
31
|
logger: () => undefined,
|
package/src/api/index.test.ts
CHANGED
|
@@ -995,6 +995,8 @@ describe('getBalance', () => {
|
|
|
995
995
|
})
|
|
996
996
|
|
|
997
997
|
describe('getAccountInfo', () => {
|
|
998
|
+
// `getAccountInfo` is optional on the generic CoinModuleApi (ADR-045 / LIVE-33431); coin-tezos
|
|
999
|
+
// always implements it, so the non-null assertions below are safe.
|
|
998
1000
|
afterEach(() => {
|
|
999
1001
|
mockGetAccountByAddress.mockClear()
|
|
1000
1002
|
})
|
|
@@ -1013,7 +1015,7 @@ describe('getAccountInfo', () => {
|
|
|
1013
1015
|
firstActivityTime: '2021-01-01T00:00:00Z',
|
|
1014
1016
|
} as APIAccount)
|
|
1015
1017
|
|
|
1016
|
-
await expect(api.getAccountInfo(context, 'tz1test')).resolves.toEqual({
|
|
1018
|
+
await expect(api.getAccountInfo!(context, 'tz1test')).resolves.toEqual({
|
|
1017
1019
|
type: 'tezos',
|
|
1018
1020
|
revealed: true,
|
|
1019
1021
|
})
|
|
@@ -1034,7 +1036,7 @@ describe('getAccountInfo', () => {
|
|
|
1034
1036
|
firstActivityTime: '2021-01-01T00:00:00Z',
|
|
1035
1037
|
} as APIAccount)
|
|
1036
1038
|
|
|
1037
|
-
await expect(api.getAccountInfo(context, 'tz2unrevealed')).resolves.toEqual({
|
|
1039
|
+
await expect(api.getAccountInfo!(context, 'tz2unrevealed')).resolves.toEqual({
|
|
1038
1040
|
type: 'tezos',
|
|
1039
1041
|
revealed: false,
|
|
1040
1042
|
})
|
|
@@ -1054,7 +1056,7 @@ describe('getAccountInfo', () => {
|
|
|
1054
1056
|
} as APIAccount)
|
|
1055
1057
|
|
|
1056
1058
|
await expect(
|
|
1057
|
-
api.getAccountInfo(context, 'tz3RDC3Jdn4j15J7bBHZd29EUee9gVB1CxD9')
|
|
1059
|
+
api.getAccountInfo!(context, 'tz3RDC3Jdn4j15J7bBHZd29EUee9gVB1CxD9')
|
|
1058
1060
|
).resolves.toEqual({
|
|
1059
1061
|
type: 'tezos',
|
|
1060
1062
|
revealed: true,
|
|
@@ -1069,7 +1071,7 @@ describe('getAccountInfo', () => {
|
|
|
1069
1071
|
counter: 0,
|
|
1070
1072
|
} as APIAccount)
|
|
1071
1073
|
|
|
1072
|
-
await expect(api.getAccountInfo(context, 'tz1empty')).resolves.toEqual({
|
|
1074
|
+
await expect(api.getAccountInfo!(context, 'tz1empty')).resolves.toEqual({
|
|
1073
1075
|
type: 'tezos',
|
|
1074
1076
|
revealed: false,
|
|
1075
1077
|
})
|
|
@@ -1079,6 +1081,6 @@ describe('getAccountInfo', () => {
|
|
|
1079
1081
|
it('propagates errors from getAccountByAddress', async () => {
|
|
1080
1082
|
mockGetAccountByAddress.mockRejectedValueOnce(new Error('boom'))
|
|
1081
1083
|
|
|
1082
|
-
await expect(api.getAccountInfo(context, 'tz1boom')).rejects.toThrow('boom')
|
|
1084
|
+
await expect(api.getAccountInfo!(context, 'tz1boom')).rejects.toThrow('boom')
|
|
1083
1085
|
})
|
|
1084
1086
|
})
|
package/src/api/index.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
// SPDX-FileCopyrightText: © 2026 LEDGER SAS
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type { TezosContext } from '../config'
|
|
4
|
+
import type { TezosCoinConfig, TezosContext } from '../config'
|
|
5
5
|
import type { CoreAccountInfo, CoreTransactionInfo, EstimatedFees } from '../logic/estimateFees'
|
|
6
6
|
import type { TezosOperationMode } from '../types/model'
|
|
7
|
-
import type { TezosAccountInfo,
|
|
7
|
+
import type { TezosAccountInfo, TezosFeeEstimation } from './types'
|
|
8
8
|
import type {
|
|
9
|
+
CoinModuleImpl,
|
|
9
10
|
CraftedTransaction,
|
|
10
|
-
Cursor,
|
|
11
11
|
ListOperationsOptions,
|
|
12
12
|
Page,
|
|
13
|
-
Reward,
|
|
14
|
-
Validator,
|
|
15
13
|
} from '@ledgerhq/coin-module-framework/api/index'
|
|
16
14
|
import type {
|
|
17
15
|
BalanceOptions,
|
|
@@ -19,11 +17,7 @@ import type {
|
|
|
19
17
|
TransactionIntent,
|
|
20
18
|
} from '@ledgerhq/coin-module-framework/api/types'
|
|
21
19
|
import { rejectBalanceOptions } from '@ledgerhq/coin-module-framework/api/getBalance/rejectBalanceOptions'
|
|
22
|
-
import {
|
|
23
|
-
IncorrectTypeError,
|
|
24
|
-
notSupported,
|
|
25
|
-
type Operation,
|
|
26
|
-
} from '@ledgerhq/coin-module-framework/api/index'
|
|
20
|
+
import { IncorrectTypeError, type Operation } from '@ledgerhq/coin-module-framework/api/index'
|
|
27
21
|
import { craftTransactionData } from '@ledgerhq/coin-module-framework/logic/craftTransactionData'
|
|
28
22
|
import { log } from '@ledgerhq/logs'
|
|
29
23
|
import { getRevealFee } from '@taquito/taquito'
|
|
@@ -56,14 +50,18 @@ import {
|
|
|
56
50
|
} from '../utils'
|
|
57
51
|
|
|
58
52
|
// The caller builds the {@link TezosContext} (config + logger) and passes it to each method (ADR-019).
|
|
59
|
-
|
|
53
|
+
// Checked against CoinModuleImpl with `satisfies` rather than annotated as it, so the precise shape
|
|
54
|
+
// survives and a caller sees exactly which methods exist.
|
|
55
|
+
//
|
|
56
|
+
// Omitted rather than stubbed: `call`, `register`, `getRewards` and `getValidators`. Staking is
|
|
57
|
+
// partial rather than absent — `getStakes` is implemented, while Tezos exposes no reward-event
|
|
58
|
+
// series and no enumerable validator set here. The consumer resolver applies `withDefaults`, which
|
|
59
|
+
// answers "not supported" for each.
|
|
60
|
+
export function createApi() {
|
|
60
61
|
return {
|
|
61
|
-
broadcast: (context, tx) => broadcast(context, tx),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
},
|
|
65
|
-
combine: (_context, tx, signature) => combine(tx, signature),
|
|
66
|
-
craftTransaction: (context, transactionIntent, options) =>
|
|
62
|
+
broadcast: (context, tx, _options?) => broadcast(context, tx),
|
|
63
|
+
combine: (_context, tx, signature, _options?) => combine(tx, signature),
|
|
64
|
+
craftTransaction: (context, transactionIntent, options?) =>
|
|
67
65
|
craft(context, transactionIntent, options?.customFees),
|
|
68
66
|
craftRawTransaction: async (
|
|
69
67
|
context,
|
|
@@ -75,13 +73,14 @@ export function createApi(): TezosApi {
|
|
|
75
73
|
const tx = await craftRawOperations(context, transaction, sender, publicKey, sequence)
|
|
76
74
|
return { transaction: tx }
|
|
77
75
|
},
|
|
78
|
-
estimateFees: (context, transactionIntent) => estimate(context, transactionIntent),
|
|
76
|
+
estimateFees: (context, transactionIntent, _options?) => estimate(context, transactionIntent),
|
|
79
77
|
getBalance: (context, address: string, options?: BalanceOptions) =>
|
|
80
78
|
rejectBalanceOptions(() => getBalance(context, address), options),
|
|
81
79
|
lastBlock: (context) => lastBlock(context),
|
|
82
80
|
listOperations: (context, address, options) => operations(context, address, options),
|
|
83
|
-
getStakes: (context, address, options) => getStakes(context, address, options?.cursor),
|
|
84
|
-
validateIntent: (context, transactionIntent
|
|
81
|
+
getStakes: (context, address, options?) => getStakes(context, address, options?.cursor),
|
|
82
|
+
validateIntent: (context, transactionIntent, _balances, _options?) =>
|
|
83
|
+
validateIntent(context, transactionIntent),
|
|
85
84
|
getNextSequence: async (context, address: string) => {
|
|
86
85
|
const config = await context.config()
|
|
87
86
|
const accountInfo = await createTzktApi(config).getAccountByAddress(address)
|
|
@@ -97,16 +96,9 @@ export function createApi(): TezosApi {
|
|
|
97
96
|
},
|
|
98
97
|
getBlock: (context, height) => getBlock(context, height),
|
|
99
98
|
getBlockInfo: (context, height) => getBlockInfo(context, height),
|
|
100
|
-
getRewards(_context, _address: string, _options?: { cursor?: Cursor }): Promise<Page<Reward>> {
|
|
101
|
-
throw new Error('getRewards is not supported')
|
|
102
|
-
},
|
|
103
|
-
register: notSupported('register'),
|
|
104
|
-
getValidators(_context, _options?: { cursor?: Cursor }): Promise<Page<Validator>> {
|
|
105
|
-
throw new Error('getValidators is not supported')
|
|
106
|
-
},
|
|
107
99
|
validateAddress: (_context, address, parameters) => validateAddress(address, parameters),
|
|
108
100
|
craftTransactionData: (_context, intent) => craftTransactionData(intent),
|
|
109
|
-
}
|
|
101
|
+
} satisfies CoinModuleImpl<TezosCoinConfig>
|
|
110
102
|
}
|
|
111
103
|
|
|
112
104
|
function isTezosTransactionType(
|
package/src/api/types.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// SPDX-FileCopyrightText: © 2026 LEDGER SAS
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type {
|
|
5
|
-
import type { CoinModuleApi, FeeEstimation } from '@ledgerhq/coin-module-framework/api/types'
|
|
4
|
+
import type { FeeEstimation } from '@ledgerhq/coin-module-framework/api/types'
|
|
6
5
|
|
|
7
6
|
export type TezosFeeParameters = {
|
|
8
7
|
gasLimit: bigint
|
|
@@ -19,20 +18,9 @@ export type TezosSender = { address: string; xpub?: string }
|
|
|
19
18
|
/**
|
|
20
19
|
* Network-specific account metadata for Tezos (ADR-045 shape).
|
|
21
20
|
* `revealed` is `true` once the account has published its public key on-chain.
|
|
22
|
-
*/
|
|
23
|
-
export type TezosAccountInfo = { type: 'tezos'; revealed: boolean }
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* coin-tezos public API surface: the generic {@link CoinModuleApi} plus `getAccountInfo`,
|
|
27
|
-
* which exposes the account's on-chain reveal state.
|
|
28
21
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* shape
|
|
32
|
-
* ships its own `getAccountInfo`, migrating means dropping this local override entirely (the two
|
|
33
|
-
* signatures would otherwise intersect into an incompatible-return-type collision) and letting the
|
|
34
|
-
* implementation satisfy the generic method directly.
|
|
22
|
+
* Concrete return type of the module's `getAccountInfo`. The framework's generic
|
|
23
|
+
* `CoinModuleApi.getAccountInfo` (added by ADR-045 / LIVE-33431) widens to the open
|
|
24
|
+
* `AccountInfo` shape; this alias keeps the reveal state strongly typed at the implementation.
|
|
35
25
|
*/
|
|
36
|
-
export type
|
|
37
|
-
getAccountInfo: (context: TezosContext, address: string) => Promise<TezosAccountInfo>
|
|
38
|
-
}
|
|
26
|
+
export type TezosAccountInfo = { type: 'tezos'; revealed: boolean }
|