@digitalworld/digital-world-sdk 16.0.0 → 16.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/digital-world-sdk-axios.js +52 -47
- package/dist/digital-world-sdk-axios.js.map +1 -1
- package/dist/digital-world-sdk-axios.min.js +1 -1
- package/dist/digital-world-sdk-axios.min.js.map +1 -1
- package/dist/digital-world-sdk.js +52 -47
- package/dist/digital-world-sdk.js.map +1 -1
- package/dist/digital-world-sdk.min.js +6 -6
- package/dist/digital-world-sdk.min.js.map +1 -1
- package/lib/axios/cjs/base/contract.js +2 -2
- package/lib/axios/cjs/base/contract.js.map +1 -1
- package/lib/axios/cjs/base/invocation.js.map +1 -1
- package/lib/axios/cjs/base/numbers/sc_int.js +1 -1
- package/lib/axios/cjs/base/numbers/sc_int.js.map +1 -1
- package/lib/axios/cjs/base/operation.js +1 -1
- package/lib/axios/cjs/base/operation.js.map +1 -1
- package/lib/axios/cjs/base/operations/invoke_host_function.js +2 -2
- package/lib/axios/cjs/base/operations/invoke_host_function.js.map +1 -1
- package/lib/axios/cjs/base/operations/revoke_sponsorship.js.map +1 -1
- package/lib/axios/cjs/bindings/config.js +4 -4
- package/lib/axios/cjs/bindings/config.js.map +1 -1
- package/lib/axios/cjs/bindings/generator.js +4 -4
- package/lib/axios/cjs/bindings/generator.js.map +1 -1
- package/lib/axios/cjs/bindings/types.js.map +1 -1
- package/lib/axios/cjs/bindings/utils.js +2 -2
- package/lib/axios/cjs/bindings/utils.js.map +1 -1
- package/lib/axios/cjs/bindings/wasm_fetcher.js +2 -2
- package/lib/axios/cjs/bindings/wasm_fetcher.js.map +1 -1
- package/lib/axios/cjs/contract/assembled_transaction.js.map +1 -1
- package/lib/axios/cjs/contract/spec.js +1 -1
- package/lib/axios/cjs/contract/spec.js.map +1 -1
- package/lib/axios/cjs/contract/types.js.map +1 -1
- package/lib/axios/cjs/gateway/gateway_axios_client.js +1 -1
- package/lib/axios/cjs/gateway/server_api.js.map +1 -1
- package/lib/axios/cjs/rpc/api.js.map +1 -1
- package/lib/axios/cjs/rpc/axios.js +1 -1
- package/lib/axios/cjs/rpc/server.js +32 -27
- package/lib/axios/cjs/rpc/server.js.map +1 -1
- package/lib/axios/cjs/webauth/utils.js.map +1 -1
- package/lib/axios/esm/base/contract.d.ts +4 -4
- package/lib/axios/esm/base/contract.js +2 -2
- package/lib/axios/esm/base/contract.js.map +1 -1
- package/lib/axios/esm/base/invocation.d.ts +2 -2
- package/lib/axios/esm/base/invocation.js.map +1 -1
- package/lib/axios/esm/base/numbers/sc_int.d.ts +2 -2
- package/lib/axios/esm/base/numbers/sc_int.js +1 -1
- package/lib/axios/esm/base/numbers/sc_int.js.map +1 -1
- package/lib/axios/esm/base/operation.d.ts +2 -2
- package/lib/axios/esm/base/operation.js +2 -2
- package/lib/axios/esm/base/operation.js.map +1 -1
- package/lib/axios/esm/base/operations/index.d.ts +1 -1
- package/lib/axios/esm/base/operations/invoke_host_function.d.ts +5 -5
- package/lib/axios/esm/base/operations/invoke_host_function.js +2 -2
- package/lib/axios/esm/base/operations/invoke_host_function.js.map +1 -1
- package/lib/axios/esm/base/operations/revoke_sponsorship.d.ts +1 -1
- package/lib/axios/esm/base/operations/revoke_sponsorship.js.map +1 -1
- package/lib/axios/esm/base/operations/types.d.ts +2 -2
- package/lib/axios/esm/bindings/config.js +4 -4
- package/lib/axios/esm/bindings/config.js.map +1 -1
- package/lib/axios/esm/bindings/generator.d.ts +7 -7
- package/lib/axios/esm/bindings/generator.js +4 -4
- package/lib/axios/esm/bindings/generator.js.map +1 -1
- package/lib/axios/esm/bindings/types.d.ts +1 -1
- package/lib/axios/esm/bindings/types.js.map +1 -1
- package/lib/axios/esm/bindings/utils.d.ts +4 -4
- package/lib/axios/esm/bindings/utils.js +2 -2
- package/lib/axios/esm/bindings/utils.js.map +1 -1
- package/lib/axios/esm/bindings/wasm_fetcher.js +2 -2
- package/lib/axios/esm/bindings/wasm_fetcher.js.map +1 -1
- package/lib/axios/esm/contract/assembled_transaction.d.ts +1 -1
- package/lib/axios/esm/contract/assembled_transaction.js.map +1 -1
- package/lib/axios/esm/contract/spec.js +1 -1
- package/lib/axios/esm/contract/spec.js.map +1 -1
- package/lib/axios/esm/contract/types.d.ts +2 -2
- package/lib/axios/esm/contract/types.js.map +1 -1
- package/lib/axios/esm/gateway/gateway_axios_client.js +1 -1
- package/lib/axios/esm/gateway/server_api.d.ts +2 -2
- package/lib/axios/esm/gateway/server_api.js.map +1 -1
- package/lib/axios/esm/rpc/api.d.ts +1 -1
- package/lib/axios/esm/rpc/api.js.map +1 -1
- package/lib/axios/esm/rpc/axios.js +1 -1
- package/lib/axios/esm/rpc/browser.d.ts +1 -1
- package/lib/axios/esm/rpc/server.d.ts +26 -26
- package/lib/axios/esm/rpc/server.js +32 -27
- package/lib/axios/esm/rpc/server.js.map +1 -1
- package/lib/axios/esm/webauth/utils.d.ts +2 -2
- package/lib/axios/esm/webauth/utils.js.map +1 -1
- package/lib/cjs/base/contract.js +2 -2
- package/lib/cjs/base/contract.js.map +1 -1
- package/lib/cjs/base/invocation.js.map +1 -1
- package/lib/cjs/base/numbers/sc_int.js +1 -1
- package/lib/cjs/base/numbers/sc_int.js.map +1 -1
- package/lib/cjs/base/operation.js +1 -1
- package/lib/cjs/base/operation.js.map +1 -1
- package/lib/cjs/base/operations/invoke_host_function.js +2 -2
- package/lib/cjs/base/operations/invoke_host_function.js.map +1 -1
- package/lib/cjs/base/operations/revoke_sponsorship.js.map +1 -1
- package/lib/cjs/bindings/config.js +4 -4
- package/lib/cjs/bindings/config.js.map +1 -1
- package/lib/cjs/bindings/generator.js +4 -4
- package/lib/cjs/bindings/generator.js.map +1 -1
- package/lib/cjs/bindings/types.js.map +1 -1
- package/lib/cjs/bindings/utils.js +2 -2
- package/lib/cjs/bindings/utils.js.map +1 -1
- package/lib/cjs/bindings/wasm_fetcher.js +2 -2
- package/lib/cjs/bindings/wasm_fetcher.js.map +1 -1
- package/lib/cjs/contract/assembled_transaction.js.map +1 -1
- package/lib/cjs/contract/spec.js +1 -1
- package/lib/cjs/contract/spec.js.map +1 -1
- package/lib/cjs/contract/types.js.map +1 -1
- package/lib/cjs/gateway/gateway_axios_client.js +1 -1
- package/lib/cjs/gateway/server_api.js.map +1 -1
- package/lib/cjs/rpc/api.js.map +1 -1
- package/lib/cjs/rpc/axios.js +1 -1
- package/lib/cjs/rpc/server.js +32 -27
- package/lib/cjs/rpc/server.js.map +1 -1
- package/lib/cjs/webauth/utils.js.map +1 -1
- package/lib/esm/base/contract.d.ts +4 -4
- package/lib/esm/base/contract.js +2 -2
- package/lib/esm/base/contract.js.map +1 -1
- package/lib/esm/base/invocation.d.ts +2 -2
- package/lib/esm/base/invocation.js.map +1 -1
- package/lib/esm/base/numbers/sc_int.d.ts +2 -2
- package/lib/esm/base/numbers/sc_int.js +1 -1
- package/lib/esm/base/numbers/sc_int.js.map +1 -1
- package/lib/esm/base/operation.d.ts +2 -2
- package/lib/esm/base/operation.js +2 -2
- package/lib/esm/base/operation.js.map +1 -1
- package/lib/esm/base/operations/index.d.ts +1 -1
- package/lib/esm/base/operations/invoke_host_function.d.ts +5 -5
- package/lib/esm/base/operations/invoke_host_function.js +2 -2
- package/lib/esm/base/operations/invoke_host_function.js.map +1 -1
- package/lib/esm/base/operations/revoke_sponsorship.d.ts +1 -1
- package/lib/esm/base/operations/revoke_sponsorship.js.map +1 -1
- package/lib/esm/base/operations/types.d.ts +2 -2
- package/lib/esm/bindings/config.js +4 -4
- package/lib/esm/bindings/config.js.map +1 -1
- package/lib/esm/bindings/generator.d.ts +7 -7
- package/lib/esm/bindings/generator.js +4 -4
- package/lib/esm/bindings/generator.js.map +1 -1
- package/lib/esm/bindings/types.d.ts +1 -1
- package/lib/esm/bindings/types.js.map +1 -1
- package/lib/esm/bindings/utils.d.ts +4 -4
- package/lib/esm/bindings/utils.js +2 -2
- package/lib/esm/bindings/utils.js.map +1 -1
- package/lib/esm/bindings/wasm_fetcher.js +2 -2
- package/lib/esm/bindings/wasm_fetcher.js.map +1 -1
- package/lib/esm/contract/assembled_transaction.d.ts +1 -1
- package/lib/esm/contract/assembled_transaction.js.map +1 -1
- package/lib/esm/contract/spec.js +1 -1
- package/lib/esm/contract/spec.js.map +1 -1
- package/lib/esm/contract/types.d.ts +2 -2
- package/lib/esm/contract/types.js.map +1 -1
- package/lib/esm/gateway/gateway_axios_client.js +1 -1
- package/lib/esm/gateway/server_api.d.ts +2 -2
- package/lib/esm/gateway/server_api.js.map +1 -1
- package/lib/esm/rpc/api.d.ts +1 -1
- package/lib/esm/rpc/api.js.map +1 -1
- package/lib/esm/rpc/axios.js +1 -1
- package/lib/esm/rpc/browser.d.ts +1 -1
- package/lib/esm/rpc/server.d.ts +26 -26
- package/lib/esm/rpc/server.js +32 -27
- package/lib/esm/rpc/server.js.map +1 -1
- package/lib/esm/webauth/utils.d.ts +2 -2
- package/lib/esm/webauth/utils.js.map +1 -1
- package/package.json +41 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sc_int.js","sources":["../../../../src/base/numbers/sc_int.ts"],"sourcesContent":["import { XdrLargeInt, type ScIntType } from \"./xdr_large_int.js\";\n\n/**\n * Provides an easier way to manipulate large numbers for
|
|
1
|
+
{"version":3,"file":"sc_int.js","sources":["../../../../src/base/numbers/sc_int.ts"],"sourcesContent":["import { XdrLargeInt, type ScIntType } from \"./xdr_large_int.js\";\n\n/**\n * Provides an easier way to manipulate large numbers for Digital World operations.\n *\n * You can instantiate this \"**s**mart **c**ontract integer\" value either from\n * bigints, strings, or numbers (whole numbers, or this will throw).\n *\n * If you need to create a native BigInt from a list of integer \"parts\" (for\n * example, you have a series of encoded 32-bit integers that represent a larger\n * value), you can use the lower level abstraction {@link XdrLargeInt}. For\n * example, you could do `new XdrLargeInt('u128', bytes...).toBigInt()`.\n *\n * @example\n * ```ts\n * import { xdr, ScInt, scValToBigInt } from \"@stellar/stellar-base\";\n *\n * // You have an ScVal from a contract and want to parse it into JS native.\n * const value = xdr.ScVal.fromXDR(someXdr, \"base64\");\n * const bigi = scValToBigInt(value); // grab it as a BigInt\n * let sci = new ScInt(bigi);\n *\n * sci.toNumber(); // gives native JS type (w/ size check)\n * sci.toBigInt(); // gives the native BigInt value\n * sci.toU64(); // gives ScValType-specific XDR constructs (with size checks)\n *\n * // You have a number and want to shove it into a contract.\n * sci = new ScInt(0xdeadcafebabe);\n * sci.toBigInt() // returns 244838016400062n\n * sci.toNumber() // throws: too large\n *\n * // Pass any to e.g. a Contract.call(), conversion happens automatically\n * // regardless of the initial type.\n * const scValU128 = sci.toU128();\n * const scValI256 = sci.toI256();\n * const scValU64 = sci.toU64();\n *\n * // Lots of ways to initialize:\n * new ScInt(\"123456789123456789\")\n * new ScInt(123456789123456789n);\n * new ScInt(1n << 140n);\n * new ScInt(-42);\n * new ScInt(scValToBigInt(scValU128)); // from above\n *\n * // If you know the type ahead of time (accessing `.raw` is faster than\n * // conversions), you can specify the type directly (otherwise, it's\n * // interpreted from the numbers you pass in):\n * const i = new ScInt(123456789n, { type: \"u256\" });\n *\n * // For example, you can use the underlying `sdk.U256` and convert it to an\n * // `xdr.ScVal` directly like so:\n * const scv = new xdr.ScVal.scvU256(i.raw);\n *\n * // Or reinterpret it as a different type (size permitting):\n * const scv = i.toI64();\n * ```\n *\n * @throws if the `value` is invalid (e.g. floating point), too\n * large (i.e. exceeds a 256-bit value), doesn't fit in the `opts.type`,\n * the signedness of `opts.type` doesn't match the input `value`, or a\n * string `value` can't be parsed as a big integer\n */\nexport class ScInt extends XdrLargeInt {\n /**\n * @param value - a single, integer-like value which will\n * be interpreted in the smallest appropriate XDR type supported by Digital World\n * (64, 128, or 256 bit integer values). signed values are supported, though\n * they are sanity-checked against `opts.type`. if you need 32-bit values,\n * you can construct them directly without needing this wrapper, e.g.\n * `xdr.ScVal.scvU32(1234)`.\n * @param opts - an optional object controlling optional parameters\n * - `type`: specify a type ('i64', 'u64', 'i128', 'u128', 'i256',\n * or 'u256') to override the default type selection. If not specified, the\n * smallest type that fits the value is used.\n */\n constructor(\n value: bigint | number | string,\n opts?: { type?: ScIntType; [key: string]: unknown },\n ) {\n const bigValue = BigInt(value);\n const signed = bigValue < 0n;\n\n let type = opts?.type ?? \"\";\n if (type.startsWith(\"u\") && signed) {\n throw TypeError(`specified type ${opts?.type} yet negative (${value})`);\n }\n\n // If unspecified, we make a best guess at the type based on the bit length\n // of the value, treating 64 as a minimum and 256 as a maximum.\n if (type === \"\") {\n type = signed ? \"i\" : \"u\";\n const bitlen = nearestBigIntSize(bigValue);\n\n switch (bitlen) {\n case 64:\n case 128:\n case 256:\n type += bitlen.toString();\n break;\n\n default:\n throw RangeError(\n `expected 64/128/256 bits for input (${value}), got ${bitlen}`,\n );\n }\n }\n\n super(type as ScIntType, bigValue);\n }\n}\n\nfunction nearestBigIntSize(bigI: bigint): number {\n if (bigI < 0n) {\n // Two's complement: N bits represent -(2^(N-1)) to 2^(N-1)-1.\n // For negative values, compute the signed bit width as\n // (bitlen of abs-1) + 1 to account for the sign bit. This correctly\n // classifies -(2^63) as 64 bits (fits i64) and -(2^63)-1 as 65 bits\n // (needs i128).\n const abs = -bigI;\n const bitlen = (abs - 1n).toString(2).length + 1;\n return [64, 128, 256].find((len) => bitlen <= len) ?? bitlen;\n }\n\n const bitlen = bigI.toString(2).length;\n return [64, 128, 256].find((len) => bitlen <= len) ?? bitlen;\n}\n"],"names":["bitlen"],"mappings":";;AA8DO,MAAM,cAAc,WAAA,CAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAarC,WAAA,CACE,OACA,IAAA,EACA;AACA,IAAA,MAAM,QAAA,GAAW,OAAO,KAAK,CAAA;AAC7B,IAAA,MAAM,SAAS,QAAA,GAAW,EAAA;AAE1B,IAAA,IAAI,IAAA,GAAO,MAAM,IAAA,IAAQ,EAAA;AACzB,IAAA,IAAI,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,IAAK,MAAA,EAAQ;AAClC,MAAA,MAAM,UAAU,CAAA,eAAA,EAAkB,IAAA,EAAM,IAAI,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,CAAA;AAAA,IACxE;AAIA,IAAA,IAAI,SAAS,EAAA,EAAI;AACf,MAAA,IAAA,GAAO,SAAS,GAAA,GAAM,GAAA;AACtB,MAAA,MAAM,MAAA,GAAS,kBAAkB,QAAQ,CAAA;AAEzC,MAAA,QAAQ,MAAA;AAAQ,QACd,KAAK,EAAA;AAAA,QACL,KAAK,GAAA;AAAA,QACL,KAAK,GAAA;AACH,UAAA,IAAA,IAAQ,OAAO,QAAA,EAAS;AACxB,UAAA;AAAA,QAEF;AACE,UAAA,MAAM,UAAA;AAAA,YACJ,CAAA,oCAAA,EAAuC,KAAK,CAAA,OAAA,EAAU,MAAM,CAAA;AAAA,WAC9D;AAAA;AACJ,IACF;AAEA,IAAA,KAAA,CAAM,MAAmB,QAAQ,CAAA;AAAA,EACnC;AACF;AAEA,SAAS,kBAAkB,IAAA,EAAsB;AAC/C,EAAA,IAAI,OAAO,EAAA,EAAI;AAMb,IAAA,MAAM,MAAM,CAAC,IAAA;AACb,IAAA,MAAMA,WAAU,GAAA,GAAM,EAAA,EAAI,QAAA,CAAS,CAAC,EAAE,MAAA,GAAS,CAAA;AAC/C,IAAA,OAAO,CAAC,EAAA,EAAI,GAAA,EAAK,GAAG,CAAA,CAAE,KAAK,CAAC,GAAA,KAAQA,OAAAA,IAAU,GAAG,CAAA,IAAKA,OAAAA;AAAA,EACxD;AAEA,EAAA,MAAM,MAAA,GAAS,IAAA,CAAK,QAAA,CAAS,CAAC,CAAA,CAAE,MAAA;AAChC,EAAA,OAAO,CAAC,EAAA,EAAI,GAAA,EAAK,GAAG,CAAA,CAAE,KAAK,CAAC,GAAA,KAAQ,MAAA,IAAU,GAAG,CAAA,IAAK,MAAA;AACxD;;;;"}
|
|
@@ -69,7 +69,7 @@ export declare const AuthClawbackEnabledFlag: number;
|
|
|
69
69
|
* * `{@link Operation.liquidityPoolWithdraw}`
|
|
70
70
|
* * `{@link Operation.invokeHostFunction}`, which has the following additional
|
|
71
71
|
* "pseudo-operations" that make building host functions easier:
|
|
72
|
-
* - `{@link Operation.
|
|
72
|
+
* - `{@link Operation.createDigitalWorldAssetContract}`
|
|
73
73
|
* - `{@link Operation.invokeContractFunction}`
|
|
74
74
|
* - `{@link Operation.createCustomContract}`
|
|
75
75
|
* - `{@link Operation.uploadContractWasm}`
|
|
@@ -118,7 +118,7 @@ export declare class Operation {
|
|
|
118
118
|
static invokeHostFunction: typeof ops.invokeHostFunction;
|
|
119
119
|
static extendFootprintTtl: typeof ops.extendFootprintTtl;
|
|
120
120
|
static restoreFootprint: typeof ops.restoreFootprint;
|
|
121
|
-
static
|
|
121
|
+
static createDigitalWorldAssetContract: typeof ops.createDigitalWorldAssetContract;
|
|
122
122
|
static invokeContractFunction: typeof ops.invokeContractFunction;
|
|
123
123
|
static createCustomContract: typeof ops.createCustomContract;
|
|
124
124
|
static uploadContractWasm: typeof ops.uploadContractWasm;
|
|
@@ -30,7 +30,7 @@ import { clawback } from './operations/clawback.js';
|
|
|
30
30
|
import { setTrustLineFlags } from './operations/set_trustline_flags.js';
|
|
31
31
|
import { liquidityPoolDeposit } from './operations/liquidity_pool_deposit.js';
|
|
32
32
|
import { liquidityPoolWithdraw } from './operations/liquidity_pool_withdraw.js';
|
|
33
|
-
import { invokeHostFunction,
|
|
33
|
+
import { invokeHostFunction, createDigitalWorldAssetContract, invokeContractFunction, createCustomContract, uploadContractWasm } from './operations/invoke_host_function.js';
|
|
34
34
|
import { extendFootprintTtl } from './operations/extend_footprint_ttl.js';
|
|
35
35
|
import { restoreFootprint } from './operations/restore_footprint.js';
|
|
36
36
|
import { fromXDRAmount, fromXDRPrice } from './util/operations.js';
|
|
@@ -341,7 +341,7 @@ class Operation {
|
|
|
341
341
|
static restoreFootprint = restoreFootprint;
|
|
342
342
|
// These are not `xdr.Operation`s directly, but proxies for common
|
|
343
343
|
// versions of `Operation.invokeHostFunction`
|
|
344
|
-
static
|
|
344
|
+
static createDigitalWorldAssetContract = createDigitalWorldAssetContract;
|
|
345
345
|
static invokeContractFunction = invokeContractFunction;
|
|
346
346
|
static createCustomContract = createCustomContract;
|
|
347
347
|
static uploadContractWasm = uploadContractWasm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sources":["../../../src/base/operation.ts"],"sourcesContent":["import { Asset } from \"./asset.js\";\nimport { LiquidityPoolAsset } from \"./liquidity_pool_asset.js\";\nimport { Claimant } from \"./claimant.js\";\nimport { StrKey } from \"./strkey.js\";\nimport { LiquidityPoolId } from \"./liquidity_pool_id.js\";\nimport xdr from \"./xdr.js\";\n\nimport { trimEnd } from \"./util/util.js\";\nimport { encodeMuxedAccountToAddress } from \"./util/decode_encode_muxed_account.js\";\n\nimport * as ops from \"./operations/index.js\";\nimport type {\n OperationRecord,\n OperationType as _OperationType,\n BaseOperation as _BaseOperation,\n CreateAccountResult,\n PaymentResult,\n PathPaymentStrictReceiveResult,\n PathPaymentStrictSendResult,\n CreatePassiveSellOfferResult,\n ManageSellOfferResult,\n ManageBuyOfferResult,\n SetOptionsResult,\n ChangeTrustResult,\n AllowTrustResult,\n AccountMergeResult,\n InflationResult,\n ManageDataResult,\n BumpSequenceResult,\n CreateClaimableBalanceResult,\n ClaimClaimableBalanceResult,\n BeginSponsoringFutureReservesResult,\n EndSponsoringFutureReservesResult,\n RevokeAccountSponsorshipResult,\n RevokeTrustlineSponsorshipResult,\n RevokeOfferSponsorshipResult,\n RevokeDataSponsorshipResult,\n RevokeClaimableBalanceSponsorshipResult,\n RevokeLiquidityPoolSponsorshipResult,\n RevokeSignerSponsorshipResult,\n ClawbackResult,\n ClawbackClaimableBalanceResult,\n SetTrustLineFlagsResult,\n LiquidityPoolDepositResult,\n LiquidityPoolWithdrawResult,\n InvokeHostFunctionResult,\n ExtendFootprintTTLResult,\n RestoreFootprintResult,\n Signer,\n} from \"./operations/types.js\";\nimport { fromXDRAmount, fromXDRPrice } from \"./util/operations.js\";\n\n/**\n * When set using `{@link Operation.setOptions}` option, requires the issuing\n * account to give other accounts permission before they can hold the issuing\n * account’s credit.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthRequiredFlag = 1 << 0;\n/**\n * When set using `{@link Operation.setOptions}` option, allows the issuing\n * account to revoke its credit held by other accounts.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthRevocableFlag = 1 << 1;\n/**\n * When set using `{@link Operation.setOptions}` option, then none of the\n * authorization flags can be set and the account can never be deleted.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthImmutableFlag = 1 << 2;\n\n/**\n * When set using `{@link Operation.setOptions}` option, then any trustlines\n * created by this account can have a ClawbackOp operation submitted for the\n * corresponding asset.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthClawbackEnabledFlag = 1 << 3;\n\n/**\n * `Operation` class represents\n * [operations](https://docs.digitalworld.global/docs/glossary/operations/) in\n * Digital World Network.\n *\n * Use one of static methods to create operations:\n * * `{@link Operation.createAccount}`\n * * `{@link Operation.payment}`\n * * `{@link Operation.pathPaymentStrictReceive}`\n * * `{@link Operation.pathPaymentStrictSend}`\n * * `{@link Operation.manageSellOffer}`\n * * `{@link Operation.manageBuyOffer}`\n * * `{@link Operation.createPassiveSellOffer}`\n * * `{@link Operation.setOptions}`\n * * `{@link Operation.changeTrust}`\n * * `{@link Operation.allowTrust}`\n * * `{@link Operation.accountMerge}`\n * * `{@link Operation.inflation}`\n * * `{@link Operation.manageData}`\n * * `{@link Operation.bumpSequence}`\n * * `{@link Operation.createClaimableBalance}`\n * * `{@link Operation.claimClaimableBalance}`\n * * `{@link Operation.beginSponsoringFutureReserves}`\n * * `{@link Operation.endSponsoringFutureReserves}`\n * * `{@link Operation.revokeAccountSponsorship}`\n * * `{@link Operation.revokeTrustlineSponsorship}`\n * * `{@link Operation.revokeOfferSponsorship}`\n * * `{@link Operation.revokeDataSponsorship}`\n * * `{@link Operation.revokeClaimableBalanceSponsorship}`\n * * `{@link Operation.revokeLiquidityPoolSponsorship}`\n * * `{@link Operation.revokeSignerSponsorship}`\n * * `{@link Operation.clawback}`\n * * `{@link Operation.clawbackClaimableBalance}`\n * * `{@link Operation.setTrustLineFlags}`\n * * `{@link Operation.liquidityPoolDeposit}`\n * * `{@link Operation.liquidityPoolWithdraw}`\n * * `{@link Operation.invokeHostFunction}`, which has the following additional\n * \"pseudo-operations\" that make building host functions easier:\n * - `{@link Operation.createStellarAssetContract}`\n * - `{@link Operation.invokeContractFunction}`\n * - `{@link Operation.createCustomContract}`\n * - `{@link Operation.uploadContractWasm}`\n * * `{@link Operation.extendFootprintTtlOp}`\n * * `{@link Operation.restoreFootprint}`\n *\n */\nexport class Operation {\n /**\n * Deconstructs the raw XDR operation object into the structured object that\n * was used to create the operation (i.e. the `opts` parameter to most ops).\n *\n * @param operation - An XDR Operation.\n */\n\n static fromXDRObject<T extends OperationRecord = OperationRecord>(\n operation: xdr.Operation<T>,\n ): T {\n const result: Record<string, unknown> = {};\n const sourceAccount = operation.sourceAccount();\n\n if (sourceAccount) {\n result.source = encodeMuxedAccountToAddress(sourceAccount);\n }\n\n const attrs: any = operation.body().value();\n const operationName: string = operation.body().switch().name;\n\n switch (operationName) {\n case \"createAccount\": {\n result.type = \"createAccount\";\n result.destination = accountIdtoAddress(attrs.destination());\n result.startingBalance = fromXDRAmount(attrs.startingBalance());\n break;\n }\n case \"payment\": {\n result.type = \"payment\";\n result.destination = encodeMuxedAccountToAddress(attrs.destination());\n result.asset = Asset.fromOperation(attrs.asset());\n result.amount = fromXDRAmount(attrs.amount());\n break;\n }\n case \"pathPaymentStrictReceive\": {\n result.type = \"pathPaymentStrictReceive\";\n result.sendAsset = Asset.fromOperation(attrs.sendAsset());\n result.sendMax = fromXDRAmount(attrs.sendMax());\n result.destination = encodeMuxedAccountToAddress(attrs.destination());\n result.destAsset = Asset.fromOperation(attrs.destAsset());\n result.destAmount = fromXDRAmount(attrs.destAmount());\n result.path = [];\n\n const path = attrs.path();\n\n Object.keys(path).forEach((pathKey) => {\n (result.path as Asset[]).push(Asset.fromOperation(path[pathKey]));\n });\n break;\n }\n case \"pathPaymentStrictSend\": {\n result.type = \"pathPaymentStrictSend\";\n result.sendAsset = Asset.fromOperation(attrs.sendAsset());\n result.sendAmount = fromXDRAmount(attrs.sendAmount());\n result.destination = encodeMuxedAccountToAddress(attrs.destination());\n result.destAsset = Asset.fromOperation(attrs.destAsset());\n result.destMin = fromXDRAmount(attrs.destMin());\n result.path = [];\n\n const path = attrs.path();\n\n Object.keys(path).forEach((pathKey) => {\n (result.path as Asset[]).push(Asset.fromOperation(path[pathKey]));\n });\n break;\n }\n case \"changeTrust\": {\n result.type = \"changeTrust\";\n\n switch (attrs.line().switch()) {\n case xdr.AssetType.assetTypePoolShare():\n result.line = LiquidityPoolAsset.fromOperation(attrs.line());\n break;\n default:\n result.line = Asset.fromOperation(attrs.line());\n break;\n }\n\n result.limit = fromXDRAmount(attrs.limit());\n break;\n }\n case \"allowTrust\": {\n result.type = \"allowTrust\";\n result.trustor = accountIdtoAddress(attrs.trustor());\n result.assetCode = attrs.asset().value().toString();\n result.assetCode = trimEnd(result.assetCode as string, \"\\0\");\n result.authorize = attrs.authorize();\n break;\n }\n case \"setOptions\": {\n result.type = \"setOptions\";\n\n if (attrs.inflationDest()) {\n result.inflationDest = accountIdtoAddress(attrs.inflationDest());\n }\n\n result.clearFlags = attrs.clearFlags();\n result.setFlags = attrs.setFlags();\n result.masterWeight = attrs.masterWeight();\n result.lowThreshold = attrs.lowThreshold();\n result.medThreshold = attrs.medThreshold();\n result.highThreshold = attrs.highThreshold();\n // home_domain is checked by iscntrl in stellar-core\n result.homeDomain =\n attrs.homeDomain() !== undefined\n ? attrs.homeDomain().toString(\"ascii\")\n : undefined;\n\n if (attrs.signer()) {\n const signer: Record<string, unknown> = {};\n const arm = attrs.signer().key().arm();\n\n if (arm === \"ed25519\") {\n signer.ed25519PublicKey = accountIdtoAddress(attrs.signer().key());\n } else if (arm === \"preAuthTx\") {\n signer.preAuthTx = attrs.signer().key().preAuthTx();\n } else if (arm === \"hashX\") {\n signer.sha256Hash = attrs.signer().key().hashX();\n } else if (arm === \"ed25519SignedPayload\") {\n const signedPayload = attrs.signer().key().ed25519SignedPayload();\n signer.ed25519SignedPayload = StrKey.encodeSignedPayload(\n signedPayload.toXDR(),\n );\n }\n\n signer.weight = attrs.signer().weight();\n result.signer = signer;\n }\n break;\n }\n // the next case intentionally falls through!\n case \"manageOffer\":\n case \"manageSellOffer\": {\n result.type = \"manageSellOffer\";\n result.selling = Asset.fromOperation(attrs.selling());\n result.buying = Asset.fromOperation(attrs.buying());\n result.amount = fromXDRAmount(attrs.amount());\n result.price = fromXDRPrice(attrs.price());\n result.offerId = attrs.offerId().toString();\n break;\n }\n case \"manageBuyOffer\": {\n result.type = \"manageBuyOffer\";\n result.selling = Asset.fromOperation(attrs.selling());\n result.buying = Asset.fromOperation(attrs.buying());\n result.buyAmount = fromXDRAmount(attrs.buyAmount());\n result.price = fromXDRPrice(attrs.price());\n result.offerId = attrs.offerId().toString();\n break;\n }\n // the next case intentionally falls through!\n case \"createPassiveOffer\":\n case \"createPassiveSellOffer\": {\n result.type = \"createPassiveSellOffer\";\n result.selling = Asset.fromOperation(attrs.selling());\n result.buying = Asset.fromOperation(attrs.buying());\n result.amount = fromXDRAmount(attrs.amount());\n result.price = fromXDRPrice(attrs.price());\n break;\n }\n case \"accountMerge\": {\n result.type = \"accountMerge\";\n result.destination = encodeMuxedAccountToAddress(attrs);\n break;\n }\n case \"manageData\": {\n result.type = \"manageData\";\n // manage_data.name is checked by iscntrl in stellar-core\n result.name = attrs.dataName().toString(\"ascii\");\n result.value = attrs.dataValue();\n break;\n }\n case \"inflation\": {\n result.type = \"inflation\";\n break;\n }\n case \"bumpSequence\": {\n result.type = \"bumpSequence\";\n result.bumpTo = attrs.bumpTo().toString();\n break;\n }\n case \"createClaimableBalance\": {\n result.type = \"createClaimableBalance\";\n result.asset = Asset.fromOperation(attrs.asset());\n result.amount = fromXDRAmount(attrs.amount());\n result.claimants = [];\n\n attrs.claimants().forEach((claimant: xdr.Claimant) => {\n (result.claimants as Claimant[]).push(Claimant.fromXDR(claimant));\n });\n break;\n }\n case \"claimClaimableBalance\": {\n result.type = \"claimClaimableBalance\";\n result.balanceId = attrs.toXDR(\"hex\");\n break;\n }\n case \"beginSponsoringFutureReserves\": {\n result.type = \"beginSponsoringFutureReserves\";\n result.sponsoredId = accountIdtoAddress(attrs.sponsoredId());\n break;\n }\n case \"endSponsoringFutureReserves\": {\n result.type = \"endSponsoringFutureReserves\";\n break;\n }\n case \"revokeSponsorship\": {\n extractRevokeSponshipDetails(attrs, result);\n break;\n }\n case \"clawback\": {\n result.type = \"clawback\";\n result.amount = fromXDRAmount(attrs.amount());\n result.from = encodeMuxedAccountToAddress(attrs.from());\n result.asset = Asset.fromOperation(attrs.asset());\n break;\n }\n case \"clawbackClaimableBalance\": {\n result.type = \"clawbackClaimableBalance\";\n result.balanceId = attrs.toXDR(\"hex\");\n break;\n }\n case \"setTrustLineFlags\": {\n result.type = \"setTrustLineFlags\";\n result.asset = Asset.fromOperation(attrs.asset());\n result.trustor = accountIdtoAddress(attrs.trustor());\n\n // Convert from the integer-bitwised flag into a sensible object that\n // indicates true/false for each flag that's on/off.\n const clears = attrs.clearFlags();\n const sets = attrs.setFlags();\n\n const mapping: Record<string, xdr.TrustLineFlags> = {\n authorized: xdr.TrustLineFlags.authorizedFlag(),\n authorizedToMaintainLiabilities:\n xdr.TrustLineFlags.authorizedToMaintainLiabilitiesFlag(),\n clawbackEnabled: xdr.TrustLineFlags.trustlineClawbackEnabledFlag(),\n };\n\n const getFlagValue = (key: string) => {\n const bit = mapping[key]?.value ?? 0;\n\n if (sets & bit) {\n return true;\n }\n\n if (clears & bit) {\n return false;\n }\n\n return undefined;\n };\n\n const flags: Record<string, boolean | undefined> = {};\n\n Object.keys(mapping).forEach((flagName) => {\n flags[flagName] = getFlagValue(flagName);\n });\n\n result.flags = flags;\n\n break;\n }\n case \"liquidityPoolDeposit\": {\n result.type = \"liquidityPoolDeposit\";\n result.liquidityPoolId = attrs.liquidityPoolId().toString(\"hex\");\n result.maxAmountA = fromXDRAmount(attrs.maxAmountA());\n result.maxAmountB = fromXDRAmount(attrs.maxAmountB());\n result.minPrice = fromXDRPrice(attrs.minPrice());\n result.maxPrice = fromXDRPrice(attrs.maxPrice());\n break;\n }\n case \"liquidityPoolWithdraw\": {\n result.type = \"liquidityPoolWithdraw\";\n result.liquidityPoolId = attrs.liquidityPoolId().toString(\"hex\");\n result.amount = fromXDRAmount(attrs.amount());\n result.minAmountA = fromXDRAmount(attrs.minAmountA());\n result.minAmountB = fromXDRAmount(attrs.minAmountB());\n break;\n }\n case \"invokeHostFunction\": {\n result.type = \"invokeHostFunction\";\n result.func = attrs.hostFunction();\n result.auth = attrs.auth() ?? [];\n break;\n }\n case \"extendFootprintTtl\": {\n result.type = \"extendFootprintTtl\";\n result.extendTo = attrs.extendTo();\n break;\n }\n case \"restoreFootprint\": {\n result.type = \"restoreFootprint\";\n break;\n }\n default: {\n throw new Error(`Unknown operation: ${operationName}`);\n }\n }\n\n return result as unknown as T;\n }\n\n // Attach all imported operations as static methods on the Operation class\n static accountMerge = ops.accountMerge;\n static allowTrust = ops.allowTrust;\n static bumpSequence = ops.bumpSequence;\n static changeTrust = ops.changeTrust;\n static createAccount = ops.createAccount;\n static createClaimableBalance = ops.createClaimableBalance;\n static claimClaimableBalance = ops.claimClaimableBalance;\n static clawbackClaimableBalance = ops.clawbackClaimableBalance;\n static createPassiveSellOffer = ops.createPassiveSellOffer;\n static inflation = ops.inflation;\n static manageData = ops.manageData;\n static manageSellOffer = ops.manageSellOffer;\n static manageBuyOffer = ops.manageBuyOffer;\n static pathPaymentStrictReceive = ops.pathPaymentStrictReceive;\n static pathPaymentStrictSend = ops.pathPaymentStrictSend;\n static payment = ops.payment;\n static setOptions = ops.setOptions;\n static beginSponsoringFutureReserves = ops.beginSponsoringFutureReserves;\n static endSponsoringFutureReserves = ops.endSponsoringFutureReserves;\n static revokeAccountSponsorship = ops.revokeAccountSponsorship;\n static revokeTrustlineSponsorship = ops.revokeTrustlineSponsorship;\n static revokeOfferSponsorship = ops.revokeOfferSponsorship;\n static revokeDataSponsorship = ops.revokeDataSponsorship;\n static revokeClaimableBalanceSponsorship =\n ops.revokeClaimableBalanceSponsorship;\n static revokeLiquidityPoolSponsorship = ops.revokeLiquidityPoolSponsorship;\n static revokeSignerSponsorship = ops.revokeSignerSponsorship;\n static clawback = ops.clawback;\n static setTrustLineFlags = ops.setTrustLineFlags;\n static liquidityPoolDeposit = ops.liquidityPoolDeposit;\n static liquidityPoolWithdraw = ops.liquidityPoolWithdraw;\n static invokeHostFunction = ops.invokeHostFunction;\n static extendFootprintTtl = ops.extendFootprintTtl;\n static restoreFootprint = ops.restoreFootprint;\n\n // These are not `xdr.Operation`s directly, but proxies for common\n // versions of `Operation.invokeHostFunction`\n static createStellarAssetContract = ops.createStellarAssetContract;\n static invokeContractFunction = ops.invokeContractFunction;\n static createCustomContract = ops.createCustomContract;\n static uploadContractWasm = ops.uploadContractWasm;\n}\n\nfunction extractRevokeSponshipDetails(\n attrs: any,\n result: Record<string, unknown>,\n) {\n switch (attrs.switch().name) {\n case \"revokeSponsorshipLedgerEntry\": {\n const ledgerKey = attrs.ledgerKey();\n\n switch (ledgerKey.switch().name) {\n case xdr.LedgerEntryType.account().name: {\n result.type = \"revokeAccountSponsorship\";\n result.account = accountIdtoAddress(ledgerKey.account().accountId());\n break;\n }\n case xdr.LedgerEntryType.trustline().name: {\n result.type = \"revokeTrustlineSponsorship\";\n result.account = accountIdtoAddress(\n ledgerKey.trustLine().accountId(),\n );\n const xdrAsset = ledgerKey.trustLine().asset();\n switch (xdrAsset.switch()) {\n case xdr.AssetType.assetTypePoolShare():\n result.asset = LiquidityPoolId.fromOperation(xdrAsset);\n break;\n default:\n result.asset = Asset.fromOperation(xdrAsset);\n break;\n }\n break;\n }\n case xdr.LedgerEntryType.offer().name: {\n result.type = \"revokeOfferSponsorship\";\n result.seller = accountIdtoAddress(ledgerKey.offer().sellerId());\n result.offerId = ledgerKey.offer().offerId().toString();\n break;\n }\n case xdr.LedgerEntryType.data().name: {\n result.type = \"revokeDataSponsorship\";\n result.account = accountIdtoAddress(ledgerKey.data().accountId());\n result.name = ledgerKey.data().dataName().toString(\"ascii\");\n break;\n }\n case xdr.LedgerEntryType.claimableBalance().name: {\n result.type = \"revokeClaimableBalanceSponsorship\";\n result.balanceId = ledgerKey\n .claimableBalance()\n .balanceId()\n .toXDR(\"hex\");\n break;\n }\n case xdr.LedgerEntryType.liquidityPool().name: {\n result.type = \"revokeLiquidityPoolSponsorship\";\n result.liquidityPoolId = ledgerKey\n .liquidityPool()\n .liquidityPoolId()\n .toString(\"hex\");\n break;\n }\n default: {\n throw new Error(`Unknown ledgerKey: ${attrs.switch().name}`);\n }\n }\n break;\n }\n case \"revokeSponsorshipSigner\": {\n result.type = \"revokeSignerSponsorship\";\n result.account = accountIdtoAddress(attrs.signer().accountId());\n result.signer = convertXDRSignerKeyToObject(attrs.signer().signerKey());\n break;\n }\n default: {\n throw new Error(`Unknown revokeSponsorship: ${attrs.switch().name}`);\n }\n }\n}\n\nfunction convertXDRSignerKeyToObject(\n signerKey: xdr.SignerKey,\n): Record<string, unknown> {\n const attrs: Record<string, unknown> = {};\n\n switch (signerKey.switch().name) {\n case xdr.SignerKeyType.signerKeyTypeEd25519().name: {\n attrs.ed25519PublicKey = StrKey.encodeEd25519PublicKey(\n signerKey.ed25519(),\n );\n break;\n }\n case xdr.SignerKeyType.signerKeyTypePreAuthTx().name: {\n attrs.preAuthTx = signerKey.preAuthTx().toString(\"hex\");\n break;\n }\n case xdr.SignerKeyType.signerKeyTypeHashX().name: {\n attrs.sha256Hash = signerKey.hashX().toString(\"hex\");\n break;\n }\n case xdr.SignerKeyType.signerKeyTypeEd25519SignedPayload().name: {\n const signedPayload = signerKey.ed25519SignedPayload();\n\n attrs.ed25519SignedPayload = StrKey.encodeSignedPayload(\n signedPayload.toXDR(),\n );\n break;\n }\n default: {\n throw new Error(`Unknown signerKey: ${signerKey.switch().name}`);\n }\n }\n\n return attrs;\n}\n\nfunction accountIdtoAddress(accountId: xdr.AccountId): string {\n return StrKey.encodeEd25519PublicKey(accountId.ed25519());\n}\n\n// Namespace merged with the Operation class to expose operation result types as\n// `Operation.CreateAccount`, `Operation.Payment`, etc. — matching the public API\n// declared in types/index.d.ts.\n// The static methods (e.g. Operation.createAccount) are defined on the class above.\n\nexport namespace Operation {\n export type BaseOperation<T extends _OperationType = _OperationType> =\n _BaseOperation<T>;\n export type CreateAccount = CreateAccountResult;\n export type Payment = PaymentResult;\n export type PathPaymentStrictReceive = PathPaymentStrictReceiveResult;\n export type PathPaymentStrictSend = PathPaymentStrictSendResult;\n export type CreatePassiveSellOffer = CreatePassiveSellOfferResult;\n export type ManageSellOffer = ManageSellOfferResult;\n export type ManageBuyOffer = ManageBuyOfferResult;\n export type SetOptions = SetOptionsResult<Signer>;\n export type ChangeTrust = ChangeTrustResult;\n export type AllowTrust = AllowTrustResult;\n export type AccountMerge = AccountMergeResult;\n export type Inflation = InflationResult;\n export type ManageData = ManageDataResult;\n export type BumpSequence = BumpSequenceResult;\n export type CreateClaimableBalance = CreateClaimableBalanceResult;\n export type ClaimClaimableBalance = ClaimClaimableBalanceResult;\n export type BeginSponsoringFutureReserves =\n BeginSponsoringFutureReservesResult;\n export type EndSponsoringFutureReserves = EndSponsoringFutureReservesResult;\n export type RevokeAccountSponsorship = RevokeAccountSponsorshipResult;\n export type RevokeTrustlineSponsorship = RevokeTrustlineSponsorshipResult;\n export type RevokeOfferSponsorship = RevokeOfferSponsorshipResult;\n export type RevokeDataSponsorship = RevokeDataSponsorshipResult;\n export type RevokeClaimableBalanceSponsorship =\n RevokeClaimableBalanceSponsorshipResult;\n export type RevokeLiquidityPoolSponsorship =\n RevokeLiquidityPoolSponsorshipResult;\n export type RevokeSignerSponsorship = RevokeSignerSponsorshipResult;\n export type Clawback = ClawbackResult;\n export type ClawbackClaimableBalance = ClawbackClaimableBalanceResult;\n export type SetTrustLineFlags = SetTrustLineFlagsResult;\n export type LiquidityPoolDeposit = LiquidityPoolDepositResult;\n export type LiquidityPoolWithdraw = LiquidityPoolWithdrawResult;\n export type InvokeHostFunction = InvokeHostFunctionResult;\n export type ExtendFootprintTTL = ExtendFootprintTTLResult;\n export type RestoreFootprint = RestoreFootprintResult;\n}\n"],"names":["xdr","ops.accountMerge","ops.allowTrust","ops.bumpSequence","ops.changeTrust","ops.createAccount","ops.createClaimableBalance","ops.claimClaimableBalance","ops.clawbackClaimableBalance","ops.createPassiveSellOffer","ops.inflation","ops.manageData","ops.manageSellOffer","ops.manageBuyOffer","ops.pathPaymentStrictReceive","ops.pathPaymentStrictSend","ops.payment","ops.setOptions","ops.beginSponsoringFutureReserves","ops.endSponsoringFutureReserves","ops.revokeAccountSponsorship","ops.revokeTrustlineSponsorship","ops.revokeOfferSponsorship","ops.revokeDataSponsorship","ops.revokeClaimableBalanceSponsorship","ops.revokeLiquidityPoolSponsorship","ops.revokeSignerSponsorship","ops.clawback","ops.setTrustLineFlags","ops.liquidityPoolDeposit","ops.liquidityPoolWithdraw","ops.invokeHostFunction","ops.extendFootprintTtl","ops.restoreFootprint","ops.createStellarAssetContract","ops.invokeContractFunction","ops.createCustomContract","ops.uploadContractWasm"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operation.js","sources":["../../../src/base/operation.ts"],"sourcesContent":["import { Asset } from \"./asset.js\";\nimport { LiquidityPoolAsset } from \"./liquidity_pool_asset.js\";\nimport { Claimant } from \"./claimant.js\";\nimport { StrKey } from \"./strkey.js\";\nimport { LiquidityPoolId } from \"./liquidity_pool_id.js\";\nimport xdr from \"./xdr.js\";\n\nimport { trimEnd } from \"./util/util.js\";\nimport { encodeMuxedAccountToAddress } from \"./util/decode_encode_muxed_account.js\";\n\nimport * as ops from \"./operations/index.js\";\nimport type {\n OperationRecord,\n OperationType as _OperationType,\n BaseOperation as _BaseOperation,\n CreateAccountResult,\n PaymentResult,\n PathPaymentStrictReceiveResult,\n PathPaymentStrictSendResult,\n CreatePassiveSellOfferResult,\n ManageSellOfferResult,\n ManageBuyOfferResult,\n SetOptionsResult,\n ChangeTrustResult,\n AllowTrustResult,\n AccountMergeResult,\n InflationResult,\n ManageDataResult,\n BumpSequenceResult,\n CreateClaimableBalanceResult,\n ClaimClaimableBalanceResult,\n BeginSponsoringFutureReservesResult,\n EndSponsoringFutureReservesResult,\n RevokeAccountSponsorshipResult,\n RevokeTrustlineSponsorshipResult,\n RevokeOfferSponsorshipResult,\n RevokeDataSponsorshipResult,\n RevokeClaimableBalanceSponsorshipResult,\n RevokeLiquidityPoolSponsorshipResult,\n RevokeSignerSponsorshipResult,\n ClawbackResult,\n ClawbackClaimableBalanceResult,\n SetTrustLineFlagsResult,\n LiquidityPoolDepositResult,\n LiquidityPoolWithdrawResult,\n InvokeHostFunctionResult,\n ExtendFootprintTTLResult,\n RestoreFootprintResult,\n Signer,\n} from \"./operations/types.js\";\nimport { fromXDRAmount, fromXDRPrice } from \"./util/operations.js\";\n\n/**\n * When set using `{@link Operation.setOptions}` option, requires the issuing\n * account to give other accounts permission before they can hold the issuing\n * account’s credit.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthRequiredFlag = 1 << 0;\n/**\n * When set using `{@link Operation.setOptions}` option, allows the issuing\n * account to revoke its credit held by other accounts.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthRevocableFlag = 1 << 1;\n/**\n * When set using `{@link Operation.setOptions}` option, then none of the\n * authorization flags can be set and the account can never be deleted.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthImmutableFlag = 1 << 2;\n\n/**\n * When set using `{@link Operation.setOptions}` option, then any trustlines\n * created by this account can have a ClawbackOp operation submitted for the\n * corresponding asset.\n *\n * @see [Account flags](https://docs.digitalworld.global/docs/glossary/accounts/#flags)\n */\nexport const AuthClawbackEnabledFlag = 1 << 3;\n\n/**\n * `Operation` class represents\n * [operations](https://docs.digitalworld.global/docs/glossary/operations/) in\n * Digital World Network.\n *\n * Use one of static methods to create operations:\n * * `{@link Operation.createAccount}`\n * * `{@link Operation.payment}`\n * * `{@link Operation.pathPaymentStrictReceive}`\n * * `{@link Operation.pathPaymentStrictSend}`\n * * `{@link Operation.manageSellOffer}`\n * * `{@link Operation.manageBuyOffer}`\n * * `{@link Operation.createPassiveSellOffer}`\n * * `{@link Operation.setOptions}`\n * * `{@link Operation.changeTrust}`\n * * `{@link Operation.allowTrust}`\n * * `{@link Operation.accountMerge}`\n * * `{@link Operation.inflation}`\n * * `{@link Operation.manageData}`\n * * `{@link Operation.bumpSequence}`\n * * `{@link Operation.createClaimableBalance}`\n * * `{@link Operation.claimClaimableBalance}`\n * * `{@link Operation.beginSponsoringFutureReserves}`\n * * `{@link Operation.endSponsoringFutureReserves}`\n * * `{@link Operation.revokeAccountSponsorship}`\n * * `{@link Operation.revokeTrustlineSponsorship}`\n * * `{@link Operation.revokeOfferSponsorship}`\n * * `{@link Operation.revokeDataSponsorship}`\n * * `{@link Operation.revokeClaimableBalanceSponsorship}`\n * * `{@link Operation.revokeLiquidityPoolSponsorship}`\n * * `{@link Operation.revokeSignerSponsorship}`\n * * `{@link Operation.clawback}`\n * * `{@link Operation.clawbackClaimableBalance}`\n * * `{@link Operation.setTrustLineFlags}`\n * * `{@link Operation.liquidityPoolDeposit}`\n * * `{@link Operation.liquidityPoolWithdraw}`\n * * `{@link Operation.invokeHostFunction}`, which has the following additional\n * \"pseudo-operations\" that make building host functions easier:\n * - `{@link Operation.createDigitalWorldAssetContract}`\n * - `{@link Operation.invokeContractFunction}`\n * - `{@link Operation.createCustomContract}`\n * - `{@link Operation.uploadContractWasm}`\n * * `{@link Operation.extendFootprintTtlOp}`\n * * `{@link Operation.restoreFootprint}`\n *\n */\nexport class Operation {\n /**\n * Deconstructs the raw XDR operation object into the structured object that\n * was used to create the operation (i.e. the `opts` parameter to most ops).\n *\n * @param operation - An XDR Operation.\n */\n\n static fromXDRObject<T extends OperationRecord = OperationRecord>(\n operation: xdr.Operation<T>,\n ): T {\n const result: Record<string, unknown> = {};\n const sourceAccount = operation.sourceAccount();\n\n if (sourceAccount) {\n result.source = encodeMuxedAccountToAddress(sourceAccount);\n }\n\n const attrs: any = operation.body().value();\n const operationName: string = operation.body().switch().name;\n\n switch (operationName) {\n case \"createAccount\": {\n result.type = \"createAccount\";\n result.destination = accountIdtoAddress(attrs.destination());\n result.startingBalance = fromXDRAmount(attrs.startingBalance());\n break;\n }\n case \"payment\": {\n result.type = \"payment\";\n result.destination = encodeMuxedAccountToAddress(attrs.destination());\n result.asset = Asset.fromOperation(attrs.asset());\n result.amount = fromXDRAmount(attrs.amount());\n break;\n }\n case \"pathPaymentStrictReceive\": {\n result.type = \"pathPaymentStrictReceive\";\n result.sendAsset = Asset.fromOperation(attrs.sendAsset());\n result.sendMax = fromXDRAmount(attrs.sendMax());\n result.destination = encodeMuxedAccountToAddress(attrs.destination());\n result.destAsset = Asset.fromOperation(attrs.destAsset());\n result.destAmount = fromXDRAmount(attrs.destAmount());\n result.path = [];\n\n const path = attrs.path();\n\n Object.keys(path).forEach((pathKey) => {\n (result.path as Asset[]).push(Asset.fromOperation(path[pathKey]));\n });\n break;\n }\n case \"pathPaymentStrictSend\": {\n result.type = \"pathPaymentStrictSend\";\n result.sendAsset = Asset.fromOperation(attrs.sendAsset());\n result.sendAmount = fromXDRAmount(attrs.sendAmount());\n result.destination = encodeMuxedAccountToAddress(attrs.destination());\n result.destAsset = Asset.fromOperation(attrs.destAsset());\n result.destMin = fromXDRAmount(attrs.destMin());\n result.path = [];\n\n const path = attrs.path();\n\n Object.keys(path).forEach((pathKey) => {\n (result.path as Asset[]).push(Asset.fromOperation(path[pathKey]));\n });\n break;\n }\n case \"changeTrust\": {\n result.type = \"changeTrust\";\n\n switch (attrs.line().switch()) {\n case xdr.AssetType.assetTypePoolShare():\n result.line = LiquidityPoolAsset.fromOperation(attrs.line());\n break;\n default:\n result.line = Asset.fromOperation(attrs.line());\n break;\n }\n\n result.limit = fromXDRAmount(attrs.limit());\n break;\n }\n case \"allowTrust\": {\n result.type = \"allowTrust\";\n result.trustor = accountIdtoAddress(attrs.trustor());\n result.assetCode = attrs.asset().value().toString();\n result.assetCode = trimEnd(result.assetCode as string, \"\\0\");\n result.authorize = attrs.authorize();\n break;\n }\n case \"setOptions\": {\n result.type = \"setOptions\";\n\n if (attrs.inflationDest()) {\n result.inflationDest = accountIdtoAddress(attrs.inflationDest());\n }\n\n result.clearFlags = attrs.clearFlags();\n result.setFlags = attrs.setFlags();\n result.masterWeight = attrs.masterWeight();\n result.lowThreshold = attrs.lowThreshold();\n result.medThreshold = attrs.medThreshold();\n result.highThreshold = attrs.highThreshold();\n // home_domain is checked by iscntrl in stellar-core\n result.homeDomain =\n attrs.homeDomain() !== undefined\n ? attrs.homeDomain().toString(\"ascii\")\n : undefined;\n\n if (attrs.signer()) {\n const signer: Record<string, unknown> = {};\n const arm = attrs.signer().key().arm();\n\n if (arm === \"ed25519\") {\n signer.ed25519PublicKey = accountIdtoAddress(attrs.signer().key());\n } else if (arm === \"preAuthTx\") {\n signer.preAuthTx = attrs.signer().key().preAuthTx();\n } else if (arm === \"hashX\") {\n signer.sha256Hash = attrs.signer().key().hashX();\n } else if (arm === \"ed25519SignedPayload\") {\n const signedPayload = attrs.signer().key().ed25519SignedPayload();\n signer.ed25519SignedPayload = StrKey.encodeSignedPayload(\n signedPayload.toXDR(),\n );\n }\n\n signer.weight = attrs.signer().weight();\n result.signer = signer;\n }\n break;\n }\n // the next case intentionally falls through!\n case \"manageOffer\":\n case \"manageSellOffer\": {\n result.type = \"manageSellOffer\";\n result.selling = Asset.fromOperation(attrs.selling());\n result.buying = Asset.fromOperation(attrs.buying());\n result.amount = fromXDRAmount(attrs.amount());\n result.price = fromXDRPrice(attrs.price());\n result.offerId = attrs.offerId().toString();\n break;\n }\n case \"manageBuyOffer\": {\n result.type = \"manageBuyOffer\";\n result.selling = Asset.fromOperation(attrs.selling());\n result.buying = Asset.fromOperation(attrs.buying());\n result.buyAmount = fromXDRAmount(attrs.buyAmount());\n result.price = fromXDRPrice(attrs.price());\n result.offerId = attrs.offerId().toString();\n break;\n }\n // the next case intentionally falls through!\n case \"createPassiveOffer\":\n case \"createPassiveSellOffer\": {\n result.type = \"createPassiveSellOffer\";\n result.selling = Asset.fromOperation(attrs.selling());\n result.buying = Asset.fromOperation(attrs.buying());\n result.amount = fromXDRAmount(attrs.amount());\n result.price = fromXDRPrice(attrs.price());\n break;\n }\n case \"accountMerge\": {\n result.type = \"accountMerge\";\n result.destination = encodeMuxedAccountToAddress(attrs);\n break;\n }\n case \"manageData\": {\n result.type = \"manageData\";\n // manage_data.name is checked by iscntrl in stellar-core\n result.name = attrs.dataName().toString(\"ascii\");\n result.value = attrs.dataValue();\n break;\n }\n case \"inflation\": {\n result.type = \"inflation\";\n break;\n }\n case \"bumpSequence\": {\n result.type = \"bumpSequence\";\n result.bumpTo = attrs.bumpTo().toString();\n break;\n }\n case \"createClaimableBalance\": {\n result.type = \"createClaimableBalance\";\n result.asset = Asset.fromOperation(attrs.asset());\n result.amount = fromXDRAmount(attrs.amount());\n result.claimants = [];\n\n attrs.claimants().forEach((claimant: xdr.Claimant) => {\n (result.claimants as Claimant[]).push(Claimant.fromXDR(claimant));\n });\n break;\n }\n case \"claimClaimableBalance\": {\n result.type = \"claimClaimableBalance\";\n result.balanceId = attrs.toXDR(\"hex\");\n break;\n }\n case \"beginSponsoringFutureReserves\": {\n result.type = \"beginSponsoringFutureReserves\";\n result.sponsoredId = accountIdtoAddress(attrs.sponsoredId());\n break;\n }\n case \"endSponsoringFutureReserves\": {\n result.type = \"endSponsoringFutureReserves\";\n break;\n }\n case \"revokeSponsorship\": {\n extractRevokeSponshipDetails(attrs, result);\n break;\n }\n case \"clawback\": {\n result.type = \"clawback\";\n result.amount = fromXDRAmount(attrs.amount());\n result.from = encodeMuxedAccountToAddress(attrs.from());\n result.asset = Asset.fromOperation(attrs.asset());\n break;\n }\n case \"clawbackClaimableBalance\": {\n result.type = \"clawbackClaimableBalance\";\n result.balanceId = attrs.toXDR(\"hex\");\n break;\n }\n case \"setTrustLineFlags\": {\n result.type = \"setTrustLineFlags\";\n result.asset = Asset.fromOperation(attrs.asset());\n result.trustor = accountIdtoAddress(attrs.trustor());\n\n // Convert from the integer-bitwised flag into a sensible object that\n // indicates true/false for each flag that's on/off.\n const clears = attrs.clearFlags();\n const sets = attrs.setFlags();\n\n const mapping: Record<string, xdr.TrustLineFlags> = {\n authorized: xdr.TrustLineFlags.authorizedFlag(),\n authorizedToMaintainLiabilities:\n xdr.TrustLineFlags.authorizedToMaintainLiabilitiesFlag(),\n clawbackEnabled: xdr.TrustLineFlags.trustlineClawbackEnabledFlag(),\n };\n\n const getFlagValue = (key: string) => {\n const bit = mapping[key]?.value ?? 0;\n\n if (sets & bit) {\n return true;\n }\n\n if (clears & bit) {\n return false;\n }\n\n return undefined;\n };\n\n const flags: Record<string, boolean | undefined> = {};\n\n Object.keys(mapping).forEach((flagName) => {\n flags[flagName] = getFlagValue(flagName);\n });\n\n result.flags = flags;\n\n break;\n }\n case \"liquidityPoolDeposit\": {\n result.type = \"liquidityPoolDeposit\";\n result.liquidityPoolId = attrs.liquidityPoolId().toString(\"hex\");\n result.maxAmountA = fromXDRAmount(attrs.maxAmountA());\n result.maxAmountB = fromXDRAmount(attrs.maxAmountB());\n result.minPrice = fromXDRPrice(attrs.minPrice());\n result.maxPrice = fromXDRPrice(attrs.maxPrice());\n break;\n }\n case \"liquidityPoolWithdraw\": {\n result.type = \"liquidityPoolWithdraw\";\n result.liquidityPoolId = attrs.liquidityPoolId().toString(\"hex\");\n result.amount = fromXDRAmount(attrs.amount());\n result.minAmountA = fromXDRAmount(attrs.minAmountA());\n result.minAmountB = fromXDRAmount(attrs.minAmountB());\n break;\n }\n case \"invokeHostFunction\": {\n result.type = \"invokeHostFunction\";\n result.func = attrs.hostFunction();\n result.auth = attrs.auth() ?? [];\n break;\n }\n case \"extendFootprintTtl\": {\n result.type = \"extendFootprintTtl\";\n result.extendTo = attrs.extendTo();\n break;\n }\n case \"restoreFootprint\": {\n result.type = \"restoreFootprint\";\n break;\n }\n default: {\n throw new Error(`Unknown operation: ${operationName}`);\n }\n }\n\n return result as unknown as T;\n }\n\n // Attach all imported operations as static methods on the Operation class\n static accountMerge = ops.accountMerge;\n static allowTrust = ops.allowTrust;\n static bumpSequence = ops.bumpSequence;\n static changeTrust = ops.changeTrust;\n static createAccount = ops.createAccount;\n static createClaimableBalance = ops.createClaimableBalance;\n static claimClaimableBalance = ops.claimClaimableBalance;\n static clawbackClaimableBalance = ops.clawbackClaimableBalance;\n static createPassiveSellOffer = ops.createPassiveSellOffer;\n static inflation = ops.inflation;\n static manageData = ops.manageData;\n static manageSellOffer = ops.manageSellOffer;\n static manageBuyOffer = ops.manageBuyOffer;\n static pathPaymentStrictReceive = ops.pathPaymentStrictReceive;\n static pathPaymentStrictSend = ops.pathPaymentStrictSend;\n static payment = ops.payment;\n static setOptions = ops.setOptions;\n static beginSponsoringFutureReserves = ops.beginSponsoringFutureReserves;\n static endSponsoringFutureReserves = ops.endSponsoringFutureReserves;\n static revokeAccountSponsorship = ops.revokeAccountSponsorship;\n static revokeTrustlineSponsorship = ops.revokeTrustlineSponsorship;\n static revokeOfferSponsorship = ops.revokeOfferSponsorship;\n static revokeDataSponsorship = ops.revokeDataSponsorship;\n static revokeClaimableBalanceSponsorship =\n ops.revokeClaimableBalanceSponsorship;\n static revokeLiquidityPoolSponsorship = ops.revokeLiquidityPoolSponsorship;\n static revokeSignerSponsorship = ops.revokeSignerSponsorship;\n static clawback = ops.clawback;\n static setTrustLineFlags = ops.setTrustLineFlags;\n static liquidityPoolDeposit = ops.liquidityPoolDeposit;\n static liquidityPoolWithdraw = ops.liquidityPoolWithdraw;\n static invokeHostFunction = ops.invokeHostFunction;\n static extendFootprintTtl = ops.extendFootprintTtl;\n static restoreFootprint = ops.restoreFootprint;\n\n // These are not `xdr.Operation`s directly, but proxies for common\n // versions of `Operation.invokeHostFunction`\n static createDigitalWorldAssetContract = ops.createDigitalWorldAssetContract;\n static invokeContractFunction = ops.invokeContractFunction;\n static createCustomContract = ops.createCustomContract;\n static uploadContractWasm = ops.uploadContractWasm;\n}\n\nfunction extractRevokeSponshipDetails(\n attrs: any,\n result: Record<string, unknown>,\n) {\n switch (attrs.switch().name) {\n case \"revokeSponsorshipLedgerEntry\": {\n const ledgerKey = attrs.ledgerKey();\n\n switch (ledgerKey.switch().name) {\n case xdr.LedgerEntryType.account().name: {\n result.type = \"revokeAccountSponsorship\";\n result.account = accountIdtoAddress(ledgerKey.account().accountId());\n break;\n }\n case xdr.LedgerEntryType.trustline().name: {\n result.type = \"revokeTrustlineSponsorship\";\n result.account = accountIdtoAddress(\n ledgerKey.trustLine().accountId(),\n );\n const xdrAsset = ledgerKey.trustLine().asset();\n switch (xdrAsset.switch()) {\n case xdr.AssetType.assetTypePoolShare():\n result.asset = LiquidityPoolId.fromOperation(xdrAsset);\n break;\n default:\n result.asset = Asset.fromOperation(xdrAsset);\n break;\n }\n break;\n }\n case xdr.LedgerEntryType.offer().name: {\n result.type = \"revokeOfferSponsorship\";\n result.seller = accountIdtoAddress(ledgerKey.offer().sellerId());\n result.offerId = ledgerKey.offer().offerId().toString();\n break;\n }\n case xdr.LedgerEntryType.data().name: {\n result.type = \"revokeDataSponsorship\";\n result.account = accountIdtoAddress(ledgerKey.data().accountId());\n result.name = ledgerKey.data().dataName().toString(\"ascii\");\n break;\n }\n case xdr.LedgerEntryType.claimableBalance().name: {\n result.type = \"revokeClaimableBalanceSponsorship\";\n result.balanceId = ledgerKey\n .claimableBalance()\n .balanceId()\n .toXDR(\"hex\");\n break;\n }\n case xdr.LedgerEntryType.liquidityPool().name: {\n result.type = \"revokeLiquidityPoolSponsorship\";\n result.liquidityPoolId = ledgerKey\n .liquidityPool()\n .liquidityPoolId()\n .toString(\"hex\");\n break;\n }\n default: {\n throw new Error(`Unknown ledgerKey: ${attrs.switch().name}`);\n }\n }\n break;\n }\n case \"revokeSponsorshipSigner\": {\n result.type = \"revokeSignerSponsorship\";\n result.account = accountIdtoAddress(attrs.signer().accountId());\n result.signer = convertXDRSignerKeyToObject(attrs.signer().signerKey());\n break;\n }\n default: {\n throw new Error(`Unknown revokeSponsorship: ${attrs.switch().name}`);\n }\n }\n}\n\nfunction convertXDRSignerKeyToObject(\n signerKey: xdr.SignerKey,\n): Record<string, unknown> {\n const attrs: Record<string, unknown> = {};\n\n switch (signerKey.switch().name) {\n case xdr.SignerKeyType.signerKeyTypeEd25519().name: {\n attrs.ed25519PublicKey = StrKey.encodeEd25519PublicKey(\n signerKey.ed25519(),\n );\n break;\n }\n case xdr.SignerKeyType.signerKeyTypePreAuthTx().name: {\n attrs.preAuthTx = signerKey.preAuthTx().toString(\"hex\");\n break;\n }\n case xdr.SignerKeyType.signerKeyTypeHashX().name: {\n attrs.sha256Hash = signerKey.hashX().toString(\"hex\");\n break;\n }\n case xdr.SignerKeyType.signerKeyTypeEd25519SignedPayload().name: {\n const signedPayload = signerKey.ed25519SignedPayload();\n\n attrs.ed25519SignedPayload = StrKey.encodeSignedPayload(\n signedPayload.toXDR(),\n );\n break;\n }\n default: {\n throw new Error(`Unknown signerKey: ${signerKey.switch().name}`);\n }\n }\n\n return attrs;\n}\n\nfunction accountIdtoAddress(accountId: xdr.AccountId): string {\n return StrKey.encodeEd25519PublicKey(accountId.ed25519());\n}\n\n// Namespace merged with the Operation class to expose operation result types as\n// `Operation.CreateAccount`, `Operation.Payment`, etc. — matching the public API\n// declared in types/index.d.ts.\n// The static methods (e.g. Operation.createAccount) are defined on the class above.\n\nexport namespace Operation {\n export type BaseOperation<T extends _OperationType = _OperationType> =\n _BaseOperation<T>;\n export type CreateAccount = CreateAccountResult;\n export type Payment = PaymentResult;\n export type PathPaymentStrictReceive = PathPaymentStrictReceiveResult;\n export type PathPaymentStrictSend = PathPaymentStrictSendResult;\n export type CreatePassiveSellOffer = CreatePassiveSellOfferResult;\n export type ManageSellOffer = ManageSellOfferResult;\n export type ManageBuyOffer = ManageBuyOfferResult;\n export type SetOptions = SetOptionsResult<Signer>;\n export type ChangeTrust = ChangeTrustResult;\n export type AllowTrust = AllowTrustResult;\n export type AccountMerge = AccountMergeResult;\n export type Inflation = InflationResult;\n export type ManageData = ManageDataResult;\n export type BumpSequence = BumpSequenceResult;\n export type CreateClaimableBalance = CreateClaimableBalanceResult;\n export type ClaimClaimableBalance = ClaimClaimableBalanceResult;\n export type BeginSponsoringFutureReserves =\n BeginSponsoringFutureReservesResult;\n export type EndSponsoringFutureReserves = EndSponsoringFutureReservesResult;\n export type RevokeAccountSponsorship = RevokeAccountSponsorshipResult;\n export type RevokeTrustlineSponsorship = RevokeTrustlineSponsorshipResult;\n export type RevokeOfferSponsorship = RevokeOfferSponsorshipResult;\n export type RevokeDataSponsorship = RevokeDataSponsorshipResult;\n export type RevokeClaimableBalanceSponsorship =\n RevokeClaimableBalanceSponsorshipResult;\n export type RevokeLiquidityPoolSponsorship =\n RevokeLiquidityPoolSponsorshipResult;\n export type RevokeSignerSponsorship = RevokeSignerSponsorshipResult;\n export type Clawback = ClawbackResult;\n export type ClawbackClaimableBalance = ClawbackClaimableBalanceResult;\n export type SetTrustLineFlags = SetTrustLineFlagsResult;\n export type LiquidityPoolDeposit = LiquidityPoolDepositResult;\n export type LiquidityPoolWithdraw = LiquidityPoolWithdrawResult;\n export type InvokeHostFunction = InvokeHostFunctionResult;\n export type ExtendFootprintTTL = ExtendFootprintTTLResult;\n export type RestoreFootprint = RestoreFootprintResult;\n}\n"],"names":["xdr","ops.accountMerge","ops.allowTrust","ops.bumpSequence","ops.changeTrust","ops.createAccount","ops.createClaimableBalance","ops.claimClaimableBalance","ops.clawbackClaimableBalance","ops.createPassiveSellOffer","ops.inflation","ops.manageData","ops.manageSellOffer","ops.manageBuyOffer","ops.pathPaymentStrictReceive","ops.pathPaymentStrictSend","ops.payment","ops.setOptions","ops.beginSponsoringFutureReserves","ops.endSponsoringFutureReserves","ops.revokeAccountSponsorship","ops.revokeTrustlineSponsorship","ops.revokeOfferSponsorship","ops.revokeDataSponsorship","ops.revokeClaimableBalanceSponsorship","ops.revokeLiquidityPoolSponsorship","ops.revokeSignerSponsorship","ops.clawback","ops.setTrustLineFlags","ops.liquidityPoolDeposit","ops.liquidityPoolWithdraw","ops.invokeHostFunction","ops.extendFootprintTtl","ops.restoreFootprint","ops.createDigitalWorldAssetContract","ops.invokeContractFunction","ops.createCustomContract","ops.uploadContractWasm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DO,MAAM,mBAAmB,CAAA,IAAK;AAO9B,MAAM,oBAAoB,CAAA,IAAK;AAO/B,MAAM,oBAAoB,CAAA,IAAK;AAS/B,MAAM,0BAA0B,CAAA,IAAK;AAgDrC,MAAM,SAAA,CAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrB,OAAO,cACL,SAAA,EACG;AACH,IAAA,MAAM,SAAkC,EAAC;AACzC,IAAA,MAAM,aAAA,GAAgB,UAAU,aAAA,EAAc;AAE9C,IAAA,IAAI,aAAA,EAAe;AACjB,MAAA,MAAA,CAAO,MAAA,GAAS,4BAA4B,aAAa,CAAA;AAAA,IAC3D;AAEA,IAAA,MAAM,KAAA,GAAa,SAAA,CAAU,IAAA,EAAK,CAAE,KAAA,EAAM;AAC1C,IAAA,MAAM,aAAA,GAAwB,SAAA,CAAU,IAAA,EAAK,CAAE,QAAO,CAAE,IAAA;AAExD,IAAA,QAAQ,aAAA;AAAe,MACrB,KAAK,eAAA,EAAiB;AACpB,QAAA,MAAA,CAAO,IAAA,GAAO,eAAA;AACd,QAAA,MAAA,CAAO,WAAA,GAAc,kBAAA,CAAmB,KAAA,CAAM,WAAA,EAAa,CAAA;AAC3D,QAAA,MAAA,CAAO,eAAA,GAAkB,aAAA,CAAc,KAAA,CAAM,eAAA,EAAiB,CAAA;AAC9D,QAAA;AAAA,MACF;AAAA,MACA,KAAK,SAAA,EAAW;AACd,QAAA,MAAA,CAAO,IAAA,GAAO,SAAA;AACd,QAAA,MAAA,CAAO,WAAA,GAAc,2BAAA,CAA4B,KAAA,CAAM,WAAA,EAAa,CAAA;AACpE,QAAA,MAAA,CAAO,KAAA,GAAQ,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,OAAO,CAAA;AAChD,QAAA,MAAA,CAAO,MAAA,GAAS,aAAA,CAAc,KAAA,CAAM,MAAA,EAAQ,CAAA;AAC5C,QAAA;AAAA,MACF;AAAA,MACA,KAAK,0BAAA,EAA4B;AAC/B,QAAA,MAAA,CAAO,IAAA,GAAO,0BAAA;AACd,QAAA,MAAA,CAAO,SAAA,GAAY,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,WAAW,CAAA;AACxD,QAAA,MAAA,CAAO,OAAA,GAAU,aAAA,CAAc,KAAA,CAAM,OAAA,EAAS,CAAA;AAC9C,QAAA,MAAA,CAAO,WAAA,GAAc,2BAAA,CAA4B,KAAA,CAAM,WAAA,EAAa,CAAA;AACpE,QAAA,MAAA,CAAO,SAAA,GAAY,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,WAAW,CAAA;AACxD,QAAA,MAAA,CAAO,UAAA,GAAa,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,CAAA;AACpD,QAAA,MAAA,CAAO,OAAO,EAAC;AAEf,QAAA,MAAM,IAAA,GAAO,MAAM,IAAA,EAAK;AAExB,QAAA,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,OAAA,CAAQ,CAAC,OAAA,KAAY;AACrC,UAAC,MAAA,CAAO,KAAiB,IAAA,CAAK,KAAA,CAAM,cAAc,IAAA,CAAK,OAAO,CAAC,CAAC,CAAA;AAAA,QAClE,CAAC,CAAA;AACD,QAAA;AAAA,MACF;AAAA,MACA,KAAK,uBAAA,EAAyB;AAC5B,QAAA,MAAA,CAAO,IAAA,GAAO,uBAAA;AACd,QAAA,MAAA,CAAO,SAAA,GAAY,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,WAAW,CAAA;AACxD,QAAA,MAAA,CAAO,UAAA,GAAa,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,CAAA;AACpD,QAAA,MAAA,CAAO,WAAA,GAAc,2BAAA,CAA4B,KAAA,CAAM,WAAA,EAAa,CAAA;AACpE,QAAA,MAAA,CAAO,SAAA,GAAY,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,WAAW,CAAA;AACxD,QAAA,MAAA,CAAO,OAAA,GAAU,aAAA,CAAc,KAAA,CAAM,OAAA,EAAS,CAAA;AAC9C,QAAA,MAAA,CAAO,OAAO,EAAC;AAEf,QAAA,MAAM,IAAA,GAAO,MAAM,IAAA,EAAK;AAExB,QAAA,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,OAAA,CAAQ,CAAC,OAAA,KAAY;AACrC,UAAC,MAAA,CAAO,KAAiB,IAAA,CAAK,KAAA,CAAM,cAAc,IAAA,CAAK,OAAO,CAAC,CAAC,CAAA;AAAA,QAClE,CAAC,CAAA;AACD,QAAA;AAAA,MACF;AAAA,MACA,KAAK,aAAA,EAAe;AAClB,QAAA,MAAA,CAAO,IAAA,GAAO,aAAA;AAEd,QAAA,QAAQ,KAAA,CAAM,IAAA,EAAK,CAAE,MAAA,EAAO;AAAG,UAC7B,KAAKA,KAAA,CAAI,SAAA,CAAU,kBAAA,EAAmB;AACpC,YAAA,MAAA,CAAO,IAAA,GAAO,kBAAA,CAAmB,aAAA,CAAc,KAAA,CAAM,MAAM,CAAA;AAC3D,YAAA;AAAA,UACF;AACE,YAAA,MAAA,CAAO,IAAA,GAAO,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,MAAM,CAAA;AAC9C,YAAA;AAAA;AAGJ,QAAA,MAAA,CAAO,KAAA,GAAQ,aAAA,CAAc,KAAA,CAAM,KAAA,EAAO,CAAA;AAC1C,QAAA;AAAA,MACF;AAAA,MACA,KAAK,YAAA,EAAc;AACjB,QAAA,MAAA,CAAO,IAAA,GAAO,YAAA;AACd,QAAA,MAAA,CAAO,OAAA,GAAU,kBAAA,CAAmB,KAAA,CAAM,OAAA,EAAS,CAAA;AACnD,QAAA,MAAA,CAAO,YAAY,KAAA,CAAM,KAAA,EAAM,CAAE,KAAA,GAAQ,QAAA,EAAS;AAClD,QAAA,MAAA,CAAO,SAAA,GAAY,OAAA,CAAQ,MAAA,CAAO,SAAA,EAAqB,IAAI,CAAA;AAC3D,QAAA,MAAA,CAAO,SAAA,GAAY,MAAM,SAAA,EAAU;AACnC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,YAAA,EAAc;AACjB,QAAA,MAAA,CAAO,IAAA,GAAO,YAAA;AAEd,QAAA,IAAI,KAAA,CAAM,eAAc,EAAG;AACzB,UAAA,MAAA,CAAO,aAAA,GAAgB,kBAAA,CAAmB,KAAA,CAAM,aAAA,EAAe,CAAA;AAAA,QACjE;AAEA,QAAA,MAAA,CAAO,UAAA,GAAa,MAAM,UAAA,EAAW;AACrC,QAAA,MAAA,CAAO,QAAA,GAAW,MAAM,QAAA,EAAS;AACjC,QAAA,MAAA,CAAO,YAAA,GAAe,MAAM,YAAA,EAAa;AACzC,QAAA,MAAA,CAAO,YAAA,GAAe,MAAM,YAAA,EAAa;AACzC,QAAA,MAAA,CAAO,YAAA,GAAe,MAAM,YAAA,EAAa;AACzC,QAAA,MAAA,CAAO,aAAA,GAAgB,MAAM,aAAA,EAAc;AAE3C,QAAA,MAAA,CAAO,UAAA,GACL,KAAA,CAAM,UAAA,EAAW,KAAM,MAAA,GACnB,MAAM,UAAA,EAAW,CAAE,QAAA,CAAS,OAAO,CAAA,GACnC,MAAA;AAEN,QAAA,IAAI,KAAA,CAAM,QAAO,EAAG;AAClB,UAAA,MAAM,SAAkC,EAAC;AACzC,UAAA,MAAM,MAAM,KAAA,CAAM,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,EAAI;AAErC,UAAA,IAAI,QAAQ,SAAA,EAAW;AACrB,YAAA,MAAA,CAAO,mBAAmB,kBAAA,CAAmB,KAAA,CAAM,MAAA,EAAO,CAAE,KAAK,CAAA;AAAA,UACnE,CAAA,MAAA,IAAW,QAAQ,WAAA,EAAa;AAC9B,YAAA,MAAA,CAAO,YAAY,KAAA,CAAM,MAAA,EAAO,CAAE,GAAA,GAAM,SAAA,EAAU;AAAA,UACpD,CAAA,MAAA,IAAW,QAAQ,OAAA,EAAS;AAC1B,YAAA,MAAA,CAAO,aAAa,KAAA,CAAM,MAAA,EAAO,CAAE,GAAA,GAAM,KAAA,EAAM;AAAA,UACjD,CAAA,MAAA,IAAW,QAAQ,sBAAA,EAAwB;AACzC,YAAA,MAAM,gBAAgB,KAAA,CAAM,MAAA,EAAO,CAAE,GAAA,GAAM,oBAAA,EAAqB;AAChE,YAAA,MAAA,CAAO,uBAAuB,MAAA,CAAO,mBAAA;AAAA,cACnC,cAAc,KAAA;AAAM,aACtB;AAAA,UACF;AAEA,UAAA,MAAA,CAAO,MAAA,GAAS,KAAA,CAAM,MAAA,EAAO,CAAE,MAAA,EAAO;AACtC,UAAA,MAAA,CAAO,MAAA,GAAS,MAAA;AAAA,QAClB;AACA,QAAA;AAAA,MACF;AAAA;AAAA,MAEA,KAAK,aAAA;AAAA,MACL,KAAK,iBAAA,EAAmB;AACtB,QAAA,MAAA,CAAO,IAAA,GAAO,iBAAA;AACd,QAAA,MAAA,CAAO,OAAA,GAAU,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,SAAS,CAAA;AACpD,QAAA,MAAA,CAAO,MAAA,GAAS,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,QAAQ,CAAA;AAClD,QAAA,MAAA,CAAO,MAAA,GAAS,aAAA,CAAc,KAAA,CAAM,MAAA,EAAQ,CAAA;AAC5C,QAAA,MAAA,CAAO,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,KAAA,EAAO,CAAA;AACzC,QAAA,MAAA,CAAO,OAAA,GAAU,KAAA,CAAM,OAAA,EAAQ,CAAE,QAAA,EAAS;AAC1C,QAAA;AAAA,MACF;AAAA,MACA,KAAK,gBAAA,EAAkB;AACrB,QAAA,MAAA,CAAO,IAAA,GAAO,gBAAA;AACd,QAAA,MAAA,CAAO,OAAA,GAAU,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,SAAS,CAAA;AACpD,QAAA,MAAA,CAAO,MAAA,GAAS,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,QAAQ,CAAA;AAClD,QAAA,MAAA,CAAO,SAAA,GAAY,aAAA,CAAc,KAAA,CAAM,SAAA,EAAW,CAAA;AAClD,QAAA,MAAA,CAAO,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,KAAA,EAAO,CAAA;AACzC,QAAA,MAAA,CAAO,OAAA,GAAU,KAAA,CAAM,OAAA,EAAQ,CAAE,QAAA,EAAS;AAC1C,QAAA;AAAA,MACF;AAAA;AAAA,MAEA,KAAK,oBAAA;AAAA,MACL,KAAK,wBAAA,EAA0B;AAC7B,QAAA,MAAA,CAAO,IAAA,GAAO,wBAAA;AACd,QAAA,MAAA,CAAO,OAAA,GAAU,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,SAAS,CAAA;AACpD,QAAA,MAAA,CAAO,MAAA,GAAS,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,QAAQ,CAAA;AAClD,QAAA,MAAA,CAAO,MAAA,GAAS,aAAA,CAAc,KAAA,CAAM,MAAA,EAAQ,CAAA;AAC5C,QAAA,MAAA,CAAO,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,KAAA,EAAO,CAAA;AACzC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,cAAA,EAAgB;AACnB,QAAA,MAAA,CAAO,IAAA,GAAO,cAAA;AACd,QAAA,MAAA,CAAO,WAAA,GAAc,4BAA4B,KAAK,CAAA;AACtD,QAAA;AAAA,MACF;AAAA,MACA,KAAK,YAAA,EAAc;AACjB,QAAA,MAAA,CAAO,IAAA,GAAO,YAAA;AAEd,QAAA,MAAA,CAAO,IAAA,GAAO,KAAA,CAAM,QAAA,EAAS,CAAE,SAAS,OAAO,CAAA;AAC/C,QAAA,MAAA,CAAO,KAAA,GAAQ,MAAM,SAAA,EAAU;AAC/B,QAAA;AAAA,MACF;AAAA,MACA,KAAK,WAAA,EAAa;AAChB,QAAA,MAAA,CAAO,IAAA,GAAO,WAAA;AACd,QAAA;AAAA,MACF;AAAA,MACA,KAAK,cAAA,EAAgB;AACnB,QAAA,MAAA,CAAO,IAAA,GAAO,cAAA;AACd,QAAA,MAAA,CAAO,MAAA,GAAS,KAAA,CAAM,MAAA,EAAO,CAAE,QAAA,EAAS;AACxC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,wBAAA,EAA0B;AAC7B,QAAA,MAAA,CAAO,IAAA,GAAO,wBAAA;AACd,QAAA,MAAA,CAAO,KAAA,GAAQ,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,OAAO,CAAA;AAChD,QAAA,MAAA,CAAO,MAAA,GAAS,aAAA,CAAc,KAAA,CAAM,MAAA,EAAQ,CAAA;AAC5C,QAAA,MAAA,CAAO,YAAY,EAAC;AAEpB,QAAA,KAAA,CAAM,SAAA,EAAU,CAAE,OAAA,CAAQ,CAAC,QAAA,KAA2B;AACpD,UAAC,OAAO,SAAA,CAAyB,IAAA,CAAK,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAC,CAAA;AAAA,QAClE,CAAC,CAAA;AACD,QAAA;AAAA,MACF;AAAA,MACA,KAAK,uBAAA,EAAyB;AAC5B,QAAA,MAAA,CAAO,IAAA,GAAO,uBAAA;AACd,QAAA,MAAA,CAAO,SAAA,GAAY,KAAA,CAAM,KAAA,CAAM,KAAK,CAAA;AACpC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,+BAAA,EAAiC;AACpC,QAAA,MAAA,CAAO,IAAA,GAAO,+BAAA;AACd,QAAA,MAAA,CAAO,WAAA,GAAc,kBAAA,CAAmB,KAAA,CAAM,WAAA,EAAa,CAAA;AAC3D,QAAA;AAAA,MACF;AAAA,MACA,KAAK,6BAAA,EAA+B;AAClC,QAAA,MAAA,CAAO,IAAA,GAAO,6BAAA;AACd,QAAA;AAAA,MACF;AAAA,MACA,KAAK,mBAAA,EAAqB;AACxB,QAAA,4BAAA,CAA6B,OAAO,MAAM,CAAA;AAC1C,QAAA;AAAA,MACF;AAAA,MACA,KAAK,UAAA,EAAY;AACf,QAAA,MAAA,CAAO,IAAA,GAAO,UAAA;AACd,QAAA,MAAA,CAAO,MAAA,GAAS,aAAA,CAAc,KAAA,CAAM,MAAA,EAAQ,CAAA;AAC5C,QAAA,MAAA,CAAO,IAAA,GAAO,2BAAA,CAA4B,KAAA,CAAM,IAAA,EAAM,CAAA;AACtD,QAAA,MAAA,CAAO,KAAA,GAAQ,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,OAAO,CAAA;AAChD,QAAA;AAAA,MACF;AAAA,MACA,KAAK,0BAAA,EAA4B;AAC/B,QAAA,MAAA,CAAO,IAAA,GAAO,0BAAA;AACd,QAAA,MAAA,CAAO,SAAA,GAAY,KAAA,CAAM,KAAA,CAAM,KAAK,CAAA;AACpC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,mBAAA,EAAqB;AACxB,QAAA,MAAA,CAAO,IAAA,GAAO,mBAAA;AACd,QAAA,MAAA,CAAO,KAAA,GAAQ,KAAA,CAAM,aAAA,CAAc,KAAA,CAAM,OAAO,CAAA;AAChD,QAAA,MAAA,CAAO,OAAA,GAAU,kBAAA,CAAmB,KAAA,CAAM,OAAA,EAAS,CAAA;AAInD,QAAA,MAAM,MAAA,GAAS,MAAM,UAAA,EAAW;AAChC,QAAA,MAAM,IAAA,GAAO,MAAM,QAAA,EAAS;AAE5B,QAAA,MAAM,OAAA,GAA8C;AAAA,UAClD,UAAA,EAAYA,KAAA,CAAI,cAAA,CAAe,cAAA,EAAe;AAAA,UAC9C,+BAAA,EACEA,KAAA,CAAI,cAAA,CAAe,mCAAA,EAAoC;AAAA,UACzD,eAAA,EAAiBA,KAAA,CAAI,cAAA,CAAe,4BAAA;AAA6B,SACnE;AAEA,QAAA,MAAM,YAAA,GAAe,CAAC,GAAA,KAAgB;AACpC,UAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,GAAG,CAAA,EAAG,KAAA,IAAS,CAAA;AAEnC,UAAA,IAAI,OAAO,GAAA,EAAK;AACd,YAAA,OAAO,IAAA;AAAA,UACT;AAEA,UAAA,IAAI,SAAS,GAAA,EAAK;AAChB,YAAA,OAAO,KAAA;AAAA,UACT;AAEA,UAAA,OAAO,MAAA;AAAA,QACT,CAAA;AAEA,QAAA,MAAM,QAA6C,EAAC;AAEpD,QAAA,MAAA,CAAO,IAAA,CAAK,OAAO,CAAA,CAAE,OAAA,CAAQ,CAAC,QAAA,KAAa;AACzC,UAAA,KAAA,CAAM,QAAQ,CAAA,GAAI,YAAA,CAAa,QAAQ,CAAA;AAAA,QACzC,CAAC,CAAA;AAED,QAAA,MAAA,CAAO,KAAA,GAAQ,KAAA;AAEf,QAAA;AAAA,MACF;AAAA,MACA,KAAK,sBAAA,EAAwB;AAC3B,QAAA,MAAA,CAAO,IAAA,GAAO,sBAAA;AACd,QAAA,MAAA,CAAO,eAAA,GAAkB,KAAA,CAAM,eAAA,EAAgB,CAAE,SAAS,KAAK,CAAA;AAC/D,QAAA,MAAA,CAAO,UAAA,GAAa,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,CAAA;AACpD,QAAA,MAAA,CAAO,UAAA,GAAa,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,CAAA;AACpD,QAAA,MAAA,CAAO,QAAA,GAAW,YAAA,CAAa,KAAA,CAAM,QAAA,EAAU,CAAA;AAC/C,QAAA,MAAA,CAAO,QAAA,GAAW,YAAA,CAAa,KAAA,CAAM,QAAA,EAAU,CAAA;AAC/C,QAAA;AAAA,MACF;AAAA,MACA,KAAK,uBAAA,EAAyB;AAC5B,QAAA,MAAA,CAAO,IAAA,GAAO,uBAAA;AACd,QAAA,MAAA,CAAO,eAAA,GAAkB,KAAA,CAAM,eAAA,EAAgB,CAAE,SAAS,KAAK,CAAA;AAC/D,QAAA,MAAA,CAAO,MAAA,GAAS,aAAA,CAAc,KAAA,CAAM,MAAA,EAAQ,CAAA;AAC5C,QAAA,MAAA,CAAO,UAAA,GAAa,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,CAAA;AACpD,QAAA,MAAA,CAAO,UAAA,GAAa,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,CAAA;AACpD,QAAA;AAAA,MACF;AAAA,MACA,KAAK,oBAAA,EAAsB;AACzB,QAAA,MAAA,CAAO,IAAA,GAAO,oBAAA;AACd,QAAA,MAAA,CAAO,IAAA,GAAO,MAAM,YAAA,EAAa;AACjC,QAAA,MAAA,CAAO,IAAA,GAAO,KAAA,CAAM,IAAA,EAAK,IAAK,EAAC;AAC/B,QAAA;AAAA,MACF;AAAA,MACA,KAAK,oBAAA,EAAsB;AACzB,QAAA,MAAA,CAAO,IAAA,GAAO,oBAAA;AACd,QAAA,MAAA,CAAO,QAAA,GAAW,MAAM,QAAA,EAAS;AACjC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,kBAAA,EAAoB;AACvB,QAAA,MAAA,CAAO,IAAA,GAAO,kBAAA;AACd,QAAA;AAAA,MACF;AAAA,MACA,SAAS;AACP,QAAA,MAAM,IAAI,KAAA,CAAM,CAAA,mBAAA,EAAsB,aAAa,CAAA,CAAE,CAAA;AAAA,MACvD;AAAA;AAGF,IAAA,OAAO,MAAA;AAAA,EACT;AAAA;AAAA,EAGA,OAAO,eAAeC,YAAI;AAAA,EAC1B,OAAO,aAAaC,UAAI;AAAA,EACxB,OAAO,eAAeC,YAAI;AAAA,EAC1B,OAAO,cAAcC,WAAI;AAAA,EACzB,OAAO,gBAAgBC,aAAI;AAAA,EAC3B,OAAO,yBAAyBC,sBAAI;AAAA,EACpC,OAAO,wBAAwBC,qBAAI;AAAA,EACnC,OAAO,2BAA2BC,wBAAI;AAAA,EACtC,OAAO,yBAAyBC,sBAAI;AAAA,EACpC,OAAO,YAAYC,SAAI;AAAA,EACvB,OAAO,aAAaC,UAAI;AAAA,EACxB,OAAO,kBAAkBC,eAAI;AAAA,EAC7B,OAAO,iBAAiBC,cAAI;AAAA,EAC5B,OAAO,2BAA2BC,wBAAI;AAAA,EACtC,OAAO,wBAAwBC,qBAAI;AAAA,EACnC,OAAO,UAAUC,OAAI;AAAA,EACrB,OAAO,aAAaC,UAAI;AAAA,EACxB,OAAO,gCAAgCC,6BAAI;AAAA,EAC3C,OAAO,8BAA8BC,2BAAI;AAAA,EACzC,OAAO,2BAA2BC,wBAAI;AAAA,EACtC,OAAO,6BAA6BC,0BAAI;AAAA,EACxC,OAAO,yBAAyBC,sBAAI;AAAA,EACpC,OAAO,wBAAwBC,qBAAI;AAAA,EACnC,OAAO,oCACLC,iCAAI;AAAA,EACN,OAAO,iCAAiCC,8BAAI;AAAA,EAC5C,OAAO,0BAA0BC,uBAAI;AAAA,EACrC,OAAO,WAAWC,QAAI;AAAA,EACtB,OAAO,oBAAoBC,iBAAI;AAAA,EAC/B,OAAO,uBAAuBC,oBAAI;AAAA,EAClC,OAAO,wBAAwBC,qBAAI;AAAA,EACnC,OAAO,qBAAqBC,kBAAI;AAAA,EAChC,OAAO,qBAAqBC,kBAAI;AAAA,EAChC,OAAO,mBAAmBC,gBAAI;AAAA;AAAA;AAAA,EAI9B,OAAO,kCAAkCC,+BAAI;AAAA,EAC7C,OAAO,yBAAyBC,sBAAI;AAAA,EACpC,OAAO,uBAAuBC,oBAAI;AAAA,EAClC,OAAO,qBAAqBC,kBAAI;AAClC;AAEA,SAAS,4BAAA,CACP,OACA,MAAA,EACA;AACA,EAAA,QAAQ,KAAA,CAAM,MAAA,EAAO,CAAE,IAAA;AAAM,IAC3B,KAAK,8BAAA,EAAgC;AACnC,MAAA,MAAM,SAAA,GAAY,MAAM,SAAA,EAAU;AAElC,MAAA,QAAQ,SAAA,CAAU,MAAA,EAAO,CAAE,IAAA;AAAM,QAC/B,KAAKrC,KAAA,CAAI,eAAA,CAAgB,OAAA,GAAU,IAAA,EAAM;AACvC,UAAA,MAAA,CAAO,IAAA,GAAO,0BAAA;AACd,UAAA,MAAA,CAAO,UAAU,kBAAA,CAAmB,SAAA,CAAU,OAAA,EAAQ,CAAE,WAAW,CAAA;AACnE,UAAA;AAAA,QACF;AAAA,QACA,KAAKA,KAAA,CAAI,eAAA,CAAgB,SAAA,GAAY,IAAA,EAAM;AACzC,UAAA,MAAA,CAAO,IAAA,GAAO,4BAAA;AACd,UAAA,MAAA,CAAO,OAAA,GAAU,kBAAA;AAAA,YACf,SAAA,CAAU,SAAA,EAAU,CAAE,SAAA;AAAU,WAClC;AACA,UAAA,MAAM,QAAA,GAAW,SAAA,CAAU,SAAA,EAAU,CAAE,KAAA,EAAM;AAC7C,UAAA,QAAQ,QAAA,CAAS,QAAO;AAAG,YACzB,KAAKA,KAAA,CAAI,SAAA,CAAU,kBAAA,EAAmB;AACpC,cAAA,MAAA,CAAO,KAAA,GAAQ,eAAA,CAAgB,aAAA,CAAc,QAAQ,CAAA;AACrD,cAAA;AAAA,YACF;AACE,cAAA,MAAA,CAAO,KAAA,GAAQ,KAAA,CAAM,aAAA,CAAc,QAAQ,CAAA;AAC3C,cAAA;AAAA;AAEJ,UAAA;AAAA,QACF;AAAA,QACA,KAAKA,KAAA,CAAI,eAAA,CAAgB,KAAA,GAAQ,IAAA,EAAM;AACrC,UAAA,MAAA,CAAO,IAAA,GAAO,wBAAA;AACd,UAAA,MAAA,CAAO,SAAS,kBAAA,CAAmB,SAAA,CAAU,KAAA,EAAM,CAAE,UAAU,CAAA;AAC/D,UAAA,MAAA,CAAO,UAAU,SAAA,CAAU,KAAA,EAAM,CAAE,OAAA,GAAU,QAAA,EAAS;AACtD,UAAA;AAAA,QACF;AAAA,QACA,KAAKA,KAAA,CAAI,eAAA,CAAgB,IAAA,GAAO,IAAA,EAAM;AACpC,UAAA,MAAA,CAAO,IAAA,GAAO,uBAAA;AACd,UAAA,MAAA,CAAO,UAAU,kBAAA,CAAmB,SAAA,CAAU,IAAA,EAAK,CAAE,WAAW,CAAA;AAChE,UAAA,MAAA,CAAO,OAAO,SAAA,CAAU,IAAA,GAAO,QAAA,EAAS,CAAE,SAAS,OAAO,CAAA;AAC1D,UAAA;AAAA,QACF;AAAA,QACA,KAAKA,KAAA,CAAI,eAAA,CAAgB,gBAAA,GAAmB,IAAA,EAAM;AAChD,UAAA,MAAA,CAAO,IAAA,GAAO,mCAAA;AACd,UAAA,MAAA,CAAO,YAAY,SAAA,CAChB,gBAAA,GACA,SAAA,EAAU,CACV,MAAM,KAAK,CAAA;AACd,UAAA;AAAA,QACF;AAAA,QACA,KAAKA,KAAA,CAAI,eAAA,CAAgB,aAAA,GAAgB,IAAA,EAAM;AAC7C,UAAA,MAAA,CAAO,IAAA,GAAO,gCAAA;AACd,UAAA,MAAA,CAAO,kBAAkB,SAAA,CACtB,aAAA,GACA,eAAA,EAAgB,CAChB,SAAS,KAAK,CAAA;AACjB,UAAA;AAAA,QACF;AAAA,QACA,SAAS;AACP,UAAA,MAAM,IAAI,KAAA,CAAM,CAAA,mBAAA,EAAsB,MAAM,MAAA,EAAO,CAAE,IAAI,CAAA,CAAE,CAAA;AAAA,QAC7D;AAAA;AAEF,MAAA;AAAA,IACF;AAAA,IACA,KAAK,yBAAA,EAA2B;AAC9B,MAAA,MAAA,CAAO,IAAA,GAAO,yBAAA;AACd,MAAA,MAAA,CAAO,UAAU,kBAAA,CAAmB,KAAA,CAAM,MAAA,EAAO,CAAE,WAAW,CAAA;AAC9D,MAAA,MAAA,CAAO,SAAS,2BAAA,CAA4B,KAAA,CAAM,MAAA,EAAO,CAAE,WAAW,CAAA;AACtE,MAAA;AAAA,IACF;AAAA,IACA,SAAS;AACP,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8B,MAAM,MAAA,EAAO,CAAE,IAAI,CAAA,CAAE,CAAA;AAAA,IACrE;AAAA;AAEJ;AAEA,SAAS,4BACP,SAAA,EACyB;AACzB,EAAA,MAAM,QAAiC,EAAC;AAExC,EAAA,QAAQ,SAAA,CAAU,MAAA,EAAO,CAAE,IAAA;AAAM,IAC/B,KAAKA,KAAA,CAAI,aAAA,CAAc,oBAAA,GAAuB,IAAA,EAAM;AAClD,MAAA,KAAA,CAAM,mBAAmB,MAAA,CAAO,sBAAA;AAAA,QAC9B,UAAU,OAAA;AAAQ,OACpB;AACA,MAAA;AAAA,IACF;AAAA,IACA,KAAKA,KAAA,CAAI,aAAA,CAAc,sBAAA,GAAyB,IAAA,EAAM;AACpD,MAAA,KAAA,CAAM,SAAA,GAAY,SAAA,CAAU,SAAA,EAAU,CAAE,SAAS,KAAK,CAAA;AACtD,MAAA;AAAA,IACF;AAAA,IACA,KAAKA,KAAA,CAAI,aAAA,CAAc,kBAAA,GAAqB,IAAA,EAAM;AAChD,MAAA,KAAA,CAAM,UAAA,GAAa,SAAA,CAAU,KAAA,EAAM,CAAE,SAAS,KAAK,CAAA;AACnD,MAAA;AAAA,IACF;AAAA,IACA,KAAKA,KAAA,CAAI,aAAA,CAAc,iCAAA,GAAoC,IAAA,EAAM;AAC/D,MAAA,MAAM,aAAA,GAAgB,UAAU,oBAAA,EAAqB;AAErD,MAAA,KAAA,CAAM,uBAAuB,MAAA,CAAO,mBAAA;AAAA,QAClC,cAAc,KAAA;AAAM,OACtB;AACA,MAAA;AAAA,IACF;AAAA,IACA,SAAS;AACP,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,mBAAA,EAAsB,UAAU,MAAA,EAAO,CAAE,IAAI,CAAA,CAAE,CAAA;AAAA,IACjE;AAAA;AAGF,EAAA,OAAO,KAAA;AACT;AAEA,SAAS,mBAAmB,SAAA,EAAkC;AAC5D,EAAA,OAAO,MAAA,CAAO,sBAAA,CAAuB,SAAA,CAAU,OAAA,EAAS,CAAA;AAC1D;;;;"}
|
|
@@ -22,7 +22,7 @@ export { clawback } from "./clawback.js";
|
|
|
22
22
|
export { setTrustLineFlags } from "./set_trustline_flags.js";
|
|
23
23
|
export { liquidityPoolDeposit } from "./liquidity_pool_deposit.js";
|
|
24
24
|
export { liquidityPoolWithdraw } from "./liquidity_pool_withdraw.js";
|
|
25
|
-
export { invokeHostFunction, invokeContractFunction,
|
|
25
|
+
export { invokeHostFunction, invokeContractFunction, createDigitalWorldAssetContract, createCustomContract, uploadContractWasm, } from "./invoke_host_function.js";
|
|
26
26
|
export { extendFootprintTtl } from "./extend_footprint_ttl.js";
|
|
27
27
|
export { restoreFootprint } from "./restore_footprint.js";
|
|
28
28
|
export type { AuthFlag, TrustLineFlag, OperationOptions, OperationType, Signer, OperationRecord, } from "./types.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import xdr from "../xdr.js";
|
|
2
|
-
import { CreateCustomContractOpts,
|
|
2
|
+
import { CreateCustomContractOpts, CreateDigitalWorldAssetContractOpts, InvokeContractFunctionOpts, InvokeHostFunctionOpts, InvokeHostFunctionResult, UploadContractWasmOpts } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Invokes a single smart contract host function.
|
|
5
5
|
*
|
|
@@ -12,7 +12,7 @@ import { CreateCustomContractOpts, CreateStellarAssetContractOpts, InvokeContrac
|
|
|
12
12
|
* @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function
|
|
13
13
|
* @see Operation.invokeContractFunction
|
|
14
14
|
* @see Operation.createCustomContract
|
|
15
|
-
* @see Operation.
|
|
15
|
+
* @see Operation.createDigitalWorldAssetContract
|
|
16
16
|
* @see Operation.uploadContractWasm
|
|
17
17
|
* @see Contract.call
|
|
18
18
|
*/
|
|
@@ -50,11 +50,11 @@ export declare function invokeContractFunction(opts: InvokeContractFunctionOpts)
|
|
|
50
50
|
*/
|
|
51
51
|
export declare function createCustomContract(opts: CreateCustomContractOpts): xdr.Operation<InvokeHostFunctionResult>;
|
|
52
52
|
/**
|
|
53
|
-
* Returns an operation that wraps a
|
|
53
|
+
* Returns an operation that wraps a Digital World asset into a token contract.
|
|
54
54
|
*
|
|
55
55
|
*
|
|
56
56
|
* @param opts - the set of parameters
|
|
57
|
-
* - `asset`: the
|
|
57
|
+
* - `asset`: the Digital World asset to wrap, either as an {@link Asset} object or in canonical form (SEP-11, `code:issuer`)
|
|
58
58
|
* - `auth`: an optional list outlining the tree of authorizations required for the upload
|
|
59
59
|
* - `source`: an optional source account
|
|
60
60
|
*
|
|
@@ -63,7 +63,7 @@ export declare function createCustomContract(opts: CreateCustomContractOpts): xd
|
|
|
63
63
|
* @see https://soroban.stellar.org/docs/advanced-tutorials/stellar-asset-contract
|
|
64
64
|
* @see Operation.invokeHostFunction
|
|
65
65
|
*/
|
|
66
|
-
export declare function
|
|
66
|
+
export declare function createDigitalWorldAssetContract(opts: CreateDigitalWorldAssetContractOpts): xdr.Operation<InvokeHostFunctionResult>;
|
|
67
67
|
/**
|
|
68
68
|
* Returns an operation that uploads WASM for a contract.
|
|
69
69
|
*
|
|
@@ -89,7 +89,7 @@ function createCustomContract(opts) {
|
|
|
89
89
|
...opts.auth !== void 0 && { auth: opts.auth }
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function createDigitalWorldAssetContract(opts) {
|
|
93
93
|
let asset = opts.asset;
|
|
94
94
|
if (typeof asset === "string") {
|
|
95
95
|
const parts = asset.split(":");
|
|
@@ -133,5 +133,5 @@ function getSalty() {
|
|
|
133
133
|
return Keypair.random().xdrPublicKey().value();
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
export { createCustomContract,
|
|
136
|
+
export { createCustomContract, createDigitalWorldAssetContract, invokeContractFunction, invokeHostFunction, uploadContractWasm };
|
|
137
137
|
//# sourceMappingURL=invoke_host_function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke_host_function.js","sources":["../../../../src/base/operations/invoke_host_function.ts"],"sourcesContent":["import xdr from \"../xdr.js\";\n\nimport { Keypair } from \"../keypair.js\";\nimport { Address } from \"../address.js\";\nimport { Asset } from \"../asset.js\";\nimport {\n CreateCustomContractOpts,\n CreateStellarAssetContractOpts,\n InvokeContractFunctionOpts,\n InvokeHostFunctionOpts,\n InvokeHostFunctionResult,\n OperationAttributes,\n UploadContractWasmOpts,\n} from \"./types.js\";\nimport { setSourceAccount } from \"../util/operations.js\";\n\n/**\n * Invokes a single smart contract host function.\n *\n *\n * @param opts - options object\n * - `func`: host function to execute (with its wrapped parameters)\n * - `auth`: list outlining the tree of authorizations required for the call\n * - `source`: an optional source account\n *\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function\n * @see Operation.invokeContractFunction\n * @see Operation.createCustomContract\n * @see Operation.createStellarAssetContract\n * @see Operation.uploadContractWasm\n * @see Contract.call\n */\nexport function invokeHostFunction(\n opts: InvokeHostFunctionOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n if (!opts.func) {\n throw new TypeError(\n `host function invocation ('func') required (got ${JSON.stringify(opts)})`,\n );\n }\n\n if (\n opts.func.switch().value ===\n xdr.HostFunctionType.hostFunctionTypeInvokeContract().value\n ) {\n // Ensure that there are no claimable balance or liquidity pool IDs in the\n // invocation because those are not allowed.\n opts.func\n .invokeContract()\n .args()\n .forEach((arg) => {\n let scv: Address;\n try {\n scv = Address.fromScVal(arg);\n } catch {\n // swallow non-Address errors\n return;\n }\n\n switch (scv.type) {\n case \"claimableBalance\":\n case \"liquidityPool\":\n throw new TypeError(\n `claimable balances and liquidity pools cannot be arguments to invokeHostFunction`,\n );\n default:\n }\n });\n }\n\n const invokeHostFunctionOp = new xdr.InvokeHostFunctionOp({\n hostFunction: opts.func,\n auth: opts.auth || [],\n });\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.invokeHostFunction(invokeHostFunctionOp),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Returns an operation that invokes a contract function.\n *\n *\n * @param opts - the set of parameters\n * - `contract`: a strkey-fied contract address (`C...`)\n * - `function`: the name of the contract fn to invoke\n * - `args`: parameters to pass to the function invocation\n * - `auth`: an optional list outlining the tree of authorizations required for the call\n * - `source`: an optional source account\n *\n * @see Operation.invokeHostFunction\n * @see Contract.call\n * @see Address\n */\nexport function invokeContractFunction(\n opts: InvokeContractFunctionOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n const c = new Address(opts.contract);\n\n if (c.type !== \"contract\") {\n throw new TypeError(\n `expected contract strkey instance, got ${c.toString()}`,\n );\n }\n\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeInvokeContract(\n new xdr.InvokeContractArgs({\n contractAddress: c.toScAddress(),\n functionName: opts.function,\n args: opts.args,\n }),\n ),\n ...(opts.source !== undefined && { source: opts.source }),\n ...(opts.auth !== undefined && { auth: opts.auth }),\n });\n}\n\n/**\n * Returns an operation that creates a custom WASM contract and atomically\n * invokes its constructor.\n *\n *\n * @param opts - the set of parameters\n * - `address`: the contract uploader address\n * - `wasmHash`: the SHA-256 hash of the contract WASM you're uploading\n * - `constructorArgs`: the optional parameters to pass to the constructor\n * - `salt`: an optional, 32-byte salt to distinguish deployment instances\n * - `auth`: an optional list outlining the tree of authorizations required for the call\n * - `source`: an optional source account\n *\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function\n */\nexport function createCustomContract(\n opts: CreateCustomContractOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n const salt = Buffer.from(opts.salt || getSalty());\n\n if (!opts.wasmHash || opts.wasmHash.length !== 32) {\n throw new TypeError(\n `expected hash(contract WASM) in 'opts.wasmHash', got ${String(opts.wasmHash)}`,\n );\n }\n\n if (salt.length !== 32) {\n throw new TypeError(\n `expected 32-byte salt in 'opts.salt', got ${String(opts.salt)}`,\n );\n }\n\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeCreateContractV2(\n new xdr.CreateContractArgsV2({\n executable: xdr.ContractExecutable.contractExecutableWasm(\n Buffer.from(opts.wasmHash),\n ),\n contractIdPreimage:\n xdr.ContractIdPreimage.contractIdPreimageFromAddress(\n new xdr.ContractIdPreimageFromAddress({\n address: opts.address.toScAddress(),\n salt,\n }),\n ),\n constructorArgs: opts.constructorArgs ?? [],\n }),\n ),\n ...(opts.source !== undefined && { source: opts.source }),\n ...(opts.auth !== undefined && { auth: opts.auth }),\n });\n}\n\n/**\n * Returns an operation that wraps a Stellar asset into a token contract.\n *\n *\n * @param opts - the set of parameters\n * - `asset`: the Stellar asset to wrap, either as an {@link Asset} object or in canonical form (SEP-11, `code:issuer`)\n * - `auth`: an optional list outlining the tree of authorizations required for the upload\n * - `source`: an optional source account\n *\n * @see https://stellar.org/protocol/sep-11#alphanum4-alphanum12\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions\n * @see https://soroban.stellar.org/docs/advanced-tutorials/stellar-asset-contract\n * @see Operation.invokeHostFunction\n */\nexport function createStellarAssetContract(\n opts: CreateStellarAssetContractOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n let asset = opts.asset;\n\n if (typeof asset === \"string\") {\n const parts = asset.split(\":\");\n const code = parts[0];\n if (code === undefined) {\n throw new TypeError(\n `expected Asset in 'opts.asset', got ${String(opts.asset)}`,\n );\n }\n asset = new Asset(code, parts[1]); // handles 'xlm' by default\n }\n\n if (!(asset instanceof Asset)) {\n throw new TypeError(\n `expected Asset in 'opts.asset', got ${String(opts.asset)}`,\n );\n }\n\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeCreateContract(\n new xdr.CreateContractArgs({\n executable: xdr.ContractExecutable.contractExecutableStellarAsset(),\n contractIdPreimage: xdr.ContractIdPreimage.contractIdPreimageFromAsset(\n asset.toXDRObject(),\n ),\n }),\n ),\n auth: opts.auth || [],\n ...(opts.source !== undefined && { source: opts.source }),\n });\n}\n\n/**\n * Returns an operation that uploads WASM for a contract.\n *\n *\n * @param opts - the set of parameters\n * - `wasm`: a WASM blob to upload to the ledger\n * - `auth`: an optional list outlining the tree of authorizations required for the upload\n * - `source`: an optional source account\n *\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function\n */\nexport function uploadContractWasm(\n opts: UploadContractWasmOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeUploadContractWasm(\n Buffer.from(opts.wasm), // coalesce so we can drop `Buffer` someday\n ),\n auth: opts.auth || [],\n ...(opts.source !== undefined && { source: opts.source }),\n });\n}\n\n/* Returns a random 256-bit \"salt\" value. */\nfunction getSalty(): Buffer {\n return Keypair.random().xdrPublicKey().value(); // ed25519 is 256 bits, too\n}\n"],"names":["xdr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoke_host_function.js","sources":["../../../../src/base/operations/invoke_host_function.ts"],"sourcesContent":["import xdr from \"../xdr.js\";\n\nimport { Keypair } from \"../keypair.js\";\nimport { Address } from \"../address.js\";\nimport { Asset } from \"../asset.js\";\nimport {\n CreateCustomContractOpts,\n CreateDigitalWorldAssetContractOpts,\n InvokeContractFunctionOpts,\n InvokeHostFunctionOpts,\n InvokeHostFunctionResult,\n OperationAttributes,\n UploadContractWasmOpts,\n} from \"./types.js\";\nimport { setSourceAccount } from \"../util/operations.js\";\n\n/**\n * Invokes a single smart contract host function.\n *\n *\n * @param opts - options object\n * - `func`: host function to execute (with its wrapped parameters)\n * - `auth`: list outlining the tree of authorizations required for the call\n * - `source`: an optional source account\n *\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function\n * @see Operation.invokeContractFunction\n * @see Operation.createCustomContract\n * @see Operation.createDigitalWorldAssetContract\n * @see Operation.uploadContractWasm\n * @see Contract.call\n */\nexport function invokeHostFunction(\n opts: InvokeHostFunctionOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n if (!opts.func) {\n throw new TypeError(\n `host function invocation ('func') required (got ${JSON.stringify(opts)})`,\n );\n }\n\n if (\n opts.func.switch().value ===\n xdr.HostFunctionType.hostFunctionTypeInvokeContract().value\n ) {\n // Ensure that there are no claimable balance or liquidity pool IDs in the\n // invocation because those are not allowed.\n opts.func\n .invokeContract()\n .args()\n .forEach((arg) => {\n let scv: Address;\n try {\n scv = Address.fromScVal(arg);\n } catch {\n // swallow non-Address errors\n return;\n }\n\n switch (scv.type) {\n case \"claimableBalance\":\n case \"liquidityPool\":\n throw new TypeError(\n `claimable balances and liquidity pools cannot be arguments to invokeHostFunction`,\n );\n default:\n }\n });\n }\n\n const invokeHostFunctionOp = new xdr.InvokeHostFunctionOp({\n hostFunction: opts.func,\n auth: opts.auth || [],\n });\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.invokeHostFunction(invokeHostFunctionOp),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Returns an operation that invokes a contract function.\n *\n *\n * @param opts - the set of parameters\n * - `contract`: a strkey-fied contract address (`C...`)\n * - `function`: the name of the contract fn to invoke\n * - `args`: parameters to pass to the function invocation\n * - `auth`: an optional list outlining the tree of authorizations required for the call\n * - `source`: an optional source account\n *\n * @see Operation.invokeHostFunction\n * @see Contract.call\n * @see Address\n */\nexport function invokeContractFunction(\n opts: InvokeContractFunctionOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n const c = new Address(opts.contract);\n\n if (c.type !== \"contract\") {\n throw new TypeError(\n `expected contract strkey instance, got ${c.toString()}`,\n );\n }\n\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeInvokeContract(\n new xdr.InvokeContractArgs({\n contractAddress: c.toScAddress(),\n functionName: opts.function,\n args: opts.args,\n }),\n ),\n ...(opts.source !== undefined && { source: opts.source }),\n ...(opts.auth !== undefined && { auth: opts.auth }),\n });\n}\n\n/**\n * Returns an operation that creates a custom WASM contract and atomically\n * invokes its constructor.\n *\n *\n * @param opts - the set of parameters\n * - `address`: the contract uploader address\n * - `wasmHash`: the SHA-256 hash of the contract WASM you're uploading\n * - `constructorArgs`: the optional parameters to pass to the constructor\n * - `salt`: an optional, 32-byte salt to distinguish deployment instances\n * - `auth`: an optional list outlining the tree of authorizations required for the call\n * - `source`: an optional source account\n *\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function\n */\nexport function createCustomContract(\n opts: CreateCustomContractOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n const salt = Buffer.from(opts.salt || getSalty());\n\n if (!opts.wasmHash || opts.wasmHash.length !== 32) {\n throw new TypeError(\n `expected hash(contract WASM) in 'opts.wasmHash', got ${String(opts.wasmHash)}`,\n );\n }\n\n if (salt.length !== 32) {\n throw new TypeError(\n `expected 32-byte salt in 'opts.salt', got ${String(opts.salt)}`,\n );\n }\n\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeCreateContractV2(\n new xdr.CreateContractArgsV2({\n executable: xdr.ContractExecutable.contractExecutableWasm(\n Buffer.from(opts.wasmHash),\n ),\n contractIdPreimage:\n xdr.ContractIdPreimage.contractIdPreimageFromAddress(\n new xdr.ContractIdPreimageFromAddress({\n address: opts.address.toScAddress(),\n salt,\n }),\n ),\n constructorArgs: opts.constructorArgs ?? [],\n }),\n ),\n ...(opts.source !== undefined && { source: opts.source }),\n ...(opts.auth !== undefined && { auth: opts.auth }),\n });\n}\n\n/**\n * Returns an operation that wraps a Digital World asset into a token contract.\n *\n *\n * @param opts - the set of parameters\n * - `asset`: the Digital World asset to wrap, either as an {@link Asset} object or in canonical form (SEP-11, `code:issuer`)\n * - `auth`: an optional list outlining the tree of authorizations required for the upload\n * - `source`: an optional source account\n *\n * @see https://stellar.org/protocol/sep-11#alphanum4-alphanum12\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions\n * @see https://soroban.stellar.org/docs/advanced-tutorials/stellar-asset-contract\n * @see Operation.invokeHostFunction\n */\nexport function createDigitalWorldAssetContract(\n opts: CreateDigitalWorldAssetContractOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n let asset = opts.asset;\n\n if (typeof asset === \"string\") {\n const parts = asset.split(\":\");\n const code = parts[0];\n if (code === undefined) {\n throw new TypeError(\n `expected Asset in 'opts.asset', got ${String(opts.asset)}`,\n );\n }\n asset = new Asset(code, parts[1]); // handles 'xlm' by default\n }\n\n if (!(asset instanceof Asset)) {\n throw new TypeError(\n `expected Asset in 'opts.asset', got ${String(opts.asset)}`,\n );\n }\n\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeCreateContract(\n new xdr.CreateContractArgs({\n executable: xdr.ContractExecutable.contractExecutableStellarAsset(),\n contractIdPreimage: xdr.ContractIdPreimage.contractIdPreimageFromAsset(\n asset.toXDRObject(),\n ),\n }),\n ),\n auth: opts.auth || [],\n ...(opts.source !== undefined && { source: opts.source }),\n });\n}\n\n/**\n * Returns an operation that uploads WASM for a contract.\n *\n *\n * @param opts - the set of parameters\n * - `wasm`: a WASM blob to upload to the ledger\n * - `auth`: an optional list outlining the tree of authorizations required for the upload\n * - `source`: an optional source account\n *\n * @see https://soroban.stellar.org/docs/fundamentals-and-concepts/invoking-contracts-with-transactions#function\n */\nexport function uploadContractWasm(\n opts: UploadContractWasmOpts,\n): xdr.Operation<InvokeHostFunctionResult> {\n return invokeHostFunction({\n func: xdr.HostFunction.hostFunctionTypeUploadContractWasm(\n Buffer.from(opts.wasm), // coalesce so we can drop `Buffer` someday\n ),\n auth: opts.auth || [],\n ...(opts.source !== undefined && { source: opts.source }),\n });\n}\n\n/* Returns a random 256-bit \"salt\" value. */\nfunction getSalty(): Buffer {\n return Keypair.random().xdrPublicKey().value(); // ed25519 is 256 bits, too\n}\n"],"names":["xdr"],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export declare function revokeAccountSponsorship(opts?: RevokeAccountSponsorship
|
|
|
27
27
|
* ```ts
|
|
28
28
|
* const op = Operation.revokeTrustlineSponsorship({
|
|
29
29
|
* account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',
|
|
30
|
-
* asset: new
|
|
30
|
+
* asset: new DigitalWorldBase.LiquidityPoolId(
|
|
31
31
|
* 'USDUSD',
|
|
32
32
|
* 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7'
|
|
33
33
|
* )
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revoke_sponsorship.js","sources":["../../../../src/base/operations/revoke_sponsorship.ts"],"sourcesContent":["import xdr from \"../xdr.js\";\nimport { StrKey } from \"../strkey.js\";\nimport { Keypair } from \"../keypair.js\";\nimport { Asset } from \"../asset.js\";\nimport { LiquidityPoolId } from \"../liquidity_pool_id.js\";\nimport {\n RevokeAccountSponsorshipOpts,\n RevokeAccountSponsorshipResult,\n RevokeTrustlineSponsorshipOpts,\n RevokeTrustlineSponsorshipResult,\n RevokeOfferSponsorshipOpts,\n RevokeOfferSponsorshipResult,\n RevokeDataSponsorshipOpts,\n RevokeDataSponsorshipResult,\n RevokeClaimableBalanceSponsorshipOpts,\n RevokeClaimableBalanceSponsorshipResult,\n RevokeLiquidityPoolSponsorshipOpts,\n RevokeLiquidityPoolSponsorshipResult,\n RevokeSignerSponsorshipOpts,\n RevokeSignerSponsorshipResult,\n OperationAttributes,\n} from \"./types.js\";\nimport { setSourceAccount } from \"../util/operations.js\";\n\n/**\n * Create a \"revoke sponsorship\" operation for an account.\n *\n * @param opts - Options object\n * - `account`: The sponsored account ID.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeAccountSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7'\n * });\n * ```\n */\nexport function revokeAccountSponsorship(\n opts: RevokeAccountSponsorshipOpts = {} as RevokeAccountSponsorshipOpts,\n): xdr.Operation<RevokeAccountSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.account(\n new xdr.LedgerKeyAccount({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a trustline.\n *\n * @param opts - Options object\n * - `account`: The account ID which owns the trustline.\n * - `asset`: The trustline asset.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeTrustlineSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * asset: new StellarBase.LiquidityPoolId(\n * 'USDUSD',\n * 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7'\n * )\n * });\n * ```\n */\nexport function revokeTrustlineSponsorship(\n opts: RevokeTrustlineSponsorshipOpts = {} as RevokeTrustlineSponsorshipOpts,\n): xdr.Operation<RevokeTrustlineSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n let asset: xdr.TrustLineAsset;\n\n if (opts.asset instanceof Asset) {\n asset = opts.asset.toTrustLineXDRObject();\n } else if (opts.asset instanceof LiquidityPoolId) {\n asset = opts.asset.toXDRObject();\n } else {\n throw new TypeError(\"asset must be an Asset or LiquidityPoolId\");\n }\n\n const ledgerKey = xdr.LedgerKey.trustline(\n new xdr.LedgerKeyTrustLine({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n asset,\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for an offer.\n *\n * @param opts - Options object\n * - `seller`: The account ID which created the offer.\n * - `offerId`: The offer ID.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeOfferSponsorship({\n * seller: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * offerId: '1234'\n * });\n * ```\n */\nexport function revokeOfferSponsorship(\n opts: RevokeOfferSponsorshipOpts = {} as RevokeOfferSponsorshipOpts,\n): xdr.Operation<RevokeOfferSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.seller)) {\n throw new Error(\"seller is invalid\");\n }\n\n if (typeof opts.offerId !== \"string\") {\n throw new Error(\"offerId is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.offer(\n new xdr.LedgerKeyOffer({\n sellerId: Keypair.fromPublicKey(opts.seller).xdrAccountId(),\n offerId: xdr.Int64.fromString(opts.offerId),\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a data entry.\n *\n * @param opts - Options object\n * - `account`: The account ID which owns the data entry.\n * - `name`: The name of the data entry.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeDataSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * name: 'foo'\n * });\n * ```\n */\nexport function revokeDataSponsorship(\n opts: RevokeDataSponsorshipOpts = {} as RevokeDataSponsorshipOpts,\n): xdr.Operation<RevokeDataSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n if (typeof opts.name !== \"string\" || opts.name.length > 64) {\n throw new Error(\"name must be a string, up to 64 characters\");\n }\n\n const ledgerKey = xdr.LedgerKey.data(\n new xdr.LedgerKeyData({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n dataName: opts.name,\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a claimable balance.\n *\n * @param opts - Options object\n * - `balanceId`: The sponsored claimable balance ID.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeClaimableBalanceSponsorship({\n * balanceId: '00000000da0d57da7d4850e7fc10d2a9d0ebc731f7afb40574c03395b17d49149b91f5be',\n * });\n * ```\n */\nexport function revokeClaimableBalanceSponsorship(\n opts: RevokeClaimableBalanceSponsorshipOpts = {} as RevokeClaimableBalanceSponsorshipOpts,\n): xdr.Operation<RevokeClaimableBalanceSponsorshipResult> {\n if (typeof opts.balanceId !== \"string\") {\n throw new Error(\"balanceId is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.claimableBalance(\n new xdr.LedgerKeyClaimableBalance({\n balanceId: xdr.ClaimableBalanceId.fromXDR(opts.balanceId, \"hex\"),\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Creates a \"revoke sponsorship\" operation for a liquidity pool.\n *\n * @param opts - Options object.\n * - `liquidityPoolId`: The sponsored liquidity pool ID in 'hex' string.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeLiquidityPoolSponsorship({\n * liquidityPoolId: 'dd7b1ab831c273310ddbec6f97870aa83c2fbd78ce22aded37ecbf4f3380fac7',\n * });\n * ```\n */\nexport function revokeLiquidityPoolSponsorship(\n opts: RevokeLiquidityPoolSponsorshipOpts = {} as RevokeLiquidityPoolSponsorshipOpts,\n): xdr.Operation<RevokeLiquidityPoolSponsorshipResult> {\n if (typeof opts.liquidityPoolId !== \"string\") {\n throw new Error(\"liquidityPoolId is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.liquidityPool(\n new xdr.LedgerKeyLiquidityPool({\n liquidityPoolId: Buffer.from(\n opts.liquidityPoolId,\n \"hex\",\n ) as unknown as xdr.PoolId,\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a signer.\n *\n * @param opts - Options object\n * - `account`: The account ID where the signer sponsorship is being removed from.\n * - `signer`: The signer whose sponsorship is being removed. Exactly one of the following must be set:\n * - `signer.ed25519PublicKey`: (optional) The ed25519 public key of the signer.\n * - `signer.sha256Hash`: (optional) sha256 hash (Buffer or hex string).\n * - `signer.preAuthTx`: (optional) Hash (Buffer or hex string) of transaction.\n * - `signer.ed25519SignedPayload`: (optional) Signed payload signer (StrKey P... address).\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeSignerSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * signer: {\n * ed25519PublicKey: 'GCEZWKCA5VLDNRLN3RPRJMRZOX3Z6G5CHCGSNFHEYVXM3XOJMDS674JZ'\n * }\n * })\n * ```\n */\nexport function revokeSignerSponsorship(\n opts: RevokeSignerSponsorshipOpts = {} as RevokeSignerSponsorshipOpts,\n): xdr.Operation<RevokeSignerSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n let key: xdr.SignerKey;\n\n if (opts.signer.ed25519PublicKey) {\n if (!StrKey.isValidEd25519PublicKey(opts.signer.ed25519PublicKey)) {\n throw new Error(\"signer.ed25519PublicKey is invalid.\");\n }\n const rawKey = StrKey.decodeEd25519PublicKey(opts.signer.ed25519PublicKey);\n key = xdr.SignerKey.signerKeyTypeEd25519(rawKey);\n } else if (opts.signer.preAuthTx) {\n let buffer: Buffer;\n\n if (typeof opts.signer.preAuthTx === \"string\") {\n buffer = Buffer.from(opts.signer.preAuthTx, \"hex\");\n } else {\n buffer = opts.signer.preAuthTx;\n }\n\n if (!(Buffer.isBuffer(buffer) && buffer.length === 32)) {\n throw new Error(\"signer.preAuthTx must be 32 bytes Buffer.\");\n }\n\n key = xdr.SignerKey.signerKeyTypePreAuthTx(buffer);\n } else if (opts.signer.sha256Hash) {\n let buffer: Buffer;\n\n if (typeof opts.signer.sha256Hash === \"string\") {\n buffer = Buffer.from(opts.signer.sha256Hash, \"hex\");\n } else {\n buffer = opts.signer.sha256Hash;\n }\n\n if (!(Buffer.isBuffer(buffer) && buffer.length === 32)) {\n throw new Error(\"signer.sha256Hash must be 32 bytes Buffer.\");\n }\n\n key = xdr.SignerKey.signerKeyTypeHashX(buffer);\n } else if (opts.signer.ed25519SignedPayload) {\n if (!StrKey.isValidSignedPayload(opts.signer.ed25519SignedPayload)) {\n throw new Error(\"signer.ed25519SignedPayload is invalid.\");\n }\n\n const rawPayload = StrKey.decodeSignedPayload(\n opts.signer.ed25519SignedPayload,\n );\n\n const signedPayloadXdr =\n xdr.SignerKeyEd25519SignedPayload.fromXDR(rawPayload);\n\n key = xdr.SignerKey.signerKeyTypeEd25519SignedPayload(signedPayloadXdr);\n } else {\n throw new Error(\"signer is invalid\");\n }\n\n const signer = new xdr.RevokeSponsorshipOpSigner({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n signerKey: key,\n });\n\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipSigner(signer);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n"],"names":["xdr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"revoke_sponsorship.js","sources":["../../../../src/base/operations/revoke_sponsorship.ts"],"sourcesContent":["import xdr from \"../xdr.js\";\nimport { StrKey } from \"../strkey.js\";\nimport { Keypair } from \"../keypair.js\";\nimport { Asset } from \"../asset.js\";\nimport { LiquidityPoolId } from \"../liquidity_pool_id.js\";\nimport {\n RevokeAccountSponsorshipOpts,\n RevokeAccountSponsorshipResult,\n RevokeTrustlineSponsorshipOpts,\n RevokeTrustlineSponsorshipResult,\n RevokeOfferSponsorshipOpts,\n RevokeOfferSponsorshipResult,\n RevokeDataSponsorshipOpts,\n RevokeDataSponsorshipResult,\n RevokeClaimableBalanceSponsorshipOpts,\n RevokeClaimableBalanceSponsorshipResult,\n RevokeLiquidityPoolSponsorshipOpts,\n RevokeLiquidityPoolSponsorshipResult,\n RevokeSignerSponsorshipOpts,\n RevokeSignerSponsorshipResult,\n OperationAttributes,\n} from \"./types.js\";\nimport { setSourceAccount } from \"../util/operations.js\";\n\n/**\n * Create a \"revoke sponsorship\" operation for an account.\n *\n * @param opts - Options object\n * - `account`: The sponsored account ID.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeAccountSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7'\n * });\n * ```\n */\nexport function revokeAccountSponsorship(\n opts: RevokeAccountSponsorshipOpts = {} as RevokeAccountSponsorshipOpts,\n): xdr.Operation<RevokeAccountSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.account(\n new xdr.LedgerKeyAccount({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a trustline.\n *\n * @param opts - Options object\n * - `account`: The account ID which owns the trustline.\n * - `asset`: The trustline asset.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeTrustlineSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * asset: new DigitalWorldBase.LiquidityPoolId(\n * 'USDUSD',\n * 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7'\n * )\n * });\n * ```\n */\nexport function revokeTrustlineSponsorship(\n opts: RevokeTrustlineSponsorshipOpts = {} as RevokeTrustlineSponsorshipOpts,\n): xdr.Operation<RevokeTrustlineSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n let asset: xdr.TrustLineAsset;\n\n if (opts.asset instanceof Asset) {\n asset = opts.asset.toTrustLineXDRObject();\n } else if (opts.asset instanceof LiquidityPoolId) {\n asset = opts.asset.toXDRObject();\n } else {\n throw new TypeError(\"asset must be an Asset or LiquidityPoolId\");\n }\n\n const ledgerKey = xdr.LedgerKey.trustline(\n new xdr.LedgerKeyTrustLine({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n asset,\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for an offer.\n *\n * @param opts - Options object\n * - `seller`: The account ID which created the offer.\n * - `offerId`: The offer ID.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeOfferSponsorship({\n * seller: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * offerId: '1234'\n * });\n * ```\n */\nexport function revokeOfferSponsorship(\n opts: RevokeOfferSponsorshipOpts = {} as RevokeOfferSponsorshipOpts,\n): xdr.Operation<RevokeOfferSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.seller)) {\n throw new Error(\"seller is invalid\");\n }\n\n if (typeof opts.offerId !== \"string\") {\n throw new Error(\"offerId is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.offer(\n new xdr.LedgerKeyOffer({\n sellerId: Keypair.fromPublicKey(opts.seller).xdrAccountId(),\n offerId: xdr.Int64.fromString(opts.offerId),\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a data entry.\n *\n * @param opts - Options object\n * - `account`: The account ID which owns the data entry.\n * - `name`: The name of the data entry.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeDataSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * name: 'foo'\n * });\n * ```\n */\nexport function revokeDataSponsorship(\n opts: RevokeDataSponsorshipOpts = {} as RevokeDataSponsorshipOpts,\n): xdr.Operation<RevokeDataSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n if (typeof opts.name !== \"string\" || opts.name.length > 64) {\n throw new Error(\"name must be a string, up to 64 characters\");\n }\n\n const ledgerKey = xdr.LedgerKey.data(\n new xdr.LedgerKeyData({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n dataName: opts.name,\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a claimable balance.\n *\n * @param opts - Options object\n * - `balanceId`: The sponsored claimable balance ID.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeClaimableBalanceSponsorship({\n * balanceId: '00000000da0d57da7d4850e7fc10d2a9d0ebc731f7afb40574c03395b17d49149b91f5be',\n * });\n * ```\n */\nexport function revokeClaimableBalanceSponsorship(\n opts: RevokeClaimableBalanceSponsorshipOpts = {} as RevokeClaimableBalanceSponsorshipOpts,\n): xdr.Operation<RevokeClaimableBalanceSponsorshipResult> {\n if (typeof opts.balanceId !== \"string\") {\n throw new Error(\"balanceId is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.claimableBalance(\n new xdr.LedgerKeyClaimableBalance({\n balanceId: xdr.ClaimableBalanceId.fromXDR(opts.balanceId, \"hex\"),\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Creates a \"revoke sponsorship\" operation for a liquidity pool.\n *\n * @param opts - Options object.\n * - `liquidityPoolId`: The sponsored liquidity pool ID in 'hex' string.\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeLiquidityPoolSponsorship({\n * liquidityPoolId: 'dd7b1ab831c273310ddbec6f97870aa83c2fbd78ce22aded37ecbf4f3380fac7',\n * });\n * ```\n */\nexport function revokeLiquidityPoolSponsorship(\n opts: RevokeLiquidityPoolSponsorshipOpts = {} as RevokeLiquidityPoolSponsorshipOpts,\n): xdr.Operation<RevokeLiquidityPoolSponsorshipResult> {\n if (typeof opts.liquidityPoolId !== \"string\") {\n throw new Error(\"liquidityPoolId is invalid\");\n }\n\n const ledgerKey = xdr.LedgerKey.liquidityPool(\n new xdr.LedgerKeyLiquidityPool({\n liquidityPoolId: Buffer.from(\n opts.liquidityPoolId,\n \"hex\",\n ) as unknown as xdr.PoolId,\n }),\n );\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipLedgerEntry(ledgerKey);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n\n/**\n * Create a \"revoke sponsorship\" operation for a signer.\n *\n * @param opts - Options object\n * - `account`: The account ID where the signer sponsorship is being removed from.\n * - `signer`: The signer whose sponsorship is being removed. Exactly one of the following must be set:\n * - `signer.ed25519PublicKey`: (optional) The ed25519 public key of the signer.\n * - `signer.sha256Hash`: (optional) sha256 hash (Buffer or hex string).\n * - `signer.preAuthTx`: (optional) Hash (Buffer or hex string) of transaction.\n * - `signer.ed25519SignedPayload`: (optional) Signed payload signer (StrKey P... address).\n * - `source`: The source account for the operation. Defaults to the transaction's source account.\n *\n * @example\n * ```ts\n * const op = Operation.revokeSignerSponsorship({\n * account: 'GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7',\n * signer: {\n * ed25519PublicKey: 'GCEZWKCA5VLDNRLN3RPRJMRZOX3Z6G5CHCGSNFHEYVXM3XOJMDS674JZ'\n * }\n * })\n * ```\n */\nexport function revokeSignerSponsorship(\n opts: RevokeSignerSponsorshipOpts = {} as RevokeSignerSponsorshipOpts,\n): xdr.Operation<RevokeSignerSponsorshipResult> {\n if (!StrKey.isValidEd25519PublicKey(opts.account)) {\n throw new Error(\"account is invalid\");\n }\n\n let key: xdr.SignerKey;\n\n if (opts.signer.ed25519PublicKey) {\n if (!StrKey.isValidEd25519PublicKey(opts.signer.ed25519PublicKey)) {\n throw new Error(\"signer.ed25519PublicKey is invalid.\");\n }\n const rawKey = StrKey.decodeEd25519PublicKey(opts.signer.ed25519PublicKey);\n key = xdr.SignerKey.signerKeyTypeEd25519(rawKey);\n } else if (opts.signer.preAuthTx) {\n let buffer: Buffer;\n\n if (typeof opts.signer.preAuthTx === \"string\") {\n buffer = Buffer.from(opts.signer.preAuthTx, \"hex\");\n } else {\n buffer = opts.signer.preAuthTx;\n }\n\n if (!(Buffer.isBuffer(buffer) && buffer.length === 32)) {\n throw new Error(\"signer.preAuthTx must be 32 bytes Buffer.\");\n }\n\n key = xdr.SignerKey.signerKeyTypePreAuthTx(buffer);\n } else if (opts.signer.sha256Hash) {\n let buffer: Buffer;\n\n if (typeof opts.signer.sha256Hash === \"string\") {\n buffer = Buffer.from(opts.signer.sha256Hash, \"hex\");\n } else {\n buffer = opts.signer.sha256Hash;\n }\n\n if (!(Buffer.isBuffer(buffer) && buffer.length === 32)) {\n throw new Error(\"signer.sha256Hash must be 32 bytes Buffer.\");\n }\n\n key = xdr.SignerKey.signerKeyTypeHashX(buffer);\n } else if (opts.signer.ed25519SignedPayload) {\n if (!StrKey.isValidSignedPayload(opts.signer.ed25519SignedPayload)) {\n throw new Error(\"signer.ed25519SignedPayload is invalid.\");\n }\n\n const rawPayload = StrKey.decodeSignedPayload(\n opts.signer.ed25519SignedPayload,\n );\n\n const signedPayloadXdr =\n xdr.SignerKeyEd25519SignedPayload.fromXDR(rawPayload);\n\n key = xdr.SignerKey.signerKeyTypeEd25519SignedPayload(signedPayloadXdr);\n } else {\n throw new Error(\"signer is invalid\");\n }\n\n const signer = new xdr.RevokeSponsorshipOpSigner({\n accountId: Keypair.fromPublicKey(opts.account).xdrAccountId(),\n signerKey: key,\n });\n\n const op = xdr.RevokeSponsorshipOp.revokeSponsorshipSigner(signer);\n\n const opAttributes: OperationAttributes = {\n sourceAccount: null,\n body: xdr.OperationBody.revokeSponsorship(op),\n };\n setSourceAccount(opAttributes, opts);\n\n return new xdr.Operation(opAttributes);\n}\n"],"names":["xdr"],"mappings":";;;;;;;;AAsCO,SAAS,wBAAA,CACd,IAAA,GAAqC,EAAC,EACS;AAC/C,EAAA,IAAI,CAAC,MAAA,CAAO,uBAAA,CAAwB,IAAA,CAAK,OAAO,CAAA,EAAG;AACjD,IAAA,MAAM,IAAI,MAAM,oBAAoB,CAAA;AAAA,EACtC;AAEA,EAAA,MAAM,SAAA,GAAYA,MAAI,SAAA,CAAU,OAAA;AAAA,IAC9B,IAAIA,MAAI,gBAAA,CAAiB;AAAA,MACvB,WAAW,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,OAAO,EAAE,YAAA;AAAa,KAC7D;AAAA,GACH;AACA,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,4BAAA,CAA6B,SAAS,CAAA;AAEzE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;AAqBO,SAAS,0BAAA,CACd,IAAA,GAAuC,EAAC,EACS;AACjD,EAAA,IAAI,CAAC,MAAA,CAAO,uBAAA,CAAwB,IAAA,CAAK,OAAO,CAAA,EAAG;AACjD,IAAA,MAAM,IAAI,MAAM,oBAAoB,CAAA;AAAA,EACtC;AAEA,EAAA,IAAI,KAAA;AAEJ,EAAA,IAAI,IAAA,CAAK,iBAAiB,KAAA,EAAO;AAC/B,IAAA,KAAA,GAAQ,IAAA,CAAK,MAAM,oBAAA,EAAqB;AAAA,EAC1C,CAAA,MAAA,IAAW,IAAA,CAAK,KAAA,YAAiB,eAAA,EAAiB;AAChD,IAAA,KAAA,GAAQ,IAAA,CAAK,MAAM,WAAA,EAAY;AAAA,EACjC,CAAA,MAAO;AACL,IAAA,MAAM,IAAI,UAAU,2CAA2C,CAAA;AAAA,EACjE;AAEA,EAAA,MAAM,SAAA,GAAYA,MAAI,SAAA,CAAU,SAAA;AAAA,IAC9B,IAAIA,MAAI,kBAAA,CAAmB;AAAA,MACzB,WAAW,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,OAAO,EAAE,YAAA,EAAa;AAAA,MAC5D;AAAA,KACD;AAAA,GACH;AACA,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,4BAAA,CAA6B,SAAS,CAAA;AAEzE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;AAkBO,SAAS,sBAAA,CACd,IAAA,GAAmC,EAAC,EACS;AAC7C,EAAA,IAAI,CAAC,MAAA,CAAO,uBAAA,CAAwB,IAAA,CAAK,MAAM,CAAA,EAAG;AAChD,IAAA,MAAM,IAAI,MAAM,mBAAmB,CAAA;AAAA,EACrC;AAEA,EAAA,IAAI,OAAO,IAAA,CAAK,OAAA,KAAY,QAAA,EAAU;AACpC,IAAA,MAAM,IAAI,MAAM,oBAAoB,CAAA;AAAA,EACtC;AAEA,EAAA,MAAM,SAAA,GAAYA,MAAI,SAAA,CAAU,KAAA;AAAA,IAC9B,IAAIA,MAAI,cAAA,CAAe;AAAA,MACrB,UAAU,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,MAAM,EAAE,YAAA,EAAa;AAAA,MAC1D,OAAA,EAASA,KAAA,CAAI,KAAA,CAAM,UAAA,CAAW,KAAK,OAAO;AAAA,KAC3C;AAAA,GACH;AACA,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,4BAAA,CAA6B,SAAS,CAAA;AAEzE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;AAkBO,SAAS,qBAAA,CACd,IAAA,GAAkC,EAAC,EACS;AAC5C,EAAA,IAAI,CAAC,MAAA,CAAO,uBAAA,CAAwB,IAAA,CAAK,OAAO,CAAA,EAAG;AACjD,IAAA,MAAM,IAAI,MAAM,oBAAoB,CAAA;AAAA,EACtC;AAEA,EAAA,IAAI,OAAO,IAAA,CAAK,IAAA,KAAS,YAAY,IAAA,CAAK,IAAA,CAAK,SAAS,EAAA,EAAI;AAC1D,IAAA,MAAM,IAAI,MAAM,4CAA4C,CAAA;AAAA,EAC9D;AAEA,EAAA,MAAM,SAAA,GAAYA,MAAI,SAAA,CAAU,IAAA;AAAA,IAC9B,IAAIA,MAAI,aAAA,CAAc;AAAA,MACpB,WAAW,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,OAAO,EAAE,YAAA,EAAa;AAAA,MAC5D,UAAU,IAAA,CAAK;AAAA,KAChB;AAAA,GACH;AACA,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,4BAAA,CAA6B,SAAS,CAAA;AAEzE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;AAgBO,SAAS,iCAAA,CACd,IAAA,GAA8C,EAAC,EACS;AACxD,EAAA,IAAI,OAAO,IAAA,CAAK,SAAA,KAAc,QAAA,EAAU;AACtC,IAAA,MAAM,IAAI,MAAM,sBAAsB,CAAA;AAAA,EACxC;AAEA,EAAA,MAAM,SAAA,GAAYA,MAAI,SAAA,CAAU,gBAAA;AAAA,IAC9B,IAAIA,MAAI,yBAAA,CAA0B;AAAA,MAChC,WAAWA,KAAA,CAAI,kBAAA,CAAmB,OAAA,CAAQ,IAAA,CAAK,WAAW,KAAK;AAAA,KAChE;AAAA,GACH;AACA,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,4BAAA,CAA6B,SAAS,CAAA;AAEzE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;AAgBO,SAAS,8BAAA,CACd,IAAA,GAA2C,EAAC,EACS;AACrD,EAAA,IAAI,OAAO,IAAA,CAAK,eAAA,KAAoB,QAAA,EAAU;AAC5C,IAAA,MAAM,IAAI,MAAM,4BAA4B,CAAA;AAAA,EAC9C;AAEA,EAAA,MAAM,SAAA,GAAYA,MAAI,SAAA,CAAU,aAAA;AAAA,IAC9B,IAAIA,MAAI,sBAAA,CAAuB;AAAA,MAC7B,iBAAiB,MAAA,CAAO,IAAA;AAAA,QACtB,IAAA,CAAK,eAAA;AAAA,QACL;AAAA;AACF,KACD;AAAA,GACH;AACA,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,4BAAA,CAA6B,SAAS,CAAA;AAEzE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;AAwBO,SAAS,uBAAA,CACd,IAAA,GAAoC,EAAC,EACS;AAC9C,EAAA,IAAI,CAAC,MAAA,CAAO,uBAAA,CAAwB,IAAA,CAAK,OAAO,CAAA,EAAG;AACjD,IAAA,MAAM,IAAI,MAAM,oBAAoB,CAAA;AAAA,EACtC;AAEA,EAAA,IAAI,GAAA;AAEJ,EAAA,IAAI,IAAA,CAAK,OAAO,gBAAA,EAAkB;AAChC,IAAA,IAAI,CAAC,MAAA,CAAO,uBAAA,CAAwB,IAAA,CAAK,MAAA,CAAO,gBAAgB,CAAA,EAAG;AACjE,MAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AAAA,IACvD;AACA,IAAA,MAAM,MAAA,GAAS,MAAA,CAAO,sBAAA,CAAuB,IAAA,CAAK,OAAO,gBAAgB,CAAA;AACzE,IAAA,GAAA,GAAMA,KAAA,CAAI,SAAA,CAAU,oBAAA,CAAqB,MAAM,CAAA;AAAA,EACjD,CAAA,MAAA,IAAW,IAAA,CAAK,MAAA,CAAO,SAAA,EAAW;AAChC,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAI,OAAO,IAAA,CAAK,MAAA,CAAO,SAAA,KAAc,QAAA,EAAU;AAC7C,MAAA,MAAA,GAAS,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,WAAW,KAAK,CAAA;AAAA,IACnD,CAAA,MAAO;AACL,MAAA,MAAA,GAAS,KAAK,MAAA,CAAO,SAAA;AAAA,IACvB;AAEA,IAAA,IAAI,EAAE,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA,IAAK,MAAA,CAAO,WAAW,EAAA,CAAA,EAAK;AACtD,MAAA,MAAM,IAAI,MAAM,2CAA2C,CAAA;AAAA,IAC7D;AAEA,IAAA,GAAA,GAAMA,KAAA,CAAI,SAAA,CAAU,sBAAA,CAAuB,MAAM,CAAA;AAAA,EACnD,CAAA,MAAA,IAAW,IAAA,CAAK,MAAA,CAAO,UAAA,EAAY;AACjC,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAI,OAAO,IAAA,CAAK,MAAA,CAAO,UAAA,KAAe,QAAA,EAAU;AAC9C,MAAA,MAAA,GAAS,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,YAAY,KAAK,CAAA;AAAA,IACpD,CAAA,MAAO;AACL,MAAA,MAAA,GAAS,KAAK,MAAA,CAAO,UAAA;AAAA,IACvB;AAEA,IAAA,IAAI,EAAE,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA,IAAK,MAAA,CAAO,WAAW,EAAA,CAAA,EAAK;AACtD,MAAA,MAAM,IAAI,MAAM,4CAA4C,CAAA;AAAA,IAC9D;AAEA,IAAA,GAAA,GAAMA,KAAA,CAAI,SAAA,CAAU,kBAAA,CAAmB,MAAM,CAAA;AAAA,EAC/C,CAAA,MAAA,IAAW,IAAA,CAAK,MAAA,CAAO,oBAAA,EAAsB;AAC3C,IAAA,IAAI,CAAC,MAAA,CAAO,oBAAA,CAAqB,IAAA,CAAK,MAAA,CAAO,oBAAoB,CAAA,EAAG;AAClE,MAAA,MAAM,IAAI,MAAM,yCAAyC,CAAA;AAAA,IAC3D;AAEA,IAAA,MAAM,aAAa,MAAA,CAAO,mBAAA;AAAA,MACxB,KAAK,MAAA,CAAO;AAAA,KACd;AAEA,IAAA,MAAM,gBAAA,GACJA,KAAA,CAAI,6BAAA,CAA8B,OAAA,CAAQ,UAAU,CAAA;AAEtD,IAAA,GAAA,GAAMA,KAAA,CAAI,SAAA,CAAU,iCAAA,CAAkC,gBAAgB,CAAA;AAAA,EACxE,CAAA,MAAO;AACL,IAAA,MAAM,IAAI,MAAM,mBAAmB,CAAA;AAAA,EACrC;AAEA,EAAA,MAAM,MAAA,GAAS,IAAIA,KAAA,CAAI,yBAAA,CAA0B;AAAA,IAC/C,WAAW,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,OAAO,EAAE,YAAA,EAAa;AAAA,IAC5D,SAAA,EAAW;AAAA,GACZ,CAAA;AAED,EAAA,MAAM,EAAA,GAAKA,KAAA,CAAI,mBAAA,CAAoB,uBAAA,CAAwB,MAAM,CAAA;AAEjE,EAAA,MAAM,YAAA,GAAoC;AAAA,IACxC,aAAA,EAAe,IAAA;AAAA,IACf,IAAA,EAAMA,KAAA,CAAI,aAAA,CAAc,iBAAA,CAAkB,EAAE;AAAA,GAC9C;AACA,EAAA,gBAAA,CAAiB,cAAc,IAAI,CAAA;AAEnC,EAAA,OAAO,IAAIA,KAAA,CAAI,SAAA,CAAU,YAAY,CAAA;AACvC;;;;"}
|
|
@@ -226,7 +226,7 @@ export interface CreateCustomContractOpts {
|
|
|
226
226
|
auth?: xdr.SorobanAuthorizationEntry[];
|
|
227
227
|
source?: string;
|
|
228
228
|
}
|
|
229
|
-
export interface
|
|
229
|
+
export interface CreateDigitalWorldAssetContractOpts {
|
|
230
230
|
asset: Asset | string;
|
|
231
231
|
auth?: xdr.SorobanAuthorizationEntry[];
|
|
232
232
|
source?: string;
|
|
@@ -266,7 +266,7 @@ export interface PathPaymentStrictReceiveOpts {
|
|
|
266
266
|
path?: Asset[];
|
|
267
267
|
source?: string;
|
|
268
268
|
}
|
|
269
|
-
export type OperationOptions = AccountMergeOpts | AllowTrustOpts | BeginSponsoringFutureReservesOpts | BumpSequenceOpts | ChangeTrustOpts | ClaimClaimableBalanceOpts | ClawbackClaimableBalanceOpts | ClawbackOpts | CreateAccountOpts | CreateClaimableBalanceOpts | CreateCustomContractOpts | CreatePassiveSellOfferOpts |
|
|
269
|
+
export type OperationOptions = AccountMergeOpts | AllowTrustOpts | BeginSponsoringFutureReservesOpts | BumpSequenceOpts | ChangeTrustOpts | ClaimClaimableBalanceOpts | ClawbackClaimableBalanceOpts | ClawbackOpts | CreateAccountOpts | CreateClaimableBalanceOpts | CreateCustomContractOpts | CreatePassiveSellOfferOpts | CreateDigitalWorldAssetContractOpts | EndSponsoringFutureReservesOpts | ExtendFootprintTtlOpts | InflationOpts | InvokeContractFunctionOpts | InvokeHostFunctionOpts | LiquidityPoolDepositOpts | LiquidityPoolWithdrawOpts | ManageBuyOfferOpts | ManageDataOpts | ManageSellOfferOpts | PathPaymentStrictReceiveOpts | PathPaymentStrictSendOpts | PaymentOpts | RestoreFootprintOpts | RevokeAccountSponsorshipOpts | RevokeClaimableBalanceSponsorshipOpts | RevokeDataSponsorshipOpts | RevokeLiquidityPoolSponsorshipOpts | RevokeOfferSponsorshipOpts | RevokeSignerSponsorshipOpts | RevokeTrustlineSponsorshipOpts | SetOptionsOpts | SetTrustLineFlagsOpts | UploadContractWasmOpts;
|
|
270
270
|
export declare namespace OperationType {
|
|
271
271
|
type CreateAccount = "createAccount";
|
|
272
272
|
type Payment = "payment";
|
|
@@ -18,7 +18,7 @@ class ConfigGenerator {
|
|
|
18
18
|
const generatedPackageJson = {
|
|
19
19
|
name: contractName.toLowerCase().replace(/[^a-z0-9-]/g, "-"),
|
|
20
20
|
version: "0.0.1",
|
|
21
|
-
description: `Generated TypeScript bindings for ${contractName}
|
|
21
|
+
description: `Generated TypeScript bindings for ${contractName} Digital World contract`,
|
|
22
22
|
type: "module",
|
|
23
23
|
main: "dist/index.js",
|
|
24
24
|
types: "dist/index.d.ts",
|
|
@@ -26,7 +26,7 @@ class ConfigGenerator {
|
|
|
26
26
|
build: "tsc"
|
|
27
27
|
},
|
|
28
28
|
dependencies: {
|
|
29
|
-
"@stellar/stellar-sdk": `^${"16.0.
|
|
29
|
+
"@stellar/stellar-sdk": `^${"16.0.1"}`,
|
|
30
30
|
buffer: "6.0.3"
|
|
31
31
|
},
|
|
32
32
|
devDependencies: {
|
|
@@ -90,7 +90,7 @@ class ConfigGenerator {
|
|
|
90
90
|
const readme = [
|
|
91
91
|
`# ${contractName} Contract Bindings`,
|
|
92
92
|
"",
|
|
93
|
-
`TypeScript bindings for the ${contractName}
|
|
93
|
+
`TypeScript bindings for the ${contractName} Digital World smart contract.`,
|
|
94
94
|
"",
|
|
95
95
|
"## Installation",
|
|
96
96
|
"",
|
|
@@ -127,7 +127,7 @@ class ConfigGenerator {
|
|
|
127
127
|
"- `tsconfig.json` - TypeScript configuration",
|
|
128
128
|
"- `package.json` - NPM package configuration",
|
|
129
129
|
"",
|
|
130
|
-
"This package was generated using the
|
|
130
|
+
"This package was generated using the Digital World JS SDK contract binding generator."
|
|
131
131
|
].join("\n");
|
|
132
132
|
return readme;
|
|
133
133
|
}
|