@otim/sdk-core 0.0.15 → 0.0.17

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.
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-BnF84ABo.d.cts","names":["symbol","Branded","T","U","Filter","P","Acc","F","Rest","IsNarrowable","IsNever","Mutable","type","key","Or","Head","Tail","IsUndefined","MaybePromise","Promise","MaybeRequired","required","ExactRequired","Assign","Assign_","K","NoInfer","NoUndefined","Omit","keys","Exclude","Pick","PartialBy","ExactPartial","Prettify","Evaluate","RequiredBy","Some","array","value","rest","ValueOf","UnionToTuple","union","last","LastInUnion","UnionToIntersection","l","i","IsUnion","union2","MaybePartial","enabled","OneOf","fallback","KeyofUnion","item","LooseOmit","UnionEvaluate","UnionLooseOmit","UnionOmit","UnionPick","UnionPartialBy","UnionRequiredBy","OneOf","ByteArray","Uint8Array","Hex","Hash","LogTopic","SignableMessage","SignatureLegacy","bigintType","Signature","numberType","CompactSignature","Address","Hex","Signature","ExactPartial","OneOf","Authorization","uint32","signed","AuthorizationList","AuthorizationRequest","SignedAuthorization","SignedAuthorizationList","SerializedAuthorization","SerializedAuthorizationList"],"sources":["../../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.6/node_modules/viem/_types/types/utils.d.ts","../../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.6/node_modules/viem/_types/types/misc.d.ts","../../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.6/node_modules/viem/_types/types/authorization.d.ts"],"sourcesContent":["declare const symbol: unique symbol;\n/**\n * Creates a branded type of {@link T} with the brand {@link U}.\n *\n * @param T - Type to brand\n * @param U - Label\n * @returns Branded type\n *\n * @example\n * type Result = Branded<string, 'foo'>\n * // ^? type Result = string & { [symbol]: 'foo' }\n */\nexport type Branded<T, U> = T & {\n [symbol]: U;\n};\n/**\n * Filters out all members of {@link T} that are not {@link P}\n *\n * @param T - Items to filter\n * @param P - Type to filter out\n * @returns Filtered items\n *\n * @example\n * type Result = Filter<['a', 'b', 'c'], 'b'>\n * // ^? type Result = ['a', 'c']\n */\nexport type Filter<T extends readonly unknown[], P, Acc extends readonly unknown[] = []> = T extends readonly [infer F, ...infer Rest extends readonly unknown[]] ? [F] extends [P] ? Filter<Rest, P, [...Acc, F]> : Filter<Rest, P, Acc> : readonly [...Acc];\n/**\n * @description Checks if {@link T} can be narrowed further than {@link U}\n * @param T - Type to check\n * @param U - Type to against\n * @example\n * type Result = IsNarrowable<'foo', string>\n * // ^? true\n */\nexport type IsNarrowable<T, U> = IsNever<(T extends U ? true : false) & (U extends T ? false : true)> extends true ? false : true;\n/**\n * @description Checks if {@link T} is `never`\n * @param T - Type to check\n * @example\n * type Result = IsNever<never>\n * // ^? type Result = true\n */\nexport type IsNever<T> = [T] extends [never] ? true : false;\n/** Removes `readonly` from all properties of an object. */\nexport type Mutable<type extends object> = {\n -readonly [key in keyof type]: type[key];\n};\n/**\n * @description Evaluates boolean \"or\" condition for {@link T} properties.\n * @param T - Type to check\n *\n * * @example\n * type Result = Or<[false, true, false]>\n * // ^? type Result = true\n *\n * @example\n * type Result = Or<[false, false, false]>\n * // ^? type Result = false\n */\nexport type Or<T extends readonly unknown[]> = T extends readonly [\n infer Head,\n ...infer Tail\n] ? Head extends true ? true : Or<Tail> : false;\n/**\n * @description Checks if {@link T} is `undefined`\n * @param T - Type to check\n * @example\n * type Result = IsUndefined<undefined>\n * // ^? type Result = true\n */\nexport type IsUndefined<T> = [undefined] extends [T] ? true : false;\nexport type MaybePromise<T> = T | Promise<T>;\n/**\n * @description Makes attributes on the type T required if required is true.\n *\n * @example\n * MaybeRequired<{ a: string, b?: number }, true>\n * => { a: string, b: number }\n *\n * MaybeRequired<{ a: string, b?: number }, false>\n * => { a: string, b?: number }\n */\nexport type MaybeRequired<T, required extends boolean> = required extends true ? ExactRequired<T> : T;\n/**\n * @description Assigns the properties of U onto T.\n *\n * @example\n * Assign<{ a: string, b: number }, { a: undefined, c: boolean }>\n * => { a: undefined, b: number, c: boolean }\n */\nexport type Assign<T, U> = Assign_<T, U> & U;\ntype Assign_<T, U> = {\n [K in keyof T as K extends keyof U ? U[K] extends void ? never : K : K]: K extends keyof U ? U[K] : T[K];\n};\nexport type NoInfer<type> = [type][type extends any ? 0 : never];\n/**\n * @description Constructs a type by excluding `undefined` from `T`.\n *\n * @example\n * NoUndefined<string | undefined>\n * => string\n *\n * @internal\n */\nexport type NoUndefined<T> = T extends undefined ? never : T;\n/** Strict version of built-in Omit type */\nexport type Omit<type, keys extends keyof type> = Pick<type, Exclude<keyof type, keys>>;\n/**\n * @description Creates a type that is a partial of T, but with the required keys K.\n *\n * @example\n * PartialBy<{ a: string, b: number }, 'a'>\n * => { a?: string, b: number }\n */\nexport type PartialBy<T, K extends keyof T> = Omit<T, K> & ExactPartial<Pick<T, K>>;\n/**\n * @description Combines members of an intersection into a readable type.\n *\n * @see {@link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg}\n * @example\n * Prettify<{ a: string } & { b: string } & { c: number, d: bigint }>\n * => { a: string, b: string, c: number, d: bigint }\n */\nexport type Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n/** @internal */\nexport type Evaluate<type> = {\n [key in keyof type]: type[key];\n} & {};\n/**\n * @description Creates a type that is T with the required keys K.\n *\n * @example\n * RequiredBy<{ a?: string, b: number }, 'a'>\n * => { a: string, b: number }\n */\nexport type RequiredBy<T, K extends keyof T> = Omit<T, K> & ExactRequired<Pick<T, K>>;\n/**\n * @description Returns truthy if `array` contains `value`.\n *\n * @example\n * Some<[1, 2, 3], 2>\n * => true\n */\nexport type Some<array extends readonly unknown[], value> = array extends readonly [value, ...unknown[]] ? true : array extends readonly [unknown, ...infer rest] ? Some<rest, value> : false;\n/**\n * @description Creates a type that extracts the values of T.\n *\n * @example\n * ValueOf<{ a: string, b: number }>\n * => string | number\n *\n * @internal\n */\nexport type ValueOf<T> = T[keyof T];\nexport type UnionToTuple<union, last = LastInUnion<union>> = [union] extends [never] ? [] : [...UnionToTuple<Exclude<union, last>>, last];\ntype LastInUnion<U> = UnionToIntersection<U extends unknown ? (x: U) => 0 : never> extends (x: infer l) => 0 ? l : never;\ntype UnionToIntersection<union> = (union extends unknown ? (arg: union) => 0 : never) extends (arg: infer i) => 0 ? i : never;\nexport type IsUnion<union, union2 = union> = union extends union2 ? ([union2] extends [union] ? false : true) : never;\nexport type MaybePartial<type, enabled extends boolean | undefined> = enabled extends true ? Prettify<ExactPartial<type>> : type;\nexport type ExactPartial<type> = {\n [key in keyof type]?: type[key] | undefined;\n};\nexport type ExactRequired<type> = {\n [P in keyof type]-?: Exclude<type[P], undefined>;\n};\nexport type OneOf<union extends object, fallback extends object | undefined = undefined, keys extends KeyofUnion<union> = KeyofUnion<union>> = union extends infer item ? Prettify<item & {\n [key in Exclude<keys, keyof item>]?: fallback extends object ? key extends keyof fallback ? fallback[key] : undefined : undefined;\n}> : never;\ntype KeyofUnion<type> = type extends type ? keyof type : never;\n/**\n * Loose version of {@link Omit}\n * @internal\n */\nexport type LooseOmit<type, keys extends string> = Pick<type, Exclude<keyof type, keys>>;\nexport type UnionEvaluate<type> = type extends object ? Prettify<type> : type;\nexport type UnionLooseOmit<type, keys extends string> = type extends any ? LooseOmit<type, keys> : never;\n/**\n * @description Construct a type with the properties of union type T except for those in type K.\n * @example\n * type Result = UnionOmit<{ a: string, b: number } | { a: string, b: undefined, c: number }, 'a'>\n * => { b: number } | { b: undefined, c: number }\n */\nexport type UnionOmit<type, keys extends keyof type> = type extends any ? Omit<type, keys> : never;\n/**\n * @description Construct a type with the properties of union type T except for those in type K.\n * @example\n * type Result = UnionOmit<{ a: string, b: number } | { a: string, b: undefined, c: number }, 'a'>\n * => { b: number } | { b: undefined, c: number }\n */\nexport type UnionPick<type, keys extends keyof type> = type extends any ? Pick<type, keys> : never;\n/**\n * @description Creates a type that is a partial of T, but with the required keys K.\n *\n * @example\n * PartialBy<{ a: string, b: number } | { a: string, b: undefined, c: number }, 'a'>\n * => { a?: string, b: number } | { a?: string, b: undefined, c: number }\n */\nexport type UnionPartialBy<T, K extends keyof T> = T extends any ? PartialBy<T, K> : never;\n/**\n * @description Creates a type that is T with the required keys K.\n *\n * @example\n * RequiredBy<{ a?: string, b: number } | { a?: string, c?: number }, 'a'>\n * => { a: string, b: number } | { a: string, c?: number }\n */\nexport type UnionRequiredBy<T, K extends keyof T> = T extends any ? RequiredBy<T, K> : never;\nexport {};\n//# sourceMappingURL=utils.d.ts.map","import type { OneOf } from './utils.js';\nexport type ByteArray = Uint8Array;\nexport type Hex = `0x${string}`;\nexport type Hash = `0x${string}`;\nexport type LogTopic = Hex | Hex[] | null;\nexport type SignableMessage = string | {\n /** Raw data representation of the message. */\n raw: Hex | ByteArray;\n};\nexport type SignatureLegacy<bigintType = bigint> = {\n r: Hex;\n s: Hex;\n v: bigintType;\n};\nexport type Signature<numberType = number, bigintType = bigint> = OneOf<SignatureLegacy | {\n r: Hex;\n s: Hex;\n /** @deprecated use `yParity`. */\n v: bigintType;\n yParity?: numberType | undefined;\n} | {\n r: Hex;\n s: Hex;\n /** @deprecated use `yParity`. */\n v?: bigintType | undefined;\n yParity: numberType;\n}>;\nexport type CompactSignature = {\n r: Hex;\n yParityAndS: Hex;\n};\n//# sourceMappingURL=misc.d.ts.map","import type { Address } from 'abitype';\nimport type { Hex, Signature } from './misc.js';\nimport type { ExactPartial, OneOf } from './utils.js';\nexport type Authorization<uint32 = number, signed extends boolean = false> = {\n /** Address of the contract to delegate to. */\n address: Address;\n /** Chain ID. */\n chainId: uint32;\n /** Nonce of the EOA to delegate to. */\n nonce: uint32;\n} & (signed extends true ? Signature<uint32> : ExactPartial<Signature<uint32>>);\nexport type AuthorizationList<uint32 = number, signed extends boolean = false> = readonly Authorization<uint32, signed>[];\nexport type AuthorizationRequest<uint32 = number> = OneOf<{\n /** Address of the contract to delegate to. */\n address: Address;\n} | {\n /**\n * Address of the contract to delegate to.\n * @alias `address`\n */\n contractAddress: Address;\n}> & {\n /** Chain ID. */\n chainId: uint32;\n /** Nonce of the EOA to delegate to. */\n nonce: uint32;\n};\nexport type SignedAuthorization<uint32 = number> = Authorization<uint32, true>;\nexport type SignedAuthorizationList<uint32 = number> = readonly SignedAuthorization<uint32>[];\nexport type SerializedAuthorization = readonly [\n chainId: Hex,\n address: Hex,\n nonce: Hex,\n yParity: Hex,\n r: Hex,\n s: Hex\n];\nexport type SerializedAuthorizationList = readonly SerializedAuthorization[];\n//# sourceMappingURL=authorization.d.ts.map"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
1
+ {"version":3,"file":"authorization-BnF84ABo.d.cts","names":["symbol","Branded","T","U","Filter","P","Acc","F","Rest","IsNarrowable","IsNever","Mutable","type","key","Or","Head","Tail","IsUndefined","MaybePromise","Promise","MaybeRequired","required","ExactRequired","Assign","Assign_","K","NoInfer","NoUndefined","Omit","keys","Exclude","Pick","PartialBy","ExactPartial","Prettify","Evaluate","RequiredBy","Some","array","value","rest","ValueOf","UnionToTuple","union","last","LastInUnion","UnionToIntersection","l","i","IsUnion","union2","MaybePartial","enabled","OneOf","fallback","KeyofUnion","item","LooseOmit","UnionEvaluate","UnionLooseOmit","UnionOmit","UnionPick","UnionPartialBy","UnionRequiredBy","OneOf","ByteArray","Uint8Array","Hex","Hash","LogTopic","SignableMessage","SignatureLegacy","bigintType","Signature","numberType","CompactSignature","Address","Hex","Signature","ExactPartial","OneOf","Authorization","uint32","signed","AuthorizationList","AuthorizationRequest","SignedAuthorization","SignedAuthorizationList","SerializedAuthorization","SerializedAuthorizationList"],"sources":["../../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.6/node_modules/viem/_types/types/utils.d.ts","../../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.6/node_modules/viem/_types/types/misc.d.ts","../../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.6/node_modules/viem/_types/types/authorization.d.ts"],"sourcesContent":["declare const symbol: unique symbol;\n/**\n * Creates a branded type of {@link T} with the brand {@link U}.\n *\n * @param T - Type to brand\n * @param U - Label\n * @returns Branded type\n *\n * @example\n * type Result = Branded<string, 'foo'>\n * // ^? type Result = string & { [symbol]: 'foo' }\n */\nexport type Branded<T, U> = T & {\n [symbol]: U;\n};\n/**\n * Filters out all members of {@link T} that are not {@link P}\n *\n * @param T - Items to filter\n * @param P - Type to filter out\n * @returns Filtered items\n *\n * @example\n * type Result = Filter<['a', 'b', 'c'], 'b'>\n * // ^? type Result = ['a', 'c']\n */\nexport type Filter<T extends readonly unknown[], P, Acc extends readonly unknown[] = []> = T extends readonly [infer F, ...infer Rest extends readonly unknown[]] ? [F] extends [P] ? Filter<Rest, P, [...Acc, F]> : Filter<Rest, P, Acc> : readonly [...Acc];\n/**\n * @description Checks if {@link T} can be narrowed further than {@link U}\n * @param T - Type to check\n * @param U - Type to against\n * @example\n * type Result = IsNarrowable<'foo', string>\n * // ^? true\n */\nexport type IsNarrowable<T, U> = IsNever<(T extends U ? true : false) & (U extends T ? false : true)> extends true ? false : true;\n/**\n * @description Checks if {@link T} is `never`\n * @param T - Type to check\n * @example\n * type Result = IsNever<never>\n * // ^? type Result = true\n */\nexport type IsNever<T> = [T] extends [never] ? true : false;\n/** Removes `readonly` from all properties of an object. */\nexport type Mutable<type extends object> = {\n -readonly [key in keyof type]: type[key];\n};\n/**\n * @description Evaluates boolean \"or\" condition for {@link T} properties.\n * @param T - Type to check\n *\n * * @example\n * type Result = Or<[false, true, false]>\n * // ^? type Result = true\n *\n * @example\n * type Result = Or<[false, false, false]>\n * // ^? type Result = false\n */\nexport type Or<T extends readonly unknown[]> = T extends readonly [\n infer Head,\n ...infer Tail\n] ? Head extends true ? true : Or<Tail> : false;\n/**\n * @description Checks if {@link T} is `undefined`\n * @param T - Type to check\n * @example\n * type Result = IsUndefined<undefined>\n * // ^? type Result = true\n */\nexport type IsUndefined<T> = [undefined] extends [T] ? true : false;\nexport type MaybePromise<T> = T | Promise<T>;\n/**\n * @description Makes attributes on the type T required if required is true.\n *\n * @example\n * MaybeRequired<{ a: string, b?: number }, true>\n * => { a: string, b: number }\n *\n * MaybeRequired<{ a: string, b?: number }, false>\n * => { a: string, b?: number }\n */\nexport type MaybeRequired<T, required extends boolean> = required extends true ? ExactRequired<T> : T;\n/**\n * @description Assigns the properties of U onto T.\n *\n * @example\n * Assign<{ a: string, b: number }, { a: undefined, c: boolean }>\n * => { a: undefined, b: number, c: boolean }\n */\nexport type Assign<T, U> = Assign_<T, U> & U;\ntype Assign_<T, U> = {\n [K in keyof T as K extends keyof U ? U[K] extends void ? never : K : K]: K extends keyof U ? U[K] : T[K];\n};\nexport type NoInfer<type> = [type][type extends any ? 0 : never];\n/**\n * @description Constructs a type by excluding `undefined` from `T`.\n *\n * @example\n * NoUndefined<string | undefined>\n * => string\n *\n * @internal\n */\nexport type NoUndefined<T> = T extends undefined ? never : T;\n/** Strict version of built-in Omit type */\nexport type Omit<type, keys extends keyof type> = Pick<type, Exclude<keyof type, keys>>;\n/**\n * @description Creates a type that is a partial of T, but with the required keys K.\n *\n * @example\n * PartialBy<{ a: string, b: number }, 'a'>\n * => { a?: string, b: number }\n */\nexport type PartialBy<T, K extends keyof T> = Omit<T, K> & ExactPartial<Pick<T, K>>;\n/**\n * @description Combines members of an intersection into a readable type.\n *\n * @see {@link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg}\n * @example\n * Prettify<{ a: string } & { b: string } & { c: number, d: bigint }>\n * => { a: string, b: string, c: number, d: bigint }\n */\nexport type Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n/** @internal */\nexport type Evaluate<type> = {\n [key in keyof type]: type[key];\n} & {};\n/**\n * @description Creates a type that is T with the required keys K.\n *\n * @example\n * RequiredBy<{ a?: string, b: number }, 'a'>\n * => { a: string, b: number }\n */\nexport type RequiredBy<T, K extends keyof T> = Omit<T, K> & ExactRequired<Pick<T, K>>;\n/**\n * @description Returns truthy if `array` contains `value`.\n *\n * @example\n * Some<[1, 2, 3], 2>\n * => true\n */\nexport type Some<array extends readonly unknown[], value> = array extends readonly [value, ...unknown[]] ? true : array extends readonly [unknown, ...infer rest] ? Some<rest, value> : false;\n/**\n * @description Creates a type that extracts the values of T.\n *\n * @example\n * ValueOf<{ a: string, b: number }>\n * => string | number\n *\n * @internal\n */\nexport type ValueOf<T> = T[keyof T];\nexport type UnionToTuple<union, last = LastInUnion<union>> = [union] extends [never] ? [] : [...UnionToTuple<Exclude<union, last>>, last];\ntype LastInUnion<U> = UnionToIntersection<U extends unknown ? (x: U) => 0 : never> extends (x: infer l) => 0 ? l : never;\ntype UnionToIntersection<union> = (union extends unknown ? (arg: union) => 0 : never) extends (arg: infer i) => 0 ? i : never;\nexport type IsUnion<union, union2 = union> = union extends union2 ? ([union2] extends [union] ? false : true) : never;\nexport type MaybePartial<type, enabled extends boolean | undefined> = enabled extends true ? Prettify<ExactPartial<type>> : type;\nexport type ExactPartial<type> = {\n [key in keyof type]?: type[key] | undefined;\n};\nexport type ExactRequired<type> = {\n [P in keyof type]-?: Exclude<type[P], undefined>;\n};\nexport type OneOf<union extends object, fallback extends object | undefined = undefined, keys extends KeyofUnion<union> = KeyofUnion<union>> = union extends infer item ? Prettify<item & {\n [key in Exclude<keys, keyof item>]?: fallback extends object ? key extends keyof fallback ? fallback[key] : undefined : undefined;\n}> : never;\ntype KeyofUnion<type> = type extends type ? keyof type : never;\n/**\n * Loose version of {@link Omit}\n * @internal\n */\nexport type LooseOmit<type, keys extends string> = Pick<type, Exclude<keyof type, keys>>;\nexport type UnionEvaluate<type> = type extends object ? Prettify<type> : type;\nexport type UnionLooseOmit<type, keys extends string> = type extends any ? LooseOmit<type, keys> : never;\n/**\n * @description Construct a type with the properties of union type T except for those in type K.\n * @example\n * type Result = UnionOmit<{ a: string, b: number } | { a: string, b: undefined, c: number }, 'a'>\n * => { b: number } | { b: undefined, c: number }\n */\nexport type UnionOmit<type, keys extends keyof type> = type extends any ? Omit<type, keys> : never;\n/**\n * @description Construct a type with the properties of union type T except for those in type K.\n * @example\n * type Result = UnionOmit<{ a: string, b: number } | { a: string, b: undefined, c: number }, 'a'>\n * => { b: number } | { b: undefined, c: number }\n */\nexport type UnionPick<type, keys extends keyof type> = type extends any ? Pick<type, keys> : never;\n/**\n * @description Creates a type that is a partial of T, but with the required keys K.\n *\n * @example\n * PartialBy<{ a: string, b: number } | { a: string, b: undefined, c: number }, 'a'>\n * => { a?: string, b: number } | { a?: string, b: undefined, c: number }\n */\nexport type UnionPartialBy<T, K extends keyof T> = T extends any ? PartialBy<T, K> : never;\n/**\n * @description Creates a type that is T with the required keys K.\n *\n * @example\n * RequiredBy<{ a?: string, b: number } | { a?: string, c?: number }, 'a'>\n * => { a: string, b: number } | { a: string, c?: number }\n */\nexport type UnionRequiredBy<T, K extends keyof T> = T extends any ? RequiredBy<T, K> : never;\nexport {};\n//# sourceMappingURL=utils.d.ts.map","import type { OneOf } from './utils.js';\nexport type ByteArray = Uint8Array;\nexport type Hex = `0x${string}`;\nexport type Hash = `0x${string}`;\nexport type LogTopic = Hex | Hex[] | null;\nexport type SignableMessage = string | {\n /** Raw data representation of the message. */\n raw: Hex | ByteArray;\n};\nexport type SignatureLegacy<bigintType = bigint> = {\n r: Hex;\n s: Hex;\n v: bigintType;\n};\nexport type Signature<numberType = number, bigintType = bigint> = OneOf<SignatureLegacy | {\n r: Hex;\n s: Hex;\n /** @deprecated use `yParity`. */\n v: bigintType;\n yParity?: numberType | undefined;\n} | {\n r: Hex;\n s: Hex;\n /** @deprecated use `yParity`. */\n v?: bigintType | undefined;\n yParity: numberType;\n}>;\nexport type CompactSignature = {\n r: Hex;\n yParityAndS: Hex;\n};\n//# sourceMappingURL=misc.d.ts.map","import type { Address } from 'abitype';\nimport type { Hex, Signature } from './misc.js';\nimport type { ExactPartial, OneOf } from './utils.js';\nexport type Authorization<uint32 = number, signed extends boolean = false> = {\n /** Address of the contract to delegate to. */\n address: Address;\n /** Chain ID. */\n chainId: uint32;\n /** Nonce of the EOA to delegate to. */\n nonce: uint32;\n} & (signed extends true ? Signature<uint32> : ExactPartial<Signature<uint32>>);\nexport type AuthorizationList<uint32 = number, signed extends boolean = false> = readonly Authorization<uint32, signed>[];\nexport type AuthorizationRequest<uint32 = number> = OneOf<{\n /** Address of the contract to delegate to. */\n address: Address;\n} | {\n /**\n * Address of the contract to delegate to.\n * @alias `address`\n */\n contractAddress: Address;\n}> & {\n /** Chain ID. */\n chainId: uint32;\n /** Nonce of the EOA to delegate to. */\n nonce: uint32;\n};\nexport type SignedAuthorization<uint32 = number> = Authorization<uint32, true>;\nexport type SignedAuthorizationList<uint32 = number> = readonly SignedAuthorization<uint32>[];\nexport type SerializedAuthorization = readonly [\n chainId: Hex,\n address: Hex,\n nonce: Hex,\n yParity: Hex,\n r: Hex,\n s: Hex\n];\nexport type SerializedAuthorizationList = readonly SerializedAuthorization[];\n//# sourceMappingURL=authorization.d.ts.map"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  require('../account-Bwm5PTcc.cjs');
2
- const require_clients = require('../clients-BZliDINN.cjs');
2
+ const require_clients = require('../clients-D8fUV8fR.cjs');
3
3
  require('../signing-BaJMYH0K.cjs');
4
4
 
5
5
  exports.ActivityClient = require_clients.ActivityClient;
@@ -2,6 +2,6 @@ import "../abi-C34qVuOe.cjs";
2
2
  import "../rpc-C-51kawS.cjs";
3
3
  import "../authorization-BnF84ABo.cjs";
4
4
  import "../index-_2bU9FSx.cjs";
5
- import { C as ActivityClient, S as LoginOptions, _ as CreateSettlementResponse, a as prepareVaultMigrateSettlement, b as ConfigClient, c as prepareVaultDepositSettlement, d as BuildSettlementRequest, f as OrchestrationParams, g as CreateRawConfig, h as prepareSettlement, i as VaultMigrateParams, l as PrepareVaultWithdrawSettlementParams, m as SettlementParams, n as createSettlementSigner, o as PrepareVaultDepositSettlementParams, p as PrepareSettlementParams, r as PrepareVaultMigrateSettlementParams, s as SettlementVaultDepositParams, t as CreateSettlementSignerParams, u as prepareVaultWithdrawSettlement, v as OrchestrationClient, x as AuthClient, y as DelegationClient } from "../index-DRcZEfBz.cjs";
5
+ import { C as ActivityClient, S as LoginOptions, _ as CreateSettlementResponse, a as prepareVaultMigrateSettlement, b as ConfigClient, c as prepareVaultDepositSettlement, d as BuildSettlementRequest, f as OrchestrationParams, g as CreateRawConfig, h as prepareSettlement, i as VaultMigrateParams, l as PrepareVaultWithdrawSettlementParams, m as SettlementParams, n as createSettlementSigner, o as PrepareVaultDepositSettlementParams, p as PrepareSettlementParams, r as PrepareVaultMigrateSettlementParams, s as SettlementVaultDepositParams, t as CreateSettlementSignerParams, u as prepareVaultWithdrawSettlement, v as OrchestrationClient, x as AuthClient, y as DelegationClient } from "../index-C5HbBg3r.cjs";
6
6
  import "../index-CUbzbOtB.cjs";
7
7
  export { ActivityClient, AuthClient, BuildSettlementRequest, ConfigClient, CreateRawConfig, CreateSettlementResponse, CreateSettlementSignerParams, DelegationClient, LoginOptions, OrchestrationClient, OrchestrationParams, PrepareSettlementParams, PrepareVaultDepositSettlementParams, PrepareVaultMigrateSettlementParams, PrepareVaultWithdrawSettlementParams, SettlementParams, SettlementVaultDepositParams, VaultMigrateParams, createSettlementSigner, prepareSettlement, prepareVaultDepositSettlement, prepareVaultMigrateSettlement, prepareVaultWithdrawSettlement };
@@ -2,6 +2,6 @@ import "../abi-DJLWbdqc.mjs";
2
2
  import "../rpc-BWDaWzVn.mjs";
3
3
  import "../authorization-C5pDhI13.mjs";
4
4
  import "../index-D6ncjdSF.mjs";
5
- import { C as ActivityClient, S as LoginOptions, _ as CreateSettlementResponse, a as prepareVaultMigrateSettlement, b as ConfigClient, c as prepareVaultDepositSettlement, d as BuildSettlementRequest, f as OrchestrationParams, g as CreateRawConfig, h as prepareSettlement, i as VaultMigrateParams, l as PrepareVaultWithdrawSettlementParams, m as SettlementParams, n as createSettlementSigner, o as PrepareVaultDepositSettlementParams, p as PrepareSettlementParams, r as PrepareVaultMigrateSettlementParams, s as SettlementVaultDepositParams, t as CreateSettlementSignerParams, u as prepareVaultWithdrawSettlement, v as OrchestrationClient, x as AuthClient, y as DelegationClient } from "../index-BXxyBVLr.mjs";
5
+ import { C as ActivityClient, S as LoginOptions, _ as CreateSettlementResponse, a as prepareVaultMigrateSettlement, b as ConfigClient, c as prepareVaultDepositSettlement, d as BuildSettlementRequest, f as OrchestrationParams, g as CreateRawConfig, h as prepareSettlement, i as VaultMigrateParams, l as PrepareVaultWithdrawSettlementParams, m as SettlementParams, n as createSettlementSigner, o as PrepareVaultDepositSettlementParams, p as PrepareSettlementParams, r as PrepareVaultMigrateSettlementParams, s as SettlementVaultDepositParams, t as CreateSettlementSignerParams, u as prepareVaultWithdrawSettlement, v as OrchestrationClient, x as AuthClient, y as DelegationClient } from "../index-C3e6ozxv.mjs";
6
6
  import "../index-Bii-p3Pv.mjs";
7
7
  export { ActivityClient, AuthClient, BuildSettlementRequest, ConfigClient, CreateRawConfig, CreateSettlementResponse, CreateSettlementSignerParams, DelegationClient, LoginOptions, OrchestrationClient, OrchestrationParams, PrepareSettlementParams, PrepareVaultDepositSettlementParams, PrepareVaultMigrateSettlementParams, PrepareVaultWithdrawSettlementParams, SettlementParams, SettlementVaultDepositParams, VaultMigrateParams, createSettlementSigner, prepareSettlement, prepareVaultDepositSettlement, prepareVaultMigrateSettlement, prepareVaultWithdrawSettlement };
@@ -1,5 +1,5 @@
1
1
  import "../account-DTvmNvta.mjs";
2
- import { a as OrchestrationClient, c as ConfigClient, i as prepareSettlement, l as AuthClient, n as prepareVaultDepositSettlement, o as createSettlementSigner, r as prepareVaultWithdrawSettlement, s as DelegationClient, t as prepareVaultMigrateSettlement, u as ActivityClient } from "../clients-DFvueC9X.mjs";
2
+ import { a as OrchestrationClient, c as ConfigClient, i as prepareSettlement, l as AuthClient, n as prepareVaultDepositSettlement, o as createSettlementSigner, r as prepareVaultWithdrawSettlement, s as DelegationClient, t as prepareVaultMigrateSettlement, u as ActivityClient } from "../clients-BMHu0un6.mjs";
3
3
  import "../signing-BGCR53df.mjs";
4
4
 
5
5
  export { ActivityClient, AuthClient, ConfigClient, DelegationClient, OrchestrationClient, createSettlementSigner, prepareSettlement, prepareVaultDepositSettlement, prepareVaultMigrateSettlement, prepareVaultWithdrawSettlement };
@@ -285,7 +285,7 @@ function buildMetadataFromParams$2(params) {
285
285
  } : metadataWithToken;
286
286
  }
287
287
  function prepareVaultWithdrawSettlement(params) {
288
- const { vaultAddress, vaultUnderlyingToken, vaultChainId, settlementChainId, settlementToken, recipientAddress, withdrawAmount, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
288
+ const { vaultAddress, vaultChainId, settlementChainId, settlementToken, recipientAddress, withdrawAmount, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
289
289
  if (dueDate) validateIso8601Date(dueDate);
290
290
  const metadata = buildMetadataFromParams$2({
291
291
  amount: withdrawAmount,
@@ -299,7 +299,6 @@ function prepareVaultWithdrawSettlement(params) {
299
299
  return {
300
300
  params: { vaultWithdrawSettlement: {
301
301
  vaultAddress,
302
- vaultUnderlyingToken,
303
302
  vaultChainId,
304
303
  settlementChainId,
305
304
  settlementToken,
@@ -372,7 +371,7 @@ function prepareVaultDepositSettlement(params) {
372
371
  const metadata = buildMetadataFromParams$1({
373
372
  amount: depositAmount,
374
373
  recipient: recipientAddress,
375
- token: vaultUnderlyingToken,
374
+ token: vaultUnderlyingToken ?? vaultAddress,
376
375
  note,
377
376
  dueDate,
378
377
  payer: payer ?? void 0,
@@ -383,7 +382,6 @@ function prepareVaultDepositSettlement(params) {
383
382
  acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),
384
383
  vaultChainId,
385
384
  vaultAddress,
386
- vaultUnderlyingToken,
387
385
  depositAmount: toHex(depositAmount),
388
386
  recipientAddress,
389
387
  vaultMinTotalShares: toHex(vaultMinTotalShares)
@@ -440,12 +438,12 @@ function buildMetadataFromParams(params) {
440
438
  * @returns A BuildSettlementRequest ready to be sent to the API
441
439
  */
442
440
  function prepareVaultMigrateSettlement(params) {
443
- const { sourceVaultAddress, sourceVaultUnderlyingToken, sourceVaultChainId, withdrawAmount, destVaultAddress, destVaultUnderlyingToken, destVaultChainId, destVaultMinTotalShares, recipientAddress, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
441
+ const { sourceVaultAddress, sourceVaultChainId, withdrawAmount, destVaultAddress, destVaultUnderlyingToken, destVaultChainId, destVaultMinTotalShares, recipientAddress, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
444
442
  if (dueDate) validateIso8601Date(dueDate);
445
443
  const metadata = buildMetadataFromParams({
446
444
  amount: withdrawAmount,
447
445
  recipient: recipientAddress,
448
- token: destVaultUnderlyingToken,
446
+ token: destVaultUnderlyingToken ?? destVaultAddress,
449
447
  note,
450
448
  dueDate,
451
449
  payer: payer ?? void 0,
@@ -454,11 +452,9 @@ function prepareVaultMigrateSettlement(params) {
454
452
  return {
455
453
  params: { vaultMigrate: {
456
454
  sourceVaultAddress,
457
- sourceVaultUnderlyingToken,
458
455
  sourceVaultChainId,
459
456
  withdrawAmount: toHex(withdrawAmount),
460
457
  destVaultAddress,
461
- destVaultUnderlyingToken,
462
458
  destVaultChainId,
463
459
  destVaultMinTotalShares: toHex(destVaultMinTotalShares),
464
460
  recipientAddress
@@ -472,4 +468,4 @@ function prepareVaultMigrateSettlement(params) {
472
468
 
473
469
  //#endregion
474
470
  export { OrchestrationClient as a, ConfigClient as c, prepareSettlement as i, AuthClient as l, prepareVaultDepositSettlement as n, createSettlementSigner as o, prepareVaultWithdrawSettlement as r, DelegationClient as s, prepareVaultMigrateSettlement as t, ActivityClient as u };
475
- //# sourceMappingURL=clients-DFvueC9X.mjs.map
471
+ //# sourceMappingURL=clients-BMHu0un6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients-BMHu0un6.mjs","names":["apiClient: APIClient","apiClient: APIClient","account: OtimAccount","context: OtimClientContext","apiClient: APIClient","apiClient: APIClient","apiClient: APIClient","account: OtimAccount","context: OtimServerClientContext","getDefaultDueDate","buildMetadataFromParams","convertAcceptedTokensToStringKeys","result: Record<string, Address[]>","getDefaultDueDate","buildMetadataFromParams","getDefaultDueDate","buildMetadataFromParams","result: Record<string, Address[]>"],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/helpers/settlement-signer.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts"],"sourcesContent":["import type {\n APIClient,\n GetInstructionActivityRequest,\n GetInstructionActivityResponse,\n} from \"@otim/utils/api\";\n\nexport class ActivityClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getInstructionActivity(\n request: GetInstructionActivityRequest,\n ): Promise<GetInstructionActivityResponse> {\n const response =\n await this.apiClient.activity.getInstructionActivity(request);\n\n return response.data;\n }\n}\n","import type { OtimAccount } from \"@otim/sdk-core/account\";\nimport type { OtimClientContext } from \"@otim/sdk-core/context\";\nimport type { APIClient, AuthLoginResponse, MeResponse } from \"@otim/utils/api\";\nimport type { Address } from \"viem\";\n\nimport { parseSignatureToVRS } from \"@otim/utils/helpers\";\n\nimport { createLoginSiweMessage } from \"@otim/sdk-core/config\";\nimport { assertRequiresAuth } from \"@otim/sdk-core/context\";\n\nexport interface LoginOptions {\n address: Address;\n}\n\nexport class AuthClient {\n constructor(\n private readonly apiClient: APIClient,\n private readonly account: OtimAccount,\n private readonly context: OtimClientContext,\n ) {}\n\n async login({ address }: LoginOptions): Promise<AuthLoginResponse> {\n assertRequiresAuth(this.context);\n\n const message = createLoginSiweMessage(address, Date.now().toString());\n const signature = await this.account.signMessage({ message });\n const vrsParsedSignature = parseSignatureToVRS(signature);\n\n const response = await this.apiClient.auth.login({\n siwe: message,\n signature: vrsParsedSignature,\n });\n\n return response.data;\n }\n\n async getCurrentUser(): Promise<MeResponse> {\n const response = await this.apiClient.auth.me();\n return response.data;\n }\n}\n","import type {\n APIClient,\n GetMaxPriorityFeePerGasEstimateRequest,\n GetMaxPriorityFeePerGasEstimateResponse,\n} from \"@otim/utils/api\";\n\nexport class ConfigClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getMaxPriorityFeeEstimate({\n chainId,\n }: GetMaxPriorityFeePerGasEstimateRequest): Promise<GetMaxPriorityFeePerGasEstimateResponse> {\n const response =\n await this.apiClient.config.getMaxPriorityFeePerGasEstimate({ chainId });\n\n return response.data;\n }\n}\n","import type {\n APIClient,\n DelegationCreateRequest,\n DelegationStatusRequest,\n DelegationStatusResponse,\n GetDelegateAddressRequest,\n GetDelegateAddressResponse,\n} from \"@otim/utils/api\";\n\nexport class DelegationClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getDelegateAddress({\n chainId,\n }: GetDelegateAddressRequest): Promise<GetDelegateAddressResponse> {\n const response = await this.apiClient.config.getDelegateAddress({\n chainId,\n });\n\n return response.data;\n }\n\n async getDelegationStatus(\n options: DelegationStatusRequest,\n ): Promise<DelegationStatusResponse> {\n const response = await this.apiClient.account.getDelegationStatus({\n address: options.address,\n chainId: options.chainId,\n });\n\n return response.data;\n }\n\n async createDelegation(\n delegationRequest: DelegationCreateRequest,\n ): Promise<void> {\n await this.apiClient.account.createDelegation(delegationRequest);\n }\n}\n","import type { OtimServerClientContext } from \"../../context\";\nimport type { PaymentResponseWithActionNames } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\nimport type { PublicClient } from \"viem\";\n\nimport { createWalletClient, http } from \"viem\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nimport { isApiAccountConfig } from \"../../account\";\nimport {\n ApiKeyClientSigningService,\n ServerWalletSigningService,\n UnifiedPaymentSigner,\n} from \"../../signing\";\n\nexport interface CreateSettlementSignerParams {\n context: OtimServerClientContext;\n buildResponse: PaymentResponseWithActionNames;\n publicClient: PublicClient;\n delegateAddressMap: Map<number, Address>;\n}\n\ntype CreateSettlementSignerResult = Awaited<\n ReturnType<UnifiedPaymentSigner[\"signAll\"]>\n>;\n\nexport async function createSettlementSigner(\n params: CreateSettlementSignerParams,\n): Promise<CreateSettlementSignerResult> {\n const { context, buildResponse, publicClient, delegateAddressMap } = params;\n\n if (isApiAccountConfig(context.config)) {\n const signingService = new ApiKeyClientSigningService(\n context.config.publicKey,\n context.config.privateKey,\n );\n\n const signer = new UnifiedPaymentSigner({\n buildResponse,\n signingService,\n publicClient,\n delegateAddressMap,\n });\n\n return signer.signAll();\n }\n\n const account = privateKeyToAccount(context.config.privateKey);\n const walletClient = createWalletClient({\n account,\n transport: http(),\n });\n\n const signingService =\n ServerWalletSigningService.fromViemWallet(walletClient);\n\n const signer = new UnifiedPaymentSigner({\n buildResponse,\n signingService,\n publicClient,\n delegateAddressMap,\n });\n\n return signer.signAll();\n}\n","import type { OtimAccount } from \"@otim/sdk-core/account\";\nimport type { OtimServerClientContext } from \"@otim/sdk-core/context\";\nimport type {\n APIClient,\n BuildSettlementRequest,\n GetPaymentRequestsRequest,\n GetPaymentRequestsResponse,\n PaginatedServiceResponse,\n PaymentRequestBuildRequest,\n PaymentRequestDetailsRequest,\n PaymentRequestDetailsResponse,\n ServiceResponse,\n} from \"@otim/utils/api\";\nimport type { PaymentResponseWithActionNames } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\nimport type { Chain, PublicClient } from \"viem\";\n\nimport { getChainById } from \"@otim/utils/chains\";\nimport {\n addActionNamesToInstructions,\n extractActionNamesMap,\n} from \"@otim/utils/payments\";\nimport { hexStringSchema } from \"@otim/utils/schemas\";\nimport { createPublicClient, http } from \"viem\";\n\nimport { assertServerContext } from \"@otim/sdk-core/context\";\n\nimport { createSettlementSigner } from \"./helpers/settlement-signer\";\n\nexport interface CreateSettlementResponse {\n requestId: string;\n ephemeralWalletAddress: Address;\n}\n\nexport interface CreateRawConfig {\n settlementChainId: number;\n activate?: boolean;\n}\n\ntype SettlementInstruction =\n PaymentResponseWithActionNames[\"completionInstructions\"][number];\n\n/**\n * Extracts the settlement chain ID from a BuildSettlementRequest.\n * Handles all settlement types: regular, vault deposit, and vault withdraw.\n */\nfunction extractSettlementChainId(request: BuildSettlementRequest): number {\n const { params } = request;\n\n if (\"settlement\" in params) {\n return params.settlement.settlementChainId;\n }\n\n if (\"settlementVaultDeposit\" in params) {\n return params.settlementVaultDeposit.vaultChainId;\n }\n\n if (\"vaultWithdrawSettlement\" in params) {\n return params.vaultWithdrawSettlement.settlementChainId;\n }\n\n if (\"vaultMigrate\" in params) {\n return params.vaultMigrate.destVaultChainId;\n }\n\n throw new Error(\"Unknown settlement type\");\n}\n\nexport class OrchestrationClient {\n constructor(\n private readonly apiClient: APIClient,\n private readonly account: OtimAccount,\n private readonly context: OtimServerClientContext,\n ) {}\n\n async create(\n settlementRequest: BuildSettlementRequest,\n ): Promise<CreateSettlementResponse> {\n assertServerContext(this.context);\n\n const response =\n await this.apiClient.payments.buildSettlementOrchestration(\n settlementRequest,\n );\n const buildResponse = response.data;\n\n const settlementChainId = extractSettlementChainId(settlementRequest);\n\n await this.activate(buildResponse, settlementChainId);\n\n return {\n requestId: buildResponse.requestId,\n ephemeralWalletAddress: buildResponse.ephemeralWalletAddress,\n };\n }\n\n async createRaw(\n payload: PaymentRequestBuildRequest,\n config: CreateRawConfig,\n ): Promise<CreateSettlementResponse | PaymentResponseWithActionNames> {\n assertServerContext(this.context);\n\n const { settlementChainId, activate = true } = config;\n const buildResponse = await this.buildAndEnhanceSettlement(payload);\n\n if (!activate) {\n return buildResponse;\n }\n\n await this.activate(buildResponse, settlementChainId);\n\n return {\n requestId: buildResponse.requestId,\n ephemeralWalletAddress: buildResponse.ephemeralWalletAddress,\n };\n }\n\n async getDetails(\n request: PaymentRequestDetailsRequest,\n ): Promise<ServiceResponse<PaymentRequestDetailsResponse>> {\n return this.apiClient.payments.getPaymentRequestDetails(request);\n }\n\n async list(\n request: GetPaymentRequestsRequest,\n ): Promise<PaginatedServiceResponse<GetPaymentRequestsResponse>> {\n return this.apiClient.payments.getPaymentRequests(request);\n }\n\n private async activate(\n buildResponse: PaymentResponseWithActionNames,\n settlementChainId: number,\n ): Promise<void> {\n const publicClient = this.createPublicClient(settlementChainId);\n\n const instructions = [\n ...buildResponse.completionInstructions,\n ...buildResponse.instructions,\n ];\n\n const delegateAddressMap = await this.fetchDelegateAddresses(instructions);\n\n const {\n signedAuthorization,\n completionInstructions,\n instructions: signedInstructions,\n } = await createSettlementSigner({\n context: this.context,\n buildResponse,\n publicClient,\n delegateAddressMap,\n });\n\n await this.apiClient.payments.newPaymentRequest({\n requestId: buildResponse.requestId,\n signedAuthorization,\n completionInstructions,\n instructions: signedInstructions,\n });\n }\n\n private async buildAndEnhanceSettlement(\n payload: PaymentRequestBuildRequest,\n ): Promise<PaymentResponseWithActionNames> {\n const actionNames = extractActionNamesMap(\n payload.completionInstructions,\n payload.instructions,\n );\n\n const response = await this.apiClient.payments.buildPaymentRequest(payload);\n\n return addActionNamesToInstructions(response.data, actionNames);\n }\n\n private createPublicClient(chainId: number): PublicClient {\n const chain = getChainById(chainId);\n if (!chain) {\n throw new Error(`Chain with id ${chainId} not found`);\n }\n\n return createPublicClient({ chain: chain as Chain, transport: http() });\n }\n\n private async fetchDelegateAddresses(\n instructions: SettlementInstruction[],\n ): Promise<Map<number, Address>> {\n const chainIds = Array.from(\n new Set(instructions.map((instruction) => instruction.chainId)),\n );\n\n const addresses = await Promise.all(\n chainIds.map(async (chainId) => {\n const response = await this.apiClient.config.getDelegateAddress({\n chainId,\n });\n const address = hexStringSchema.parse(\n response.data.otimDelegateAddress,\n );\n return [chainId, address] as const;\n }),\n );\n\n return new Map(addresses);\n }\n}\n","import type {\n BuildSettlementRequest,\n OrchestrationParams,\n SettlementParams,\n VaultWithdrawSettlementParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nexport type {\n BuildSettlementRequest,\n OrchestrationParams,\n SettlementParams,\n VaultWithdrawSettlementParams,\n};\n\nexport interface PrepareSettlementParams {\n amount: bigint;\n chainId: SupportedChainId;\n recipient: Address;\n token: Address;\n acceptedTokens: Record<number, Address[]>;\n payer?: Nullable<Address>;\n dueDate?: string;\n metadata?: PaymentRequestMetadata;\n note?: string;\n maxRuns?: number;\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Converts acceptedTokens from Record<number, Address[]> to Record<string,\n * Address[]> as required by the API schema.\n */\nfunction convertAcceptedTokensToStringKeys(\n acceptedTokens: Record<number, Address[]>,\n): Record<string, Address[]> {\n const result: Record<string, Address[]> = {};\n for (const [chainId, tokens] of Object.entries(acceptedTokens)) {\n result[String(chainId)] = tokens;\n }\n return result;\n}\n\nexport function prepareSettlement(\n params: PrepareSettlementParams,\n): BuildSettlementRequest {\n const {\n chainId,\n token,\n acceptedTokens,\n recipient,\n amount,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount,\n recipient,\n token,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n settlement: {\n acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),\n settlementChainId: chainId,\n settlementToken: token,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n settlementAmount: toHex(amount),\n recipientAddress: recipient,\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n VaultWithdrawSettlementParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { VaultWithdrawSettlementParams };\n\nexport interface PrepareVaultWithdrawSettlementParams {\n vaultAddress: Address;\n vaultChainId: SupportedChainId;\n settlementChainId: SupportedChainId;\n settlementToken: Address;\n recipientAddress: Address;\n withdrawAmount: bigint;\n payer?: Nullable<Address>;\n dueDate?: string;\n metadata?: PaymentRequestMetadata;\n note?: string;\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\nexport function prepareVaultWithdrawSettlement(\n params: PrepareVaultWithdrawSettlementParams,\n): BuildSettlementRequest {\n const {\n vaultAddress,\n vaultChainId,\n settlementChainId,\n settlementToken,\n recipientAddress,\n withdrawAmount,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: withdrawAmount,\n recipient: recipientAddress,\n token: settlementToken,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n vaultWithdrawSettlement: {\n vaultAddress,\n vaultChainId,\n settlementChainId,\n settlementToken,\n recipientAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n withdrawAmount: toHex(withdrawAmount),\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n SettlementVaultDepositParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { SettlementVaultDepositParams };\n\nexport interface PrepareVaultDepositSettlementParams {\n /** Map of chain IDs to accepted token addresses for payment */\n acceptedTokens: Record<number, Address[]>;\n /** Chain ID where the vault is deployed */\n vaultChainId: SupportedChainId;\n /** ERC4626 vault address to deposit into */\n vaultAddress: Address;\n /** Optional: the underlying token of the vault (used only for metadata, not sent to API) */\n vaultUnderlyingToken?: Address;\n /** Amount to deposit in the vault's underlying token units */\n depositAmount: bigint;\n /** Address that will receive the vault shares */\n recipientAddress: Address;\n /** Minimum total shares required for the deposit to succeed */\n vaultMinTotalShares: bigint;\n /** Optional payer address */\n payer?: Nullable<Address>;\n /** Optional due date in ISO 8601 format */\n dueDate?: string;\n /** Optional custom metadata */\n metadata?: PaymentRequestMetadata;\n /** Optional note for the settlement */\n note?: string;\n /** Optional maximum number of execution runs */\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Converts acceptedTokens from Record<number, Address[]> to Record<string,\n * Address[]> as required by the API schema.\n */\nfunction convertAcceptedTokensToStringKeys(\n acceptedTokens: Record<number, Address[]>,\n): Record<string, Address[]> {\n const result: Record<string, Address[]> = {};\n for (const [chainId, tokens] of Object.entries(acceptedTokens)) {\n result[String(chainId)] = tokens;\n }\n return result;\n}\n\n/**\n * Prepares a vault deposit settlement request.\n *\n * This creates a settlement that deposits funds into an ERC4626 vault.\n * Funds can be collected from multiple chains (via acceptedTokens) and\n * deposited into the vault on the specified chain.\n *\n * @param params - The vault deposit settlement parameters\n * @returns A BuildSettlementRequest ready to be sent to the API\n */\nexport function prepareVaultDepositSettlement(\n params: PrepareVaultDepositSettlementParams,\n): BuildSettlementRequest {\n const {\n acceptedTokens,\n vaultChainId,\n vaultAddress,\n vaultUnderlyingToken,\n depositAmount,\n recipientAddress,\n vaultMinTotalShares,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: depositAmount,\n recipient: recipientAddress,\n token: vaultUnderlyingToken ?? vaultAddress,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n settlementVaultDeposit: {\n acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),\n vaultChainId,\n vaultAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n depositAmount: toHex(depositAmount),\n recipientAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n vaultMinTotalShares: toHex(vaultMinTotalShares),\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n VaultMigrateParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { VaultMigrateParams };\n\nexport interface PrepareVaultMigrateSettlementParams {\n /** Source vault address to withdraw from */\n sourceVaultAddress: Address;\n /** Optional: the underlying token of the source vault (used only for metadata, not sent to API) */\n sourceVaultUnderlyingToken?: Address;\n /** Chain ID where the source vault is deployed */\n sourceVaultChainId: SupportedChainId;\n /** Amount to withdraw from the source vault in underlying token units */\n withdrawAmount: bigint;\n /** Destination vault address to deposit into */\n destVaultAddress: Address;\n /** Optional: the underlying token of the destination vault (used only for metadata, not sent to API) */\n destVaultUnderlyingToken?: Address;\n /** Chain ID where the destination vault is deployed */\n destVaultChainId: SupportedChainId;\n /** Minimum total shares required for the deposit to succeed */\n destVaultMinTotalShares: bigint;\n /** Address that will receive the destination vault shares */\n recipientAddress: Address;\n /** Optional payer address */\n payer?: Nullable<Address>;\n /** Optional due date in ISO 8601 format */\n dueDate?: string;\n /** Optional custom metadata */\n metadata?: PaymentRequestMetadata;\n /** Optional note for the settlement */\n note?: string;\n /** Optional maximum number of execution runs */\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Prepares a vault migrate settlement request.\n *\n * This creates a settlement that migrates funds between two ERC4626 vaults.\n * Funds are withdrawn from the source vault and deposited into the destination\n * vault, which can be on the same chain or a different chain (cross-chain migration).\n *\n * @param params - The vault migrate settlement parameters\n * @returns A BuildSettlementRequest ready to be sent to the API\n */\nexport function prepareVaultMigrateSettlement(\n params: PrepareVaultMigrateSettlementParams,\n): BuildSettlementRequest {\n const {\n sourceVaultAddress,\n sourceVaultChainId,\n withdrawAmount,\n destVaultAddress,\n destVaultUnderlyingToken,\n destVaultChainId,\n destVaultMinTotalShares,\n recipientAddress,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: withdrawAmount,\n recipient: recipientAddress,\n token: destVaultUnderlyingToken ?? destVaultAddress,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n vaultMigrate: {\n sourceVaultAddress,\n sourceVaultChainId,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n withdrawAmount: toHex(withdrawAmount),\n destVaultAddress,\n destVaultChainId,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n destVaultMinTotalShares: toHex(destVaultMinTotalShares),\n recipientAddress,\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n"],"mappings":";;;;;;;;;;;;AAMA,IAAa,iBAAb,MAA4B;CAC1B,YAAY,AAAiBA,WAAsB;EAAtB;;CAE7B,MAAM,uBACJ,SACyC;AAIzC,UAFE,MAAM,KAAK,UAAU,SAAS,uBAAuB,QAAQ,EAE/C;;;;;;ACDpB,IAAa,aAAb,MAAwB;CACtB,YACE,AAAiBC,WACjB,AAAiBC,SACjB,AAAiBC,SACjB;EAHiB;EACA;EACA;;CAGnB,MAAM,MAAM,EAAE,WAAqD;AACjE,qBAAmB,KAAK,QAAQ;EAEhC,MAAM,UAAU,uBAAuB,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC;EAEtE,MAAM,qBAAqB,oBADT,MAAM,KAAK,QAAQ,YAAY,EAAE,SAAS,CAAC,CACJ;AAOzD,UALiB,MAAM,KAAK,UAAU,KAAK,MAAM;GAC/C,MAAM;GACN,WAAW;GACZ,CAAC,EAEc;;CAGlB,MAAM,iBAAsC;AAE1C,UADiB,MAAM,KAAK,UAAU,KAAK,IAAI,EAC/B;;;;;;AChCpB,IAAa,eAAb,MAA0B;CACxB,YAAY,AAAiBC,WAAsB;EAAtB;;CAE7B,MAAM,0BAA0B,EAC9B,WAC2F;AAI3F,UAFE,MAAM,KAAK,UAAU,OAAO,gCAAgC,EAAE,SAAS,CAAC,EAE1D;;;;;;ACNpB,IAAa,mBAAb,MAA8B;CAC5B,YAAY,AAAiBC,WAAsB;EAAtB;;CAE7B,MAAM,mBAAmB,EACvB,WACiE;AAKjE,UAJiB,MAAM,KAAK,UAAU,OAAO,mBAAmB,EAC9D,SACD,CAAC,EAEc;;CAGlB,MAAM,oBACJ,SACmC;AAMnC,UALiB,MAAM,KAAK,UAAU,QAAQ,oBAAoB;GAChE,SAAS,QAAQ;GACjB,SAAS,QAAQ;GAClB,CAAC,EAEc;;CAGlB,MAAM,iBACJ,mBACe;AACf,QAAM,KAAK,UAAU,QAAQ,iBAAiB,kBAAkB;;;;;;ACVpE,eAAsB,uBACpB,QACuC;CACvC,MAAM,EAAE,SAAS,eAAe,cAAc,uBAAuB;AAErE,KAAI,mBAAmB,QAAQ,OAAO,CAapC,QAPe,IAAI,qBAAqB;EACtC;EACA,gBAPqB,IAAI,2BACzB,QAAQ,OAAO,WACf,QAAQ,OAAO,WAChB;EAKC;EACA;EACD,CAAC,CAEY,SAAS;CAIzB,MAAM,eAAe,mBAAmB;EACtC,SAFc,oBAAoB,QAAQ,OAAO,WAAW;EAG5D,WAAW,MAAM;EAClB,CAAC;AAYF,QAPe,IAAI,qBAAqB;EACtC;EACA,gBAJA,2BAA2B,eAAe,aAAa;EAKvD;EACA;EACD,CAAC,CAEY,SAAS;;;;;;;;;ACjBzB,SAAS,yBAAyB,SAAyC;CACzE,MAAM,EAAE,WAAW;AAEnB,KAAI,gBAAgB,OAClB,QAAO,OAAO,WAAW;AAG3B,KAAI,4BAA4B,OAC9B,QAAO,OAAO,uBAAuB;AAGvC,KAAI,6BAA6B,OAC/B,QAAO,OAAO,wBAAwB;AAGxC,KAAI,kBAAkB,OACpB,QAAO,OAAO,aAAa;AAG7B,OAAM,IAAI,MAAM,0BAA0B;;AAG5C,IAAa,sBAAb,MAAiC;CAC/B,YACE,AAAiBC,WACjB,AAAiBC,SACjB,AAAiBC,SACjB;EAHiB;EACA;EACA;;CAGnB,MAAM,OACJ,mBACmC;AACnC,sBAAoB,KAAK,QAAQ;EAMjC,MAAM,iBAHJ,MAAM,KAAK,UAAU,SAAS,6BAC5B,kBACD,EAC4B;EAE/B,MAAM,oBAAoB,yBAAyB,kBAAkB;AAErE,QAAM,KAAK,SAAS,eAAe,kBAAkB;AAErD,SAAO;GACL,WAAW,cAAc;GACzB,wBAAwB,cAAc;GACvC;;CAGH,MAAM,UACJ,SACA,QACoE;AACpE,sBAAoB,KAAK,QAAQ;EAEjC,MAAM,EAAE,mBAAmB,WAAW,SAAS;EAC/C,MAAM,gBAAgB,MAAM,KAAK,0BAA0B,QAAQ;AAEnE,MAAI,CAAC,SACH,QAAO;AAGT,QAAM,KAAK,SAAS,eAAe,kBAAkB;AAErD,SAAO;GACL,WAAW,cAAc;GACzB,wBAAwB,cAAc;GACvC;;CAGH,MAAM,WACJ,SACyD;AACzD,SAAO,KAAK,UAAU,SAAS,yBAAyB,QAAQ;;CAGlE,MAAM,KACJ,SAC+D;AAC/D,SAAO,KAAK,UAAU,SAAS,mBAAmB,QAAQ;;CAG5D,MAAc,SACZ,eACA,mBACe;EACf,MAAM,eAAe,KAAK,mBAAmB,kBAAkB;EAE/D,MAAM,eAAe,CACnB,GAAG,cAAc,wBACjB,GAAG,cAAc,aAClB;EAED,MAAM,qBAAqB,MAAM,KAAK,uBAAuB,aAAa;EAE1E,MAAM,EACJ,qBACA,wBACA,cAAc,uBACZ,MAAM,uBAAuB;GAC/B,SAAS,KAAK;GACd;GACA;GACA;GACD,CAAC;AAEF,QAAM,KAAK,UAAU,SAAS,kBAAkB;GAC9C,WAAW,cAAc;GACzB;GACA;GACA,cAAc;GACf,CAAC;;CAGJ,MAAc,0BACZ,SACyC;EACzC,MAAM,cAAc,sBAClB,QAAQ,wBACR,QAAQ,aACT;AAID,SAAO,8BAFU,MAAM,KAAK,UAAU,SAAS,oBAAoB,QAAQ,EAE9B,MAAM,YAAY;;CAGjE,AAAQ,mBAAmB,SAA+B;EACxD,MAAM,QAAQ,aAAa,QAAQ;AACnC,MAAI,CAAC,MACH,OAAM,IAAI,MAAM,iBAAiB,QAAQ,YAAY;AAGvD,SAAO,mBAAmB;GAAS;GAAgB,WAAW,MAAM;GAAE,CAAC;;CAGzE,MAAc,uBACZ,cAC+B;EAC/B,MAAM,WAAW,MAAM,KACrB,IAAI,IAAI,aAAa,KAAK,gBAAgB,YAAY,QAAQ,CAAC,CAChE;EAED,MAAM,YAAY,MAAM,QAAQ,IAC9B,SAAS,IAAI,OAAO,YAAY;GAC9B,MAAM,WAAW,MAAM,KAAK,UAAU,OAAO,mBAAmB,EAC9D,SACD,CAAC;AAIF,UAAO,CAAC,SAHQ,gBAAgB,MAC9B,SAAS,KAAK,oBACf,CACwB;IACzB,CACH;AAED,SAAO,IAAI,IAAI,UAAU;;;;;;;;;;ACvL7B,SAASC,sBAA4B;CACnC,MAAM,uBAAO,IAAI,MAAM;AACvB,MAAK,QAAQ,KAAK,SAAS,GAAG,GAAG;AACjC,QAAO,KAAK,aAAa;;AAuB3B,SAASC,0BAAwB,QAQN;CACzB,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,SAAS,OAAO,mBACtD;CAcF,MAAM,oBAAoB;EACxB,GAVmB,qBAAqB;GACxC,aAAa;GACb,aAJkB,OAAO,OAAO,GAAG;GAKnC,oBAAoB;GACpB;GACA,OAAO;IAAE,MAAM;IAAI,SAAS,SAAS;IAAW;GAChD,SAAS,WAAWD,qBAAmB;GACxC,CAAC;EAIA;EACA,QAAQ;EACR,MAAM;EACP;AAED,QAAO,iBACH;EAAE,GAAG;EAAmB,GAAG;EAAgB,GAC3C;;;;;;AAON,SAASE,oCACP,gBAC2B;CAC3B,MAAMC,SAAoC,EAAE;AAC5C,MAAK,MAAM,CAAC,SAAS,WAAW,OAAO,QAAQ,eAAe,CAC5D,QAAO,OAAO,QAAQ,IAAI;AAE5B,QAAO;;AAGT,SAAgB,kBACd,QACwB;CACxB,MAAM,EACJ,SACA,OACA,gBACA,WACA,QACA,OACA,MACA,SACA,UAAU,gBACV,YACE;AAEJ,KAAI,QACF,qBAAoB,QAAQ;CAG9B,MAAM,WAAWF,0BAAwB;EACvC;EACA;EACA;EACA;EACA;EACA,OAAO,SAAS;EAChB;EACD,CAAC;AAEF,QAAO;EACL,QAAQ,EACN,YAAY;GACV,gBAAgBC,oCAAkC,eAAe;GACjE,mBAAmB;GACnB,iBAAiB;GAEjB,kBAAkB,MAAM,OAAO;GAC/B,kBAAkB;GACnB,EACF;EACD,cAAc,SAAS;EACvB;EACA,SAAS,WAAW;EACpB,SAAS,WAAW;EACrB;;;;;;;;;AC3GH,SAASE,sBAA4B;CACnC,MAAM,uBAAO,IAAI,MAAM;AACvB,MAAK,QAAQ,KAAK,SAAS,GAAG,GAAG;AACjC,QAAO,KAAK,aAAa;;AAG3B,SAASC,0BAAwB,QAQN;CACzB,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,SAAS,OAAO,mBACtD;CAcF,MAAM,oBAAoB;EACxB,GAVmB,qBAAqB;GACxC,aAAa;GACb,aAJkB,OAAO,OAAO,GAAG;GAKnC,oBAAoB;GACpB;GACA,OAAO;IAAE,MAAM;IAAI,SAAS,SAAS;IAAW;GAChD,SAAS,WAAWD,qBAAmB;GACxC,CAAC;EAIA;EACA,QAAQ;EACR,MAAM;EACP;AAED,QAAO,iBACH;EAAE,GAAG;EAAmB,GAAG;EAAgB,GAC3C;;AAGN,SAAgB,+BACd,QACwB;CACxB,MAAM,EACJ,cACA,cACA,mBACA,iBACA,kBACA,gBACA,OACA,MACA,SACA,UAAU,gBACV,YACE;AAEJ,KAAI,QACF,qBAAoB,QAAQ;CAG9B,MAAM,WAAWC,0BAAwB;EACvC,QAAQ;EACR,WAAW;EACX,OAAO;EACP;EACA;EACA,OAAO,SAAS;EAChB;EACD,CAAC;AAEF,QAAO;EACL,QAAQ,EACN,yBAAyB;GACvB;GACA;GACA;GACA;GACA;GAEA,gBAAgB,MAAM,eAAe;GACtC,EACF;EACD,cAAc,SAAS;EACvB;EACA,SAAS,WAAW;EACpB,SAAS,WAAW;EACrB;;;;;;;;;AC5EH,SAASC,sBAA4B;CACnC,MAAM,uBAAO,IAAI,MAAM;AACvB,MAAK,QAAQ,KAAK,SAAS,GAAG,GAAG;AACjC,QAAO,KAAK,aAAa;;AAG3B,SAASC,0BAAwB,QAQN;CACzB,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,SAAS,OAAO,mBACtD;CAcF,MAAM,oBAAoB;EACxB,GAVmB,qBAAqB;GACxC,aAAa;GACb,aAJkB,OAAO,OAAO,GAAG;GAKnC,oBAAoB;GACpB;GACA,OAAO;IAAE,MAAM;IAAI,SAAS,SAAS;IAAW;GAChD,SAAS,WAAWD,qBAAmB;GACxC,CAAC;EAIA;EACA,QAAQ;EACR,MAAM;EACP;AAED,QAAO,iBACH;EAAE,GAAG;EAAmB,GAAG;EAAgB,GAC3C;;;;;;AAON,SAAS,kCACP,gBAC2B;CAC3B,MAAME,SAAoC,EAAE;AAC5C,MAAK,MAAM,CAAC,SAAS,WAAW,OAAO,QAAQ,eAAe,CAC5D,QAAO,OAAO,QAAQ,IAAI;AAE5B,QAAO;;;;;;;;;;;;AAaT,SAAgB,8BACd,QACwB;CACxB,MAAM,EACJ,gBACA,cACA,cACA,sBACA,eACA,kBACA,qBACA,OACA,MACA,SACA,UAAU,gBACV,YACE;AAEJ,KAAI,QACF,qBAAoB,QAAQ;CAG9B,MAAM,WAAWD,0BAAwB;EACvC,QAAQ;EACR,WAAW;EACX,OAAO,wBAAwB;EAC/B;EACA;EACA,OAAO,SAAS;EAChB;EACD,CAAC;AAEF,QAAO;EACL,QAAQ,EACN,wBAAwB;GACtB,gBAAgB,kCAAkC,eAAe;GACjE;GACA;GAEA,eAAe,MAAM,cAAc;GACnC;GAEA,qBAAqB,MAAM,oBAAoB;GAChD,EACF;EACD,cAAc,SAAS;EACvB;EACA,SAAS,WAAW;EACpB,SAAS,WAAW;EACrB;;;;;;;;;AC/GH,SAAS,oBAA4B;CACnC,MAAM,uBAAO,IAAI,MAAM;AACvB,MAAK,QAAQ,KAAK,SAAS,GAAG,GAAG;AACjC,QAAO,KAAK,aAAa;;AAG3B,SAAS,wBAAwB,QAQN;CACzB,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,SAAS,OAAO,mBACtD;CAcF,MAAM,oBAAoB;EACxB,GAVmB,qBAAqB;GACxC,aAAa;GACb,aAJkB,OAAO,OAAO,GAAG;GAKnC,oBAAoB;GACpB;GACA,OAAO;IAAE,MAAM;IAAI,SAAS,SAAS;IAAW;GAChD,SAAS,WAAW,mBAAmB;GACxC,CAAC;EAIA;EACA,QAAQ;EACR,MAAM;EACP;AAED,QAAO,iBACH;EAAE,GAAG;EAAmB,GAAG;EAAgB,GAC3C;;;;;;;;;;;;AAaN,SAAgB,8BACd,QACwB;CACxB,MAAM,EACJ,oBACA,oBACA,gBACA,kBACA,0BACA,kBACA,yBACA,kBACA,OACA,MACA,SACA,UAAU,gBACV,YACE;AAEJ,KAAI,QACF,qBAAoB,QAAQ;CAG9B,MAAM,WAAW,wBAAwB;EACvC,QAAQ;EACR,WAAW;EACX,OAAO,4BAA4B;EACnC;EACA;EACA,OAAO,SAAS;EAChB;EACD,CAAC;AAEF,QAAO;EACL,QAAQ,EACN,cAAc;GACZ;GACA;GAEA,gBAAgB,MAAM,eAAe;GACrC;GACA;GAEA,yBAAyB,MAAM,wBAAwB;GACvD;GACD,EACF;EACD,cAAc,SAAS;EACvB;EACA,SAAS,WAAW;EACpB,SAAS,WAAW;EACrB"}
@@ -285,7 +285,7 @@ function buildMetadataFromParams$2(params) {
285
285
  } : metadataWithToken;
286
286
  }
287
287
  function prepareVaultWithdrawSettlement(params) {
288
- const { vaultAddress, vaultUnderlyingToken, vaultChainId, settlementChainId, settlementToken, recipientAddress, withdrawAmount, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
288
+ const { vaultAddress, vaultChainId, settlementChainId, settlementToken, recipientAddress, withdrawAmount, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
289
289
  if (dueDate) (0, __otim_utils_helpers.validateIso8601Date)(dueDate);
290
290
  const metadata = buildMetadataFromParams$2({
291
291
  amount: withdrawAmount,
@@ -299,7 +299,6 @@ function prepareVaultWithdrawSettlement(params) {
299
299
  return {
300
300
  params: { vaultWithdrawSettlement: {
301
301
  vaultAddress,
302
- vaultUnderlyingToken,
303
302
  vaultChainId,
304
303
  settlementChainId,
305
304
  settlementToken,
@@ -372,7 +371,7 @@ function prepareVaultDepositSettlement(params) {
372
371
  const metadata = buildMetadataFromParams$1({
373
372
  amount: depositAmount,
374
373
  recipient: recipientAddress,
375
- token: vaultUnderlyingToken,
374
+ token: vaultUnderlyingToken ?? vaultAddress,
376
375
  note,
377
376
  dueDate,
378
377
  payer: payer ?? void 0,
@@ -383,7 +382,6 @@ function prepareVaultDepositSettlement(params) {
383
382
  acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),
384
383
  vaultChainId,
385
384
  vaultAddress,
386
- vaultUnderlyingToken,
387
385
  depositAmount: (0, viem.toHex)(depositAmount),
388
386
  recipientAddress,
389
387
  vaultMinTotalShares: (0, viem.toHex)(vaultMinTotalShares)
@@ -440,12 +438,12 @@ function buildMetadataFromParams(params) {
440
438
  * @returns A BuildSettlementRequest ready to be sent to the API
441
439
  */
442
440
  function prepareVaultMigrateSettlement(params) {
443
- const { sourceVaultAddress, sourceVaultUnderlyingToken, sourceVaultChainId, withdrawAmount, destVaultAddress, destVaultUnderlyingToken, destVaultChainId, destVaultMinTotalShares, recipientAddress, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
441
+ const { sourceVaultAddress, sourceVaultChainId, withdrawAmount, destVaultAddress, destVaultUnderlyingToken, destVaultChainId, destVaultMinTotalShares, recipientAddress, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
444
442
  if (dueDate) (0, __otim_utils_helpers.validateIso8601Date)(dueDate);
445
443
  const metadata = buildMetadataFromParams({
446
444
  amount: withdrawAmount,
447
445
  recipient: recipientAddress,
448
- token: destVaultUnderlyingToken,
446
+ token: destVaultUnderlyingToken ?? destVaultAddress,
449
447
  note,
450
448
  dueDate,
451
449
  payer: payer ?? void 0,
@@ -454,11 +452,9 @@ function prepareVaultMigrateSettlement(params) {
454
452
  return {
455
453
  params: { vaultMigrate: {
456
454
  sourceVaultAddress,
457
- sourceVaultUnderlyingToken,
458
455
  sourceVaultChainId,
459
456
  withdrawAmount: (0, viem.toHex)(withdrawAmount),
460
457
  destVaultAddress,
461
- destVaultUnderlyingToken,
462
458
  destVaultChainId,
463
459
  destVaultMinTotalShares: (0, viem.toHex)(destVaultMinTotalShares),
464
460
  recipientAddress
@@ -531,4 +527,4 @@ Object.defineProperty(exports, 'prepareVaultWithdrawSettlement', {
531
527
  return prepareVaultWithdrawSettlement;
532
528
  }
533
529
  });
534
- //# sourceMappingURL=clients-BZliDINN.cjs.map
530
+ //# sourceMappingURL=clients-D8fUV8fR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients-D8fUV8fR.cjs","names":["apiClient: APIClient","apiClient: APIClient","account: OtimAccount","context: OtimClientContext","apiClient: APIClient","apiClient: APIClient","isApiAccountConfig","UnifiedPaymentSigner","ApiKeyClientSigningService","ServerWalletSigningService","apiClient: APIClient","account: OtimAccount","context: OtimServerClientContext","hexStringSchema","getDefaultDueDate","buildMetadataFromParams","convertAcceptedTokensToStringKeys","result: Record<string, Address[]>","getDefaultDueDate","buildMetadataFromParams","getDefaultDueDate","buildMetadataFromParams","result: Record<string, Address[]>"],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/helpers/settlement-signer.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts"],"sourcesContent":["import type {\n APIClient,\n GetInstructionActivityRequest,\n GetInstructionActivityResponse,\n} from \"@otim/utils/api\";\n\nexport class ActivityClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getInstructionActivity(\n request: GetInstructionActivityRequest,\n ): Promise<GetInstructionActivityResponse> {\n const response =\n await this.apiClient.activity.getInstructionActivity(request);\n\n return response.data;\n }\n}\n","import type { OtimAccount } from \"@otim/sdk-core/account\";\nimport type { OtimClientContext } from \"@otim/sdk-core/context\";\nimport type { APIClient, AuthLoginResponse, MeResponse } from \"@otim/utils/api\";\nimport type { Address } from \"viem\";\n\nimport { parseSignatureToVRS } from \"@otim/utils/helpers\";\n\nimport { createLoginSiweMessage } from \"@otim/sdk-core/config\";\nimport { assertRequiresAuth } from \"@otim/sdk-core/context\";\n\nexport interface LoginOptions {\n address: Address;\n}\n\nexport class AuthClient {\n constructor(\n private readonly apiClient: APIClient,\n private readonly account: OtimAccount,\n private readonly context: OtimClientContext,\n ) {}\n\n async login({ address }: LoginOptions): Promise<AuthLoginResponse> {\n assertRequiresAuth(this.context);\n\n const message = createLoginSiweMessage(address, Date.now().toString());\n const signature = await this.account.signMessage({ message });\n const vrsParsedSignature = parseSignatureToVRS(signature);\n\n const response = await this.apiClient.auth.login({\n siwe: message,\n signature: vrsParsedSignature,\n });\n\n return response.data;\n }\n\n async getCurrentUser(): Promise<MeResponse> {\n const response = await this.apiClient.auth.me();\n return response.data;\n }\n}\n","import type {\n APIClient,\n GetMaxPriorityFeePerGasEstimateRequest,\n GetMaxPriorityFeePerGasEstimateResponse,\n} from \"@otim/utils/api\";\n\nexport class ConfigClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getMaxPriorityFeeEstimate({\n chainId,\n }: GetMaxPriorityFeePerGasEstimateRequest): Promise<GetMaxPriorityFeePerGasEstimateResponse> {\n const response =\n await this.apiClient.config.getMaxPriorityFeePerGasEstimate({ chainId });\n\n return response.data;\n }\n}\n","import type {\n APIClient,\n DelegationCreateRequest,\n DelegationStatusRequest,\n DelegationStatusResponse,\n GetDelegateAddressRequest,\n GetDelegateAddressResponse,\n} from \"@otim/utils/api\";\n\nexport class DelegationClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getDelegateAddress({\n chainId,\n }: GetDelegateAddressRequest): Promise<GetDelegateAddressResponse> {\n const response = await this.apiClient.config.getDelegateAddress({\n chainId,\n });\n\n return response.data;\n }\n\n async getDelegationStatus(\n options: DelegationStatusRequest,\n ): Promise<DelegationStatusResponse> {\n const response = await this.apiClient.account.getDelegationStatus({\n address: options.address,\n chainId: options.chainId,\n });\n\n return response.data;\n }\n\n async createDelegation(\n delegationRequest: DelegationCreateRequest,\n ): Promise<void> {\n await this.apiClient.account.createDelegation(delegationRequest);\n }\n}\n","import type { OtimServerClientContext } from \"../../context\";\nimport type { PaymentResponseWithActionNames } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\nimport type { PublicClient } from \"viem\";\n\nimport { createWalletClient, http } from \"viem\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nimport { isApiAccountConfig } from \"../../account\";\nimport {\n ApiKeyClientSigningService,\n ServerWalletSigningService,\n UnifiedPaymentSigner,\n} from \"../../signing\";\n\nexport interface CreateSettlementSignerParams {\n context: OtimServerClientContext;\n buildResponse: PaymentResponseWithActionNames;\n publicClient: PublicClient;\n delegateAddressMap: Map<number, Address>;\n}\n\ntype CreateSettlementSignerResult = Awaited<\n ReturnType<UnifiedPaymentSigner[\"signAll\"]>\n>;\n\nexport async function createSettlementSigner(\n params: CreateSettlementSignerParams,\n): Promise<CreateSettlementSignerResult> {\n const { context, buildResponse, publicClient, delegateAddressMap } = params;\n\n if (isApiAccountConfig(context.config)) {\n const signingService = new ApiKeyClientSigningService(\n context.config.publicKey,\n context.config.privateKey,\n );\n\n const signer = new UnifiedPaymentSigner({\n buildResponse,\n signingService,\n publicClient,\n delegateAddressMap,\n });\n\n return signer.signAll();\n }\n\n const account = privateKeyToAccount(context.config.privateKey);\n const walletClient = createWalletClient({\n account,\n transport: http(),\n });\n\n const signingService =\n ServerWalletSigningService.fromViemWallet(walletClient);\n\n const signer = new UnifiedPaymentSigner({\n buildResponse,\n signingService,\n publicClient,\n delegateAddressMap,\n });\n\n return signer.signAll();\n}\n","import type { OtimAccount } from \"@otim/sdk-core/account\";\nimport type { OtimServerClientContext } from \"@otim/sdk-core/context\";\nimport type {\n APIClient,\n BuildSettlementRequest,\n GetPaymentRequestsRequest,\n GetPaymentRequestsResponse,\n PaginatedServiceResponse,\n PaymentRequestBuildRequest,\n PaymentRequestDetailsRequest,\n PaymentRequestDetailsResponse,\n ServiceResponse,\n} from \"@otim/utils/api\";\nimport type { PaymentResponseWithActionNames } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\nimport type { Chain, PublicClient } from \"viem\";\n\nimport { getChainById } from \"@otim/utils/chains\";\nimport {\n addActionNamesToInstructions,\n extractActionNamesMap,\n} from \"@otim/utils/payments\";\nimport { hexStringSchema } from \"@otim/utils/schemas\";\nimport { createPublicClient, http } from \"viem\";\n\nimport { assertServerContext } from \"@otim/sdk-core/context\";\n\nimport { createSettlementSigner } from \"./helpers/settlement-signer\";\n\nexport interface CreateSettlementResponse {\n requestId: string;\n ephemeralWalletAddress: Address;\n}\n\nexport interface CreateRawConfig {\n settlementChainId: number;\n activate?: boolean;\n}\n\ntype SettlementInstruction =\n PaymentResponseWithActionNames[\"completionInstructions\"][number];\n\n/**\n * Extracts the settlement chain ID from a BuildSettlementRequest.\n * Handles all settlement types: regular, vault deposit, and vault withdraw.\n */\nfunction extractSettlementChainId(request: BuildSettlementRequest): number {\n const { params } = request;\n\n if (\"settlement\" in params) {\n return params.settlement.settlementChainId;\n }\n\n if (\"settlementVaultDeposit\" in params) {\n return params.settlementVaultDeposit.vaultChainId;\n }\n\n if (\"vaultWithdrawSettlement\" in params) {\n return params.vaultWithdrawSettlement.settlementChainId;\n }\n\n if (\"vaultMigrate\" in params) {\n return params.vaultMigrate.destVaultChainId;\n }\n\n throw new Error(\"Unknown settlement type\");\n}\n\nexport class OrchestrationClient {\n constructor(\n private readonly apiClient: APIClient,\n private readonly account: OtimAccount,\n private readonly context: OtimServerClientContext,\n ) {}\n\n async create(\n settlementRequest: BuildSettlementRequest,\n ): Promise<CreateSettlementResponse> {\n assertServerContext(this.context);\n\n const response =\n await this.apiClient.payments.buildSettlementOrchestration(\n settlementRequest,\n );\n const buildResponse = response.data;\n\n const settlementChainId = extractSettlementChainId(settlementRequest);\n\n await this.activate(buildResponse, settlementChainId);\n\n return {\n requestId: buildResponse.requestId,\n ephemeralWalletAddress: buildResponse.ephemeralWalletAddress,\n };\n }\n\n async createRaw(\n payload: PaymentRequestBuildRequest,\n config: CreateRawConfig,\n ): Promise<CreateSettlementResponse | PaymentResponseWithActionNames> {\n assertServerContext(this.context);\n\n const { settlementChainId, activate = true } = config;\n const buildResponse = await this.buildAndEnhanceSettlement(payload);\n\n if (!activate) {\n return buildResponse;\n }\n\n await this.activate(buildResponse, settlementChainId);\n\n return {\n requestId: buildResponse.requestId,\n ephemeralWalletAddress: buildResponse.ephemeralWalletAddress,\n };\n }\n\n async getDetails(\n request: PaymentRequestDetailsRequest,\n ): Promise<ServiceResponse<PaymentRequestDetailsResponse>> {\n return this.apiClient.payments.getPaymentRequestDetails(request);\n }\n\n async list(\n request: GetPaymentRequestsRequest,\n ): Promise<PaginatedServiceResponse<GetPaymentRequestsResponse>> {\n return this.apiClient.payments.getPaymentRequests(request);\n }\n\n private async activate(\n buildResponse: PaymentResponseWithActionNames,\n settlementChainId: number,\n ): Promise<void> {\n const publicClient = this.createPublicClient(settlementChainId);\n\n const instructions = [\n ...buildResponse.completionInstructions,\n ...buildResponse.instructions,\n ];\n\n const delegateAddressMap = await this.fetchDelegateAddresses(instructions);\n\n const {\n signedAuthorization,\n completionInstructions,\n instructions: signedInstructions,\n } = await createSettlementSigner({\n context: this.context,\n buildResponse,\n publicClient,\n delegateAddressMap,\n });\n\n await this.apiClient.payments.newPaymentRequest({\n requestId: buildResponse.requestId,\n signedAuthorization,\n completionInstructions,\n instructions: signedInstructions,\n });\n }\n\n private async buildAndEnhanceSettlement(\n payload: PaymentRequestBuildRequest,\n ): Promise<PaymentResponseWithActionNames> {\n const actionNames = extractActionNamesMap(\n payload.completionInstructions,\n payload.instructions,\n );\n\n const response = await this.apiClient.payments.buildPaymentRequest(payload);\n\n return addActionNamesToInstructions(response.data, actionNames);\n }\n\n private createPublicClient(chainId: number): PublicClient {\n const chain = getChainById(chainId);\n if (!chain) {\n throw new Error(`Chain with id ${chainId} not found`);\n }\n\n return createPublicClient({ chain: chain as Chain, transport: http() });\n }\n\n private async fetchDelegateAddresses(\n instructions: SettlementInstruction[],\n ): Promise<Map<number, Address>> {\n const chainIds = Array.from(\n new Set(instructions.map((instruction) => instruction.chainId)),\n );\n\n const addresses = await Promise.all(\n chainIds.map(async (chainId) => {\n const response = await this.apiClient.config.getDelegateAddress({\n chainId,\n });\n const address = hexStringSchema.parse(\n response.data.otimDelegateAddress,\n );\n return [chainId, address] as const;\n }),\n );\n\n return new Map(addresses);\n }\n}\n","import type {\n BuildSettlementRequest,\n OrchestrationParams,\n SettlementParams,\n VaultWithdrawSettlementParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nexport type {\n BuildSettlementRequest,\n OrchestrationParams,\n SettlementParams,\n VaultWithdrawSettlementParams,\n};\n\nexport interface PrepareSettlementParams {\n amount: bigint;\n chainId: SupportedChainId;\n recipient: Address;\n token: Address;\n acceptedTokens: Record<number, Address[]>;\n payer?: Nullable<Address>;\n dueDate?: string;\n metadata?: PaymentRequestMetadata;\n note?: string;\n maxRuns?: number;\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Converts acceptedTokens from Record<number, Address[]> to Record<string,\n * Address[]> as required by the API schema.\n */\nfunction convertAcceptedTokensToStringKeys(\n acceptedTokens: Record<number, Address[]>,\n): Record<string, Address[]> {\n const result: Record<string, Address[]> = {};\n for (const [chainId, tokens] of Object.entries(acceptedTokens)) {\n result[String(chainId)] = tokens;\n }\n return result;\n}\n\nexport function prepareSettlement(\n params: PrepareSettlementParams,\n): BuildSettlementRequest {\n const {\n chainId,\n token,\n acceptedTokens,\n recipient,\n amount,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount,\n recipient,\n token,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n settlement: {\n acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),\n settlementChainId: chainId,\n settlementToken: token,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n settlementAmount: toHex(amount),\n recipientAddress: recipient,\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n VaultWithdrawSettlementParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { VaultWithdrawSettlementParams };\n\nexport interface PrepareVaultWithdrawSettlementParams {\n vaultAddress: Address;\n vaultChainId: SupportedChainId;\n settlementChainId: SupportedChainId;\n settlementToken: Address;\n recipientAddress: Address;\n withdrawAmount: bigint;\n payer?: Nullable<Address>;\n dueDate?: string;\n metadata?: PaymentRequestMetadata;\n note?: string;\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\nexport function prepareVaultWithdrawSettlement(\n params: PrepareVaultWithdrawSettlementParams,\n): BuildSettlementRequest {\n const {\n vaultAddress,\n vaultChainId,\n settlementChainId,\n settlementToken,\n recipientAddress,\n withdrawAmount,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: withdrawAmount,\n recipient: recipientAddress,\n token: settlementToken,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n vaultWithdrawSettlement: {\n vaultAddress,\n vaultChainId,\n settlementChainId,\n settlementToken,\n recipientAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n withdrawAmount: toHex(withdrawAmount),\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n SettlementVaultDepositParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { SettlementVaultDepositParams };\n\nexport interface PrepareVaultDepositSettlementParams {\n /** Map of chain IDs to accepted token addresses for payment */\n acceptedTokens: Record<number, Address[]>;\n /** Chain ID where the vault is deployed */\n vaultChainId: SupportedChainId;\n /** ERC4626 vault address to deposit into */\n vaultAddress: Address;\n /** Optional: the underlying token of the vault (used only for metadata, not sent to API) */\n vaultUnderlyingToken?: Address;\n /** Amount to deposit in the vault's underlying token units */\n depositAmount: bigint;\n /** Address that will receive the vault shares */\n recipientAddress: Address;\n /** Minimum total shares required for the deposit to succeed */\n vaultMinTotalShares: bigint;\n /** Optional payer address */\n payer?: Nullable<Address>;\n /** Optional due date in ISO 8601 format */\n dueDate?: string;\n /** Optional custom metadata */\n metadata?: PaymentRequestMetadata;\n /** Optional note for the settlement */\n note?: string;\n /** Optional maximum number of execution runs */\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Converts acceptedTokens from Record<number, Address[]> to Record<string,\n * Address[]> as required by the API schema.\n */\nfunction convertAcceptedTokensToStringKeys(\n acceptedTokens: Record<number, Address[]>,\n): Record<string, Address[]> {\n const result: Record<string, Address[]> = {};\n for (const [chainId, tokens] of Object.entries(acceptedTokens)) {\n result[String(chainId)] = tokens;\n }\n return result;\n}\n\n/**\n * Prepares a vault deposit settlement request.\n *\n * This creates a settlement that deposits funds into an ERC4626 vault.\n * Funds can be collected from multiple chains (via acceptedTokens) and\n * deposited into the vault on the specified chain.\n *\n * @param params - The vault deposit settlement parameters\n * @returns A BuildSettlementRequest ready to be sent to the API\n */\nexport function prepareVaultDepositSettlement(\n params: PrepareVaultDepositSettlementParams,\n): BuildSettlementRequest {\n const {\n acceptedTokens,\n vaultChainId,\n vaultAddress,\n vaultUnderlyingToken,\n depositAmount,\n recipientAddress,\n vaultMinTotalShares,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: depositAmount,\n recipient: recipientAddress,\n token: vaultUnderlyingToken ?? vaultAddress,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n settlementVaultDeposit: {\n acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),\n vaultChainId,\n vaultAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n depositAmount: toHex(depositAmount),\n recipientAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n vaultMinTotalShares: toHex(vaultMinTotalShares),\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n VaultMigrateParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { VaultMigrateParams };\n\nexport interface PrepareVaultMigrateSettlementParams {\n /** Source vault address to withdraw from */\n sourceVaultAddress: Address;\n /** Optional: the underlying token of the source vault (used only for metadata, not sent to API) */\n sourceVaultUnderlyingToken?: Address;\n /** Chain ID where the source vault is deployed */\n sourceVaultChainId: SupportedChainId;\n /** Amount to withdraw from the source vault in underlying token units */\n withdrawAmount: bigint;\n /** Destination vault address to deposit into */\n destVaultAddress: Address;\n /** Optional: the underlying token of the destination vault (used only for metadata, not sent to API) */\n destVaultUnderlyingToken?: Address;\n /** Chain ID where the destination vault is deployed */\n destVaultChainId: SupportedChainId;\n /** Minimum total shares required for the deposit to succeed */\n destVaultMinTotalShares: bigint;\n /** Address that will receive the destination vault shares */\n recipientAddress: Address;\n /** Optional payer address */\n payer?: Nullable<Address>;\n /** Optional due date in ISO 8601 format */\n dueDate?: string;\n /** Optional custom metadata */\n metadata?: PaymentRequestMetadata;\n /** Optional note for the settlement */\n note?: string;\n /** Optional maximum number of execution runs */\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Prepares a vault migrate settlement request.\n *\n * This creates a settlement that migrates funds between two ERC4626 vaults.\n * Funds are withdrawn from the source vault and deposited into the destination\n * vault, which can be on the same chain or a different chain (cross-chain migration).\n *\n * @param params - The vault migrate settlement parameters\n * @returns A BuildSettlementRequest ready to be sent to the API\n */\nexport function prepareVaultMigrateSettlement(\n params: PrepareVaultMigrateSettlementParams,\n): BuildSettlementRequest {\n const {\n sourceVaultAddress,\n sourceVaultChainId,\n withdrawAmount,\n destVaultAddress,\n destVaultUnderlyingToken,\n destVaultChainId,\n destVaultMinTotalShares,\n recipientAddress,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: withdrawAmount,\n recipient: recipientAddress,\n token: destVaultUnderlyingToken ?? destVaultAddress,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n vaultMigrate: {\n sourceVaultAddress,\n sourceVaultChainId,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n withdrawAmount: toHex(withdrawAmount),\n destVaultAddress,\n destVaultChainId,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n destVaultMinTotalShares: toHex(destVaultMinTotalShares),\n recipientAddress,\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n"],"mappings":"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"}
@@ -93,7 +93,6 @@ declare function prepareSettlement(params: PrepareSettlementParams): BuildSettle
93
93
  //#region src/clients/helpers/prepare-vault-withdraw-settlement.d.ts
94
94
  interface PrepareVaultWithdrawSettlementParams {
95
95
  vaultAddress: Address;
96
- vaultUnderlyingToken: Address;
97
96
  vaultChainId: SupportedChainId;
98
97
  settlementChainId: SupportedChainId;
99
98
  settlementToken: Address;
@@ -115,8 +114,8 @@ interface PrepareVaultDepositSettlementParams {
115
114
  vaultChainId: SupportedChainId;
116
115
  /** ERC4626 vault address to deposit into */
117
116
  vaultAddress: Address;
118
- /** The underlying token of the vault */
119
- vaultUnderlyingToken: Address;
117
+ /** Optional: the underlying token of the vault (used only for metadata, not sent to API) */
118
+ vaultUnderlyingToken?: Address;
120
119
  /** Amount to deposit in the vault's underlying token units */
121
120
  depositAmount: bigint;
122
121
  /** Address that will receive the vault shares */
@@ -150,16 +149,16 @@ declare function prepareVaultDepositSettlement(params: PrepareVaultDepositSettle
150
149
  interface PrepareVaultMigrateSettlementParams {
151
150
  /** Source vault address to withdraw from */
152
151
  sourceVaultAddress: Address;
153
- /** The underlying token of the source vault */
154
- sourceVaultUnderlyingToken: Address;
152
+ /** Optional: the underlying token of the source vault (used only for metadata, not sent to API) */
153
+ sourceVaultUnderlyingToken?: Address;
155
154
  /** Chain ID where the source vault is deployed */
156
155
  sourceVaultChainId: SupportedChainId;
157
156
  /** Amount to withdraw from the source vault in underlying token units */
158
157
  withdrawAmount: bigint;
159
158
  /** Destination vault address to deposit into */
160
159
  destVaultAddress: Address;
161
- /** The underlying token of the destination vault */
162
- destVaultUnderlyingToken: Address;
160
+ /** Optional: the underlying token of the destination vault (used only for metadata, not sent to API) */
161
+ destVaultUnderlyingToken?: Address;
163
162
  /** Chain ID where the destination vault is deployed */
164
163
  destVaultChainId: SupportedChainId;
165
164
  /** Minimum total shares required for the deposit to succeed */
@@ -200,4 +199,4 @@ type CreateSettlementSignerResult = Awaited<ReturnType<UnifiedPaymentSigner["sig
200
199
  declare function createSettlementSigner(params: CreateSettlementSignerParams): Promise<CreateSettlementSignerResult>;
201
200
  //#endregion
202
201
  export { ActivityClient as C, LoginOptions as S, CreateSettlementResponse as _, prepareVaultMigrateSettlement as a, ConfigClient as b, prepareVaultDepositSettlement as c, BuildSettlementRequest$1 as d, OrchestrationParams as f, CreateRawConfig as g, prepareSettlement as h, VaultMigrateParams as i, PrepareVaultWithdrawSettlementParams as l, SettlementParams as m, createSettlementSigner as n, PrepareVaultDepositSettlementParams as o, PrepareSettlementParams as p, PrepareVaultMigrateSettlementParams as r, SettlementVaultDepositParams as s, CreateSettlementSignerParams as t, prepareVaultWithdrawSettlement as u, OrchestrationClient as v, AuthClient as x, DelegationClient as y };
203
- //# sourceMappingURL=index-BXxyBVLr.d.mts.map
202
+ //# sourceMappingURL=index-C3e6ozxv.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BXxyBVLr.d.mts","names":[],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts","../src/clients/helpers/settlement-signer.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index-C3e6ozxv.d.mts","names":[],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts","../src/clients/helpers/settlement-signer.ts"],"sourcesContent":[],"mappings":"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"}
@@ -93,7 +93,6 @@ declare function prepareSettlement(params: PrepareSettlementParams): BuildSettle
93
93
  //#region src/clients/helpers/prepare-vault-withdraw-settlement.d.ts
94
94
  interface PrepareVaultWithdrawSettlementParams {
95
95
  vaultAddress: Address;
96
- vaultUnderlyingToken: Address;
97
96
  vaultChainId: SupportedChainId;
98
97
  settlementChainId: SupportedChainId;
99
98
  settlementToken: Address;
@@ -115,8 +114,8 @@ interface PrepareVaultDepositSettlementParams {
115
114
  vaultChainId: SupportedChainId;
116
115
  /** ERC4626 vault address to deposit into */
117
116
  vaultAddress: Address;
118
- /** The underlying token of the vault */
119
- vaultUnderlyingToken: Address;
117
+ /** Optional: the underlying token of the vault (used only for metadata, not sent to API) */
118
+ vaultUnderlyingToken?: Address;
120
119
  /** Amount to deposit in the vault's underlying token units */
121
120
  depositAmount: bigint;
122
121
  /** Address that will receive the vault shares */
@@ -150,16 +149,16 @@ declare function prepareVaultDepositSettlement(params: PrepareVaultDepositSettle
150
149
  interface PrepareVaultMigrateSettlementParams {
151
150
  /** Source vault address to withdraw from */
152
151
  sourceVaultAddress: Address;
153
- /** The underlying token of the source vault */
154
- sourceVaultUnderlyingToken: Address;
152
+ /** Optional: the underlying token of the source vault (used only for metadata, not sent to API) */
153
+ sourceVaultUnderlyingToken?: Address;
155
154
  /** Chain ID where the source vault is deployed */
156
155
  sourceVaultChainId: SupportedChainId;
157
156
  /** Amount to withdraw from the source vault in underlying token units */
158
157
  withdrawAmount: bigint;
159
158
  /** Destination vault address to deposit into */
160
159
  destVaultAddress: Address;
161
- /** The underlying token of the destination vault */
162
- destVaultUnderlyingToken: Address;
160
+ /** Optional: the underlying token of the destination vault (used only for metadata, not sent to API) */
161
+ destVaultUnderlyingToken?: Address;
163
162
  /** Chain ID where the destination vault is deployed */
164
163
  destVaultChainId: SupportedChainId;
165
164
  /** Minimum total shares required for the deposit to succeed */
@@ -200,4 +199,4 @@ type CreateSettlementSignerResult = Awaited<ReturnType<UnifiedPaymentSigner["sig
200
199
  declare function createSettlementSigner(params: CreateSettlementSignerParams): Promise<CreateSettlementSignerResult>;
201
200
  //#endregion
202
201
  export { ActivityClient as C, LoginOptions as S, CreateSettlementResponse as _, prepareVaultMigrateSettlement as a, ConfigClient as b, prepareVaultDepositSettlement as c, BuildSettlementRequest$1 as d, OrchestrationParams as f, CreateRawConfig as g, prepareSettlement as h, VaultMigrateParams as i, PrepareVaultWithdrawSettlementParams as l, SettlementParams as m, createSettlementSigner as n, PrepareVaultDepositSettlementParams as o, PrepareSettlementParams as p, PrepareVaultMigrateSettlementParams as r, SettlementVaultDepositParams as s, CreateSettlementSignerParams as t, prepareVaultWithdrawSettlement as u, OrchestrationClient as v, AuthClient as x, DelegationClient as y };
203
- //# sourceMappingURL=index-DRcZEfBz.d.cts.map
202
+ //# sourceMappingURL=index-C5HbBg3r.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DRcZEfBz.d.cts","names":[],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts","../src/clients/helpers/settlement-signer.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index-C5HbBg3r.d.cts","names":[],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts","../src/clients/helpers/settlement-signer.ts"],"sourcesContent":[],"mappings":"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"}