@intent-engine/core 0.1.0 → 0.1.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.
package/dist/src/describe.d.ts
CHANGED
|
@@ -16,7 +16,12 @@ export type DescribeOptions = {
|
|
|
16
16
|
outputTokenProgram: Address;
|
|
17
17
|
inputDecimals?: number;
|
|
18
18
|
outputDecimals?: number;
|
|
19
|
+
} & TokenNames;
|
|
20
|
+
export type TokenNames = {
|
|
21
|
+
inputName?: string | undefined;
|
|
22
|
+
outputName?: string | undefined;
|
|
19
23
|
};
|
|
24
|
+
export declare const tokenOf: (mint: Address, name: string | undefined) => string;
|
|
20
25
|
export type SignedIntentDescription = {
|
|
21
26
|
lines: string[];
|
|
22
27
|
warnings: string[];
|
|
@@ -30,5 +35,5 @@ export type TermsFields = Pick<SignedIntentFields, "kind" | "params" | "inputMin
|
|
|
30
35
|
export declare function describeTerms(f: TermsFields, o: {
|
|
31
36
|
inputDecimals?: number | undefined;
|
|
32
37
|
outputDecimals?: number | undefined;
|
|
33
|
-
}): string[];
|
|
38
|
+
} & TokenNames): string[];
|
|
34
39
|
export declare function describeSignedIntent(f: SignedIntentFields, o: DescribeOptions): Promise<SignedIntentDescription>;
|
package/dist/src/describe.js
CHANGED
|
@@ -13,6 +13,7 @@ export const WARN_STALE_EPOCH = "this signature is for an earlier epoch and can
|
|
|
13
13
|
export const WARN_DOMAIN = "this signature is for a different cluster than the one you expect";
|
|
14
14
|
export const WARN_RELAYER_FEE = "the relayer fee is more than 1% of what you sell";
|
|
15
15
|
const MAX_DATE_SECONDS = 8640000000000n;
|
|
16
|
+
export const tokenOf = (mint, name) => (name === undefined ? mint : `${name} (${mint})`);
|
|
16
17
|
export function formatAmount(raw, decimals) {
|
|
17
18
|
if (decimals === undefined) {
|
|
18
19
|
return `${raw} raw units`;
|
|
@@ -53,8 +54,8 @@ export function formatTime(unixSeconds) {
|
|
|
53
54
|
const hex = (bytes) => Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
54
55
|
export function describeTerms(f, o) {
|
|
55
56
|
const params = decodeParams(f.kind, f.params);
|
|
56
|
-
const sell = (amount) => `Sell: exactly ${formatAmount(amount, o.inputDecimals)} of ${f.inputMint}`;
|
|
57
|
-
const out = (amount) => `${formatAmount(amount, o.outputDecimals)} of ${f.outputMint}`;
|
|
57
|
+
const sell = (amount) => `Sell: exactly ${formatAmount(amount, o.inputDecimals)} of ${tokenOf(f.inputMint, o.inputName)}`;
|
|
58
|
+
const out = (amount) => `${formatAmount(amount, o.outputDecimals)} of ${tokenOf(f.outputMint, o.outputName)}`;
|
|
58
59
|
switch (params.kind) {
|
|
59
60
|
case Kind.SwapExactIn:
|
|
60
61
|
return [sell(params.amountIn), `Receive: at least ${out(params.minOut)}`];
|
|
@@ -69,7 +70,7 @@ export function describeTerms(f, o) {
|
|
|
69
70
|
return [
|
|
70
71
|
sell(params.amountIn),
|
|
71
72
|
`Settles: when ${params.attestor} attests a result between ${params.minResult} and ${params.maxResult}`,
|
|
72
|
-
`Output token: ${f.outputMint}, recorded with the intent only; an attested settlement pays you nothing on chain`,
|
|
73
|
+
`Output token: ${tokenOf(f.outputMint, o.outputName)}, recorded with the intent only; an attested settlement pays you nothing on chain`,
|
|
73
74
|
];
|
|
74
75
|
}
|
|
75
76
|
}
|
|
@@ -111,7 +112,7 @@ export async function describeSignedIntent(f, o) {
|
|
|
111
112
|
...partnerLine(f),
|
|
112
113
|
...(relayerFee === 0n
|
|
113
114
|
? []
|
|
114
|
-
: [`Relayer fee: ${formatAmount(relayerFee, o.inputDecimals)} of ${f.inputMint}, paid from ${f.ownerInput} to whoever submits it`]),
|
|
115
|
+
: [`Relayer fee: ${formatAmount(relayerFee, o.inputDecimals)} of ${tokenOf(f.inputMint, o.inputName)}, paid from ${f.ownerInput} to whoever submits it`]),
|
|
115
116
|
`Cluster domain: ${hex(f.domain)}`,
|
|
116
117
|
...(f.program === undefined ? [] : [`Program: ${f.program}`]),
|
|
117
118
|
`Revoke: this signature stays usable until ${formatTime(f.submitBy)}; cancel it sooner by advancing your signing epoch or your nonce base past it, or by revoking the engine's spending allowance`,
|
package/dist/src/describe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/describe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAA2B,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAExF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,8EAA8E,CAAC;AAC5G,MAAM,CAAC,MAAM,eAAe,GAAG,kDAAkD,CAAC;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,2EAA2E,CAAC;AACzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,qEAAqE,CAAC;AACtG,MAAM,CAAC,MAAM,gBAAgB,GAAG,8DAA8D,CAAC;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,mEAAmE,CAAC;AAC/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,kDAAkD,CAAC;AAEnF,MAAM,gBAAgB,GAAG,cAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/describe.ts"],"names":[],"mappings":"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"}
|
package/dist/src/mandate.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address } from "@solana/kit";
|
|
2
|
+
import { type TokenNames } from "./describe.js";
|
|
2
3
|
import { type Partner } from "./ext.js";
|
|
3
4
|
export declare const MANDATE_KINDS: number;
|
|
4
5
|
export declare const MANDATE_NONCE_BIT: bigint;
|
|
@@ -47,7 +48,7 @@ export type MandateContext = {
|
|
|
47
48
|
now: bigint;
|
|
48
49
|
inputDecimals?: number | undefined;
|
|
49
50
|
outputDecimals?: number | undefined;
|
|
50
|
-
};
|
|
51
|
+
} & TokenNames;
|
|
51
52
|
export declare function describeMandate(spec: MandateSpec, o: MandateContext): {
|
|
52
53
|
lines: string[];
|
|
53
54
|
warnings: string[];
|
package/dist/src/mandate.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { formatAmount, formatTime } from "./describe.js";
|
|
1
|
+
import { formatAmount, formatTime, tokenOf } from "./describe.js";
|
|
2
2
|
import { encodePartner } from "./ext.js";
|
|
3
3
|
import { Kind, kindBit } from "./kinds.js";
|
|
4
4
|
export const MANDATE_KINDS = Number(kindBit(Kind.SwapExactIn) | kindBit(Kind.LimitOrder) | kindBit(Kind.DutchAuction));
|
|
@@ -57,15 +57,15 @@ export function describeMandate(spec, o) {
|
|
|
57
57
|
if (agentFee >= spec.perIntent) {
|
|
58
58
|
throw new RangeError(`an agent fee of ${agentFee} leaves nothing to sell under a per-intent cap of ${spec.perIntent}`);
|
|
59
59
|
}
|
|
60
|
-
const sell = (amount) => `${formatAmount(amount, o.inputDecimals)} of ${o.inputMint}`;
|
|
60
|
+
const sell = (amount) => `${formatAmount(amount, o.inputDecimals)} of ${tokenOf(o.inputMint, o.inputName)}`;
|
|
61
61
|
const warnings = spec.validUntil - o.now > LONG_MANDATE_SECONDS ? [WARN_LONG_MANDATE] : [];
|
|
62
62
|
return {
|
|
63
63
|
lines: [
|
|
64
64
|
`Agent: ${spec.agent}`,
|
|
65
|
-
`May sell: ${o.inputMint} for ${o.outputMint} only, as ${kinds.join(", ")} intents`,
|
|
65
|
+
`May sell: ${tokenOf(o.inputMint, o.inputName)} for ${tokenOf(o.outputMint, o.outputName)} only, as ${kinds.join(", ")} intents`,
|
|
66
66
|
`Per intent: at most ${sell(spec.perIntent)}`,
|
|
67
67
|
`In total: at most ${sell(spec.total)} over at most ${spec.maxIntents} intents`,
|
|
68
|
-
`Price floor: at least ${formatAmount(spec.floorOut, o.outputDecimals)} of ${o.outputMint} for every ${sell(spec.floorIn)}`,
|
|
68
|
+
`Price floor: at least ${formatAmount(spec.floorOut, o.outputDecimals)} of ${tokenOf(o.outputMint, o.outputName)} for every ${sell(spec.floorIn)}`,
|
|
69
69
|
`Each intent expires within ${spec.maxTtl} seconds of its creation`,
|
|
70
70
|
`Valid until: ${formatTime(spec.validUntil)}`,
|
|
71
71
|
...(spec.partner === undefined ? [] : [`Partner fee: ${spec.partner.bps} bps of the sold amount to ${spec.partner.key}`]),
|
package/dist/src/mandate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../src/mandate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../src/mandate.ts"],"names":[],"mappings":"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"}
|