@galaxy-kj/core-stellar-sdk 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +576 -0
- package/dist/claimable-balances/claimable-balance-manager.d.ts +99 -0
- package/dist/claimable-balances/claimable-balance-manager.d.ts.map +1 -0
- package/dist/claimable-balances/claimable-balance-manager.js +352 -0
- package/dist/claimable-balances/claimable-balance-manager.js.map +1 -0
- package/dist/claimable-balances/helpers.d.ts +66 -0
- package/dist/claimable-balances/helpers.d.ts.map +1 -0
- package/dist/claimable-balances/helpers.js +179 -0
- package/dist/claimable-balances/helpers.js.map +1 -0
- package/dist/claimable-balances/index.d.ts +12 -0
- package/dist/claimable-balances/index.d.ts.map +1 -0
- package/dist/claimable-balances/index.js +14 -0
- package/dist/claimable-balances/index.js.map +1 -0
- package/dist/claimable-balances/predicate-builder.d.ts +66 -0
- package/dist/claimable-balances/predicate-builder.d.ts.map +1 -0
- package/dist/claimable-balances/predicate-builder.js +169 -0
- package/dist/claimable-balances/predicate-builder.js.map +1 -0
- package/dist/claimable-balances/types.d.ts +123 -0
- package/dist/claimable-balances/types.d.ts.map +1 -0
- package/dist/claimable-balances/types.js +9 -0
- package/dist/claimable-balances/types.js.map +1 -0
- package/dist/hooks/use-stellar.d.ts +48 -0
- package/dist/hooks/use-stellar.d.ts.map +1 -0
- package/dist/hooks/use-stellar.js +510 -0
- package/dist/hooks/use-stellar.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/liquidity-pools/calculations.d.ts +113 -0
- package/dist/liquidity-pools/calculations.d.ts.map +1 -0
- package/dist/liquidity-pools/calculations.js +291 -0
- package/dist/liquidity-pools/calculations.js.map +1 -0
- package/dist/liquidity-pools/helpers.d.ts +102 -0
- package/dist/liquidity-pools/helpers.d.ts.map +1 -0
- package/dist/liquidity-pools/helpers.js +219 -0
- package/dist/liquidity-pools/helpers.js.map +1 -0
- package/dist/liquidity-pools/index.d.ts +13 -0
- package/dist/liquidity-pools/index.d.ts.map +1 -0
- package/dist/liquidity-pools/index.js +18 -0
- package/dist/liquidity-pools/index.js.map +1 -0
- package/dist/liquidity-pools/liquidity-pool-manager.d.ts +106 -0
- package/dist/liquidity-pools/liquidity-pool-manager.d.ts.map +1 -0
- package/dist/liquidity-pools/liquidity-pool-manager.js +387 -0
- package/dist/liquidity-pools/liquidity-pool-manager.js.map +1 -0
- package/dist/liquidity-pools/types.d.ts +135 -0
- package/dist/liquidity-pools/types.d.ts.map +1 -0
- package/dist/liquidity-pools/types.js +6 -0
- package/dist/liquidity-pools/types.js.map +1 -0
- package/dist/liquidity-pools/validation.d.ts +75 -0
- package/dist/liquidity-pools/validation.d.ts.map +1 -0
- package/dist/liquidity-pools/validation.js +218 -0
- package/dist/liquidity-pools/validation.js.map +1 -0
- package/dist/services/stellar-service.d.ts +231 -0
- package/dist/services/stellar-service.d.ts.map +1 -0
- package/dist/services/stellar-service.js +674 -0
- package/dist/services/stellar-service.js.map +1 -0
- package/dist/soroban/helpers/contract-factory.d.ts +45 -0
- package/dist/soroban/helpers/contract-factory.d.ts.map +1 -0
- package/dist/soroban/helpers/contract-factory.js +84 -0
- package/dist/soroban/helpers/contract-factory.js.map +1 -0
- package/dist/soroban/helpers/token-contract-wrapper.d.ts +104 -0
- package/dist/soroban/helpers/token-contract-wrapper.d.ts.map +1 -0
- package/dist/soroban/helpers/token-contract-wrapper.js +286 -0
- package/dist/soroban/helpers/token-contract-wrapper.js.map +1 -0
- package/dist/soroban/index.d.ts +19 -0
- package/dist/soroban/index.d.ts.map +1 -0
- package/dist/soroban/index.js +19 -0
- package/dist/soroban/index.js.map +1 -0
- package/dist/soroban/soroban-contract-manager.d.ts +71 -0
- package/dist/soroban/soroban-contract-manager.d.ts.map +1 -0
- package/dist/soroban/soroban-contract-manager.js +376 -0
- package/dist/soroban/soroban-contract-manager.js.map +1 -0
- package/dist/soroban/types/contract-types.d.ts +156 -0
- package/dist/soroban/types/contract-types.d.ts.map +1 -0
- package/dist/soroban/types/contract-types.js +3 -0
- package/dist/soroban/types/contract-types.js.map +1 -0
- package/dist/soroban/utils/abi-parser.d.ts +90 -0
- package/dist/soroban/utils/abi-parser.d.ts.map +1 -0
- package/dist/soroban/utils/abi-parser.js +308 -0
- package/dist/soroban/utils/abi-parser.js.map +1 -0
- package/dist/soroban/utils/error-parser.d.ts +70 -0
- package/dist/soroban/utils/error-parser.d.ts.map +1 -0
- package/dist/soroban/utils/error-parser.js +302 -0
- package/dist/soroban/utils/error-parser.js.map +1 -0
- package/dist/soroban/utils/event-decoder.d.ts +91 -0
- package/dist/soroban/utils/event-decoder.d.ts.map +1 -0
- package/dist/soroban/utils/event-decoder.js +307 -0
- package/dist/soroban/utils/event-decoder.js.map +1 -0
- package/dist/soroban/utils/event-monitor.d.ts +93 -0
- package/dist/soroban/utils/event-monitor.d.ts.map +1 -0
- package/dist/soroban/utils/event-monitor.js +282 -0
- package/dist/soroban/utils/event-monitor.js.map +1 -0
- package/dist/soroban/utils/function-signature-builder.d.ts +98 -0
- package/dist/soroban/utils/function-signature-builder.d.ts.map +1 -0
- package/dist/soroban/utils/function-signature-builder.js +272 -0
- package/dist/soroban/utils/function-signature-builder.js.map +1 -0
- package/dist/soroban/utils/scval-converter.d.ts +48 -0
- package/dist/soroban/utils/scval-converter.d.ts.map +1 -0
- package/dist/soroban/utils/scval-converter.js +320 -0
- package/dist/soroban/utils/scval-converter.js.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-account-builder.d.ts +58 -0
- package/dist/sponsored-reserves/builders/sponsored-account-builder.d.ts.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-account-builder.js +159 -0
- package/dist/sponsored-reserves/builders/sponsored-account-builder.js.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.d.ts +104 -0
- package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.d.ts.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.js +258 -0
- package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.js.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.d.ts +96 -0
- package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.d.ts.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.js +320 -0
- package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.js.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-signer-builder.d.ts +100 -0
- package/dist/sponsored-reserves/builders/sponsored-signer-builder.d.ts.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-signer-builder.js +271 -0
- package/dist/sponsored-reserves/builders/sponsored-signer-builder.js.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-trustline-builder.d.ts +87 -0
- package/dist/sponsored-reserves/builders/sponsored-trustline-builder.d.ts.map +1 -0
- package/dist/sponsored-reserves/builders/sponsored-trustline-builder.js +281 -0
- package/dist/sponsored-reserves/builders/sponsored-trustline-builder.js.map +1 -0
- package/dist/sponsored-reserves/index.d.ts +20 -0
- package/dist/sponsored-reserves/index.d.ts.map +1 -0
- package/dist/sponsored-reserves/index.js +24 -0
- package/dist/sponsored-reserves/index.js.map +1 -0
- package/dist/sponsored-reserves/services/sponsored-reserves-manager.d.ts +144 -0
- package/dist/sponsored-reserves/services/sponsored-reserves-manager.d.ts.map +1 -0
- package/dist/sponsored-reserves/services/sponsored-reserves-manager.js +536 -0
- package/dist/sponsored-reserves/services/sponsored-reserves-manager.js.map +1 -0
- package/dist/sponsored-reserves/templates/claimable-balance-template.d.ts +96 -0
- package/dist/sponsored-reserves/templates/claimable-balance-template.d.ts.map +1 -0
- package/dist/sponsored-reserves/templates/claimable-balance-template.js +306 -0
- package/dist/sponsored-reserves/templates/claimable-balance-template.js.map +1 -0
- package/dist/sponsored-reserves/templates/multi-operation-template.d.ts +99 -0
- package/dist/sponsored-reserves/templates/multi-operation-template.d.ts.map +1 -0
- package/dist/sponsored-reserves/templates/multi-operation-template.js +313 -0
- package/dist/sponsored-reserves/templates/multi-operation-template.js.map +1 -0
- package/dist/sponsored-reserves/templates/user-onboarding-template.d.ts +79 -0
- package/dist/sponsored-reserves/templates/user-onboarding-template.d.ts.map +1 -0
- package/dist/sponsored-reserves/templates/user-onboarding-template.js +262 -0
- package/dist/sponsored-reserves/templates/user-onboarding-template.js.map +1 -0
- package/dist/sponsored-reserves/types/sponsored-reserves-types.d.ts +364 -0
- package/dist/sponsored-reserves/types/sponsored-reserves-types.d.ts.map +1 -0
- package/dist/sponsored-reserves/types/sponsored-reserves-types.js +9 -0
- package/dist/sponsored-reserves/types/sponsored-reserves-types.js.map +1 -0
- package/dist/sponsored-reserves/utils/cost-calculator.d.ts +98 -0
- package/dist/sponsored-reserves/utils/cost-calculator.d.ts.map +1 -0
- package/dist/sponsored-reserves/utils/cost-calculator.js +238 -0
- package/dist/sponsored-reserves/utils/cost-calculator.js.map +1 -0
- package/dist/sponsored-reserves/utils/sponsorship-validation.d.ts +112 -0
- package/dist/sponsored-reserves/utils/sponsorship-validation.d.ts.map +1 -0
- package/dist/sponsored-reserves/utils/sponsorship-validation.js +394 -0
- package/dist/sponsored-reserves/utils/sponsorship-validation.js.map +1 -0
- package/dist/types/stellar-sdk-compat.d.ts +25 -0
- package/dist/types/stellar-sdk-compat.d.ts.map +1 -0
- package/dist/types/stellar-sdk-compat.js +44 -0
- package/dist/types/stellar-sdk-compat.js.map +1 -0
- package/dist/types/stellar-types.d.ts +160 -0
- package/dist/types/stellar-types.d.ts.map +1 -0
- package/dist/types/stellar-types.js +9 -0
- package/dist/types/stellar-types.js.map +1 -0
- package/dist/utils/encryption.utils.d.ts +9 -0
- package/dist/utils/encryption.utils.d.ts.map +1 -0
- package/dist/utils/encryption.utils.js +44 -0
- package/dist/utils/encryption.utils.js.map +1 -0
- package/dist/utils/network-utils.d.ts +138 -0
- package/dist/utils/network-utils.d.ts.map +1 -0
- package/dist/utils/network-utils.js +240 -0
- package/dist/utils/network-utils.js.map +1 -0
- package/dist/utils/stellar-utils.d.ts +114 -0
- package/dist/utils/stellar-utils.d.ts.map +1 -0
- package/dist/utils/stellar-utils.js +186 -0
- package/dist/utils/stellar-utils.js.map +1 -0
- package/dist/utils/supabase-client.d.ts +2 -0
- package/dist/utils/supabase-client.d.ts.map +1 -0
- package/dist/utils/supabase-client.js +9 -0
- package/dist/utils/supabase-client.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-signature-builder.js","sourceRoot":"","sources":["../../../src/soroban/utils/function-signature-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Soroban type conversion utilities
|
|
3
|
+
* @description Convert between JavaScript types and Soroban ScVal
|
|
4
|
+
* @author Galaxy DevKit Team
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
* @since 2024-12-01
|
|
7
|
+
*/
|
|
8
|
+
import { xdr } from '@stellar/stellar-sdk';
|
|
9
|
+
import { ScType } from '../types/contract-types';
|
|
10
|
+
export declare class ScValConverter {
|
|
11
|
+
/**
|
|
12
|
+
* Convert JavaScript value to ScVal
|
|
13
|
+
*/
|
|
14
|
+
static toScVal(value: any, type?: ScType): xdr.ScVal;
|
|
15
|
+
/**
|
|
16
|
+
* Convert JavaScript value to typed ScVal
|
|
17
|
+
*/
|
|
18
|
+
static toTypedScVal(value: any, type: ScType): xdr.ScVal;
|
|
19
|
+
/**
|
|
20
|
+
* Convert ScVal to JavaScript value
|
|
21
|
+
*/
|
|
22
|
+
static fromScVal(scVal: xdr.ScVal): any;
|
|
23
|
+
/**
|
|
24
|
+
* Encode function arguments
|
|
25
|
+
*/
|
|
26
|
+
static encodeArgs(args: any[], types?: ScType[]): xdr.ScVal[];
|
|
27
|
+
/**
|
|
28
|
+
* Decode function result
|
|
29
|
+
*/
|
|
30
|
+
static decodeResult(result: xdr.ScVal, type?: ScType): any;
|
|
31
|
+
/**
|
|
32
|
+
* Convert ScVal to typed JavaScript value
|
|
33
|
+
*/
|
|
34
|
+
static fromTypedScVal(scVal: xdr.ScVal, type: ScType): any;
|
|
35
|
+
/**
|
|
36
|
+
* Convert JavaScript symbol to ScVal symbol
|
|
37
|
+
*/
|
|
38
|
+
static toSymbol(value: string): xdr.ScVal;
|
|
39
|
+
/**
|
|
40
|
+
* Convert JavaScript address to ScVal address
|
|
41
|
+
*/
|
|
42
|
+
static toAddress(address: string): xdr.ScVal;
|
|
43
|
+
/**
|
|
44
|
+
* Convert JavaScript bytes to ScVal bytes
|
|
45
|
+
*/
|
|
46
|
+
static toBytes(data: string | Buffer): xdr.ScVal;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=scval-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scval-converter.d.ts","sourceRoot":"","sources":["../../../src/soroban/utils/scval-converter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IA6EpD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IAwGxD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG;IAgFvC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE;IAW7D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG;IAO1D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAkF1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IAIzC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IAI5C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK;CAIjD"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Soroban type conversion utilities
|
|
4
|
+
* @description Convert between JavaScript types and Soroban ScVal
|
|
5
|
+
* @author Galaxy DevKit Team
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
* @since 2024-12-01
|
|
8
|
+
*/
|
|
9
|
+
import { xdr, ScInt, Address } from '@stellar/stellar-sdk';
|
|
10
|
+
export class ScValConverter {
|
|
11
|
+
/**
|
|
12
|
+
* Convert JavaScript value to ScVal
|
|
13
|
+
*/
|
|
14
|
+
static toScVal(value, type) {
|
|
15
|
+
if (value === null || value === undefined) {
|
|
16
|
+
return xdr.ScVal.scvVoid();
|
|
17
|
+
}
|
|
18
|
+
if (type) {
|
|
19
|
+
return this.toTypedScVal(value, type);
|
|
20
|
+
}
|
|
21
|
+
// Auto-detect type
|
|
22
|
+
if (typeof value === 'boolean') {
|
|
23
|
+
return xdr.ScVal.scvBool(value);
|
|
24
|
+
}
|
|
25
|
+
if (typeof value === 'number') {
|
|
26
|
+
if (Number.isInteger(value)) {
|
|
27
|
+
return xdr.ScVal.scvI32(value);
|
|
28
|
+
}
|
|
29
|
+
return xdr.ScVal.scvI64(new ScInt(value).toI64());
|
|
30
|
+
}
|
|
31
|
+
if (typeof value === 'bigint') {
|
|
32
|
+
if (value >= 0) {
|
|
33
|
+
return xdr.ScVal.scvU64(new ScInt(value).toU64());
|
|
34
|
+
}
|
|
35
|
+
return xdr.ScVal.scvI64(new ScInt(value).toI64());
|
|
36
|
+
}
|
|
37
|
+
if (typeof value === 'string') {
|
|
38
|
+
// Check if it's an address
|
|
39
|
+
if (value.startsWith('G') && value.length === 56) {
|
|
40
|
+
try {
|
|
41
|
+
const address = new Address(value);
|
|
42
|
+
return address.toScVal();
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Not a valid address, treat as string
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return xdr.ScVal.scvString(value);
|
|
49
|
+
}
|
|
50
|
+
if (Buffer.isBuffer(value)) {
|
|
51
|
+
return xdr.ScVal.scvBytes(value);
|
|
52
|
+
}
|
|
53
|
+
if (Array.isArray(value)) {
|
|
54
|
+
const scVals = value.map(item => this.toScVal(item));
|
|
55
|
+
return xdr.ScVal.scvVec(scVals);
|
|
56
|
+
}
|
|
57
|
+
if (typeof value === 'object') {
|
|
58
|
+
// Handle Map
|
|
59
|
+
if (value instanceof Map) {
|
|
60
|
+
const entries = Array.from(value.entries()).map(([k, v]) => new xdr.ScMapEntry({
|
|
61
|
+
key: this.toScVal(k),
|
|
62
|
+
val: this.toScVal(v),
|
|
63
|
+
}));
|
|
64
|
+
return xdr.ScVal.scvMap(entries);
|
|
65
|
+
}
|
|
66
|
+
// Handle object as Map
|
|
67
|
+
const entries = Object.entries(value).map(([k, v]) => new xdr.ScMapEntry({
|
|
68
|
+
key: this.toScVal(k),
|
|
69
|
+
val: this.toScVal(v),
|
|
70
|
+
}));
|
|
71
|
+
return xdr.ScVal.scvMap(entries);
|
|
72
|
+
}
|
|
73
|
+
throw new Error(`Unsupported type for ScVal conversion: ${typeof value}`);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Convert JavaScript value to typed ScVal
|
|
77
|
+
*/
|
|
78
|
+
static toTypedScVal(value, type) {
|
|
79
|
+
switch (type) {
|
|
80
|
+
case 'void':
|
|
81
|
+
return xdr.ScVal.scvVoid();
|
|
82
|
+
case 'bool':
|
|
83
|
+
return xdr.ScVal.scvBool(Boolean(value));
|
|
84
|
+
case 'u32':
|
|
85
|
+
return xdr.ScVal.scvU32(Number(value));
|
|
86
|
+
case 'i32':
|
|
87
|
+
return xdr.ScVal.scvI32(Number(value));
|
|
88
|
+
case 'u64':
|
|
89
|
+
return xdr.ScVal.scvU64(new ScInt(value).toU64());
|
|
90
|
+
case 'i64':
|
|
91
|
+
return xdr.ScVal.scvI64(new ScInt(value).toI64());
|
|
92
|
+
case 'u128':
|
|
93
|
+
return xdr.ScVal.scvU128(new ScInt(value).toU128());
|
|
94
|
+
case 'i128':
|
|
95
|
+
return xdr.ScVal.scvI128(new ScInt(value).toI128());
|
|
96
|
+
case 'u256':
|
|
97
|
+
return xdr.ScVal.scvU256(new ScInt(value).toU256());
|
|
98
|
+
case 'i256':
|
|
99
|
+
return xdr.ScVal.scvI256(new ScInt(value).toI256());
|
|
100
|
+
case 'f32':
|
|
101
|
+
return xdr.ScVal.scvF32(new xdr.Float(Number(value)));
|
|
102
|
+
case 'f64':
|
|
103
|
+
return xdr.ScVal.scvF64(new xdr.Double(Number(value)));
|
|
104
|
+
case 'bytes':
|
|
105
|
+
return xdr.ScVal.scvBytes(Buffer.isBuffer(value) ? value : Buffer.from(value));
|
|
106
|
+
case 'string':
|
|
107
|
+
return xdr.ScVal.scvString(String(value));
|
|
108
|
+
case 'symbol':
|
|
109
|
+
return xdr.ScVal.scvSymbol(value);
|
|
110
|
+
case 'address':
|
|
111
|
+
if (typeof value === 'string') {
|
|
112
|
+
return new Address(value).toScVal();
|
|
113
|
+
}
|
|
114
|
+
return value.toScVal();
|
|
115
|
+
case 'option':
|
|
116
|
+
if (value === null || value === undefined) {
|
|
117
|
+
return xdr.ScVal.scvVoid();
|
|
118
|
+
}
|
|
119
|
+
return this.toScVal(value);
|
|
120
|
+
case 'vec':
|
|
121
|
+
if (!Array.isArray(value)) {
|
|
122
|
+
throw new Error('Expected array for vec type');
|
|
123
|
+
}
|
|
124
|
+
return xdr.ScVal.scvVec(value.map(item => this.toScVal(item)));
|
|
125
|
+
case 'map':
|
|
126
|
+
if (!(value instanceof Map) && typeof value !== 'object') {
|
|
127
|
+
throw new Error('Expected object or Map for map type');
|
|
128
|
+
}
|
|
129
|
+
const entries = value instanceof Map
|
|
130
|
+
? Array.from(value.entries())
|
|
131
|
+
: Object.entries(value);
|
|
132
|
+
return xdr.ScVal.scvMap(entries.map(([k, v]) => new xdr.ScMapEntry({
|
|
133
|
+
key: this.toScVal(k),
|
|
134
|
+
val: this.toScVal(v),
|
|
135
|
+
})));
|
|
136
|
+
case 'set':
|
|
137
|
+
if (!Array.isArray(value) && !(value instanceof Set)) {
|
|
138
|
+
throw new Error('Expected array or Set for set type');
|
|
139
|
+
}
|
|
140
|
+
const values = value instanceof Set ? Array.from(value) : value;
|
|
141
|
+
return xdr.ScVal.scvVec(values.map(item => this.toScVal(item)));
|
|
142
|
+
case 'tuple':
|
|
143
|
+
if (!Array.isArray(value)) {
|
|
144
|
+
throw new Error('Expected array for tuple type');
|
|
145
|
+
}
|
|
146
|
+
return xdr.ScVal.scvVec(value.map(item => this.toScVal(item)));
|
|
147
|
+
default:
|
|
148
|
+
throw new Error(`Unsupported ScType: ${type}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Convert ScVal to JavaScript value
|
|
153
|
+
*/
|
|
154
|
+
static fromScVal(scVal) {
|
|
155
|
+
switch (scVal.switch()) {
|
|
156
|
+
case xdr.ScValType.scvVoid():
|
|
157
|
+
return null;
|
|
158
|
+
case xdr.ScValType.scvBool():
|
|
159
|
+
return scVal.bool();
|
|
160
|
+
case xdr.ScValType.scvU32():
|
|
161
|
+
return scVal.u32();
|
|
162
|
+
case xdr.ScValType.scvI32():
|
|
163
|
+
return scVal.i32();
|
|
164
|
+
case xdr.ScValType.scvU64():
|
|
165
|
+
return new ScInt(scVal.u64()).toBigInt();
|
|
166
|
+
case xdr.ScValType.scvI64():
|
|
167
|
+
return new ScInt(scVal.i64()).toBigInt();
|
|
168
|
+
case xdr.ScValType.scvU128():
|
|
169
|
+
return new ScInt(scVal.u128()).toBigInt();
|
|
170
|
+
case xdr.ScValType.scvI128():
|
|
171
|
+
return new ScInt(scVal.i128()).toBigInt();
|
|
172
|
+
case xdr.ScValType.scvU256():
|
|
173
|
+
return new ScInt(scVal.u256()).toBigInt();
|
|
174
|
+
case xdr.ScValType.scvI256():
|
|
175
|
+
return new ScInt(scVal.i256()).toBigInt();
|
|
176
|
+
case xdr.ScValType.scvF32():
|
|
177
|
+
return scVal.f32();
|
|
178
|
+
case xdr.ScValType.scvF64():
|
|
179
|
+
return scVal.f64();
|
|
180
|
+
case xdr.ScValType.scvBytes():
|
|
181
|
+
return scVal.bytes();
|
|
182
|
+
case xdr.ScValType.scvString():
|
|
183
|
+
return scVal.str().toString();
|
|
184
|
+
case xdr.ScValType.scvSymbol():
|
|
185
|
+
return scVal.symbol().toString();
|
|
186
|
+
case xdr.ScValType.scvAddress():
|
|
187
|
+
return Address.fromScVal(scVal).toString();
|
|
188
|
+
case xdr.ScValType.scvVec():
|
|
189
|
+
return scVal.vec().map(item => this.fromScVal(item));
|
|
190
|
+
case xdr.ScValType.scvMap():
|
|
191
|
+
const map = new Map();
|
|
192
|
+
for (const entry of scVal.map()) {
|
|
193
|
+
map.set(this.fromScVal(entry.key()), this.fromScVal(entry.val()));
|
|
194
|
+
}
|
|
195
|
+
return map;
|
|
196
|
+
case xdr.ScValType.scvContractInstance():
|
|
197
|
+
return scVal.instance();
|
|
198
|
+
case xdr.ScValType.scvLedgerKeyNonce():
|
|
199
|
+
return scVal.nonceKey();
|
|
200
|
+
case xdr.ScValType.scvLedgerKeyContractCode():
|
|
201
|
+
return scVal.contractCode();
|
|
202
|
+
case xdr.ScValType.scvLedgerKeyContractData():
|
|
203
|
+
return scVal.contractData();
|
|
204
|
+
case xdr.ScValType.scvLedgerKeyState():
|
|
205
|
+
return scVal.state();
|
|
206
|
+
default:
|
|
207
|
+
throw new Error(`Unsupported ScVal type: ${scVal.switch().name}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Encode function arguments
|
|
212
|
+
*/
|
|
213
|
+
static encodeArgs(args, types) {
|
|
214
|
+
if (types && types.length !== args.length) {
|
|
215
|
+
throw new Error('Number of types must match number of arguments');
|
|
216
|
+
}
|
|
217
|
+
return args.map((arg, index) => {
|
|
218
|
+
const type = types ? types[index] : undefined;
|
|
219
|
+
return this.toScVal(arg, type);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Decode function result
|
|
224
|
+
*/
|
|
225
|
+
static decodeResult(result, type) {
|
|
226
|
+
if (type) {
|
|
227
|
+
return this.fromTypedScVal(result, type);
|
|
228
|
+
}
|
|
229
|
+
return this.fromScVal(result);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Convert ScVal to typed JavaScript value
|
|
233
|
+
*/
|
|
234
|
+
static fromTypedScVal(scVal, type) {
|
|
235
|
+
switch (type) {
|
|
236
|
+
case 'void':
|
|
237
|
+
return null;
|
|
238
|
+
case 'bool':
|
|
239
|
+
return scVal.switch() === xdr.ScValType.scvBool() ? scVal.bool() : null;
|
|
240
|
+
case 'u32':
|
|
241
|
+
return scVal.switch() === xdr.ScValType.scvU32() ? scVal.u32() : null;
|
|
242
|
+
case 'i32':
|
|
243
|
+
return scVal.switch() === xdr.ScValType.scvI32() ? scVal.i32() : null;
|
|
244
|
+
case 'u64':
|
|
245
|
+
case 'i64':
|
|
246
|
+
case 'u128':
|
|
247
|
+
case 'i128':
|
|
248
|
+
case 'u256':
|
|
249
|
+
case 'i256':
|
|
250
|
+
return this.fromScVal(scVal);
|
|
251
|
+
case 'f32':
|
|
252
|
+
return scVal.switch() === xdr.ScValType.scvF32() ? scVal.f32() : null;
|
|
253
|
+
case 'f64':
|
|
254
|
+
return scVal.switch() === xdr.ScValType.scvF64() ? scVal.f64() : null;
|
|
255
|
+
case 'bytes':
|
|
256
|
+
return scVal.switch() === xdr.ScValType.scvBytes()
|
|
257
|
+
? scVal.bytes()
|
|
258
|
+
: null;
|
|
259
|
+
case 'string':
|
|
260
|
+
return scVal.switch() === xdr.ScValType.scvString()
|
|
261
|
+
? scVal.str().toString()
|
|
262
|
+
: null;
|
|
263
|
+
case 'symbol':
|
|
264
|
+
return scVal.switch() === xdr.ScValType.scvSymbol()
|
|
265
|
+
? scVal.symbol().toString()
|
|
266
|
+
: null;
|
|
267
|
+
case 'address':
|
|
268
|
+
return scVal.switch() === xdr.ScValType.scvAddress()
|
|
269
|
+
? Address.fromScVal(scVal).toString()
|
|
270
|
+
: null;
|
|
271
|
+
case 'option':
|
|
272
|
+
if (scVal.switch() === xdr.ScValType.scvVoid()) {
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
return this.fromScVal(scVal);
|
|
276
|
+
case 'vec':
|
|
277
|
+
case 'tuple':
|
|
278
|
+
return scVal.switch() === xdr.ScValType.scvVec()
|
|
279
|
+
? scVal.vec().map(item => this.fromScVal(item))
|
|
280
|
+
: null;
|
|
281
|
+
case 'map':
|
|
282
|
+
if (scVal.switch() === xdr.ScValType.scvMap()) {
|
|
283
|
+
const obj = {};
|
|
284
|
+
for (const entry of scVal.map()) {
|
|
285
|
+
const key = this.fromScVal(entry.key());
|
|
286
|
+
const val = this.fromScVal(entry.val());
|
|
287
|
+
obj[typeof key === 'string' ? key : String(key)] = val;
|
|
288
|
+
}
|
|
289
|
+
return obj;
|
|
290
|
+
}
|
|
291
|
+
return null;
|
|
292
|
+
case 'set':
|
|
293
|
+
return scVal.switch() === xdr.ScValType.scvVec()
|
|
294
|
+
? new Set(scVal.vec().map(item => this.fromScVal(item)))
|
|
295
|
+
: null;
|
|
296
|
+
default:
|
|
297
|
+
throw new Error(`Unsupported ScType: ${type}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Convert JavaScript symbol to ScVal symbol
|
|
302
|
+
*/
|
|
303
|
+
static toSymbol(value) {
|
|
304
|
+
return xdr.ScVal.scvSymbol(value);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Convert JavaScript address to ScVal address
|
|
308
|
+
*/
|
|
309
|
+
static toAddress(address) {
|
|
310
|
+
return new Address(address).toScVal();
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Convert JavaScript bytes to ScVal bytes
|
|
314
|
+
*/
|
|
315
|
+
static toBytes(data) {
|
|
316
|
+
const buffer = Buffer.isBuffer(data) ? data : Buffer.from(data, 'hex');
|
|
317
|
+
return xdr.ScVal.scvBytes(buffer);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=scval-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scval-converter.js","sourceRoot":"","sources":["../../../src/soroban/utils/scval-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Builder for sponsored account creation operations
|
|
3
|
+
* @description Handles building operations for sponsored account creation
|
|
4
|
+
* @author Galaxy DevKit Team
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
* @since 2024-12-01
|
|
7
|
+
*/
|
|
8
|
+
import { xdr } from '@stellar/stellar-sdk';
|
|
9
|
+
import { NetworkConfig } from '../../types/stellar-types';
|
|
10
|
+
import { SponsorshipResult } from '../types/sponsored-reserves-types';
|
|
11
|
+
/**
|
|
12
|
+
* Builder class for sponsored account creation
|
|
13
|
+
* @class SponsoredAccountBuilder
|
|
14
|
+
*/
|
|
15
|
+
export declare class SponsoredAccountBuilder {
|
|
16
|
+
private manager;
|
|
17
|
+
private server;
|
|
18
|
+
private networkConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new SponsoredAccountBuilder instance
|
|
21
|
+
* @param networkConfig - Network configuration
|
|
22
|
+
*/
|
|
23
|
+
constructor(networkConfig: NetworkConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Builds operations for sponsored account creation
|
|
26
|
+
* @param sponsorPublicKey - Sponsor's public key
|
|
27
|
+
* @param newAccountPublicKey - New account's public key
|
|
28
|
+
* @param startingBalance - Starting balance (can be "0" when sponsored)
|
|
29
|
+
* @returns Array of operations
|
|
30
|
+
*/
|
|
31
|
+
buildSponsoredAccountCreation(sponsorPublicKey: string, newAccountPublicKey: string, startingBalance?: string): xdr.Operation[];
|
|
32
|
+
/**
|
|
33
|
+
* Creates a sponsored account with full transaction execution
|
|
34
|
+
* @param sponsorSecret - Sponsor's secret key
|
|
35
|
+
* @param newAccountSecret - New account's secret key
|
|
36
|
+
* @param startingBalance - Starting balance
|
|
37
|
+
* @returns Promise<SponsorshipResult>
|
|
38
|
+
*/
|
|
39
|
+
createSponsoredAccount(sponsorSecret: string, newAccountSecret: string, startingBalance?: string): Promise<SponsorshipResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Builds an unsigned transaction for sponsored account creation
|
|
42
|
+
* @param sponsorPublicKey - Sponsor's public key
|
|
43
|
+
* @param newAccountPublicKey - New account's public key
|
|
44
|
+
* @param startingBalance - Starting balance
|
|
45
|
+
* @returns Promise with transaction XDR and required signers
|
|
46
|
+
*/
|
|
47
|
+
buildUnsignedTransaction(sponsorPublicKey: string, newAccountPublicKey: string, startingBalance?: string): Promise<{
|
|
48
|
+
xdr: string;
|
|
49
|
+
requiredSigners: string[];
|
|
50
|
+
}>;
|
|
51
|
+
/**
|
|
52
|
+
* Estimates transaction fee
|
|
53
|
+
* @param operationCount - Number of operations
|
|
54
|
+
* @returns Fee in stroops as string
|
|
55
|
+
*/
|
|
56
|
+
private estimateFee;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=sponsored-account-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sponsored-account-builder.d.ts","sourceRoot":"","sources":["../../../src/sponsored-reserves/builders/sponsored-account-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,GAAG,EACJ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAsB,MAAM,mCAAmC,CAAC;AAI1F;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IAErC;;;OAGG;gBACS,aAAa,EAAE,aAAa;IAMxC;;;;;;OAMG;IACH,6BAA6B,CAC3B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,GAAE,MAAY,GAC5B,GAAG,CAAC,SAAS,EAAE;IAsClB;;;;;;OAMG;IACG,sBAAsB,CAC1B,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,eAAe,GAAE,MAAY,GAC5B,OAAO,CAAC,iBAAiB,CAAC;IAuD7B;;;;;;OAMG;IACG,wBAAwB,CAC5B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,GAAE,MAAY,GAC5B,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAuCtD;;;;OAIG;YACW,WAAW;CAS1B"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Builder for sponsored account creation operations
|
|
3
|
+
* @description Handles building operations for sponsored account creation
|
|
4
|
+
* @author Galaxy DevKit Team
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
* @since 2024-12-01
|
|
7
|
+
*/
|
|
8
|
+
import { Keypair, Operation, TransactionBuilder, Horizon, } from '@stellar/stellar-sdk';
|
|
9
|
+
import { validatePublicKey, validateSecretKey, validateAmount } from '../utils/sponsorship-validation';
|
|
10
|
+
import { SponsoredReservesManager } from '../services/sponsored-reserves-manager';
|
|
11
|
+
/**
|
|
12
|
+
* Builder class for sponsored account creation
|
|
13
|
+
* @class SponsoredAccountBuilder
|
|
14
|
+
*/
|
|
15
|
+
export class SponsoredAccountBuilder {
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new SponsoredAccountBuilder instance
|
|
18
|
+
* @param networkConfig - Network configuration
|
|
19
|
+
*/
|
|
20
|
+
constructor(networkConfig) {
|
|
21
|
+
this.networkConfig = networkConfig;
|
|
22
|
+
this.server = new Horizon.Server(networkConfig.horizonUrl);
|
|
23
|
+
this.manager = new SponsoredReservesManager(networkConfig);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Builds operations for sponsored account creation
|
|
27
|
+
* @param sponsorPublicKey - Sponsor's public key
|
|
28
|
+
* @param newAccountPublicKey - New account's public key
|
|
29
|
+
* @param startingBalance - Starting balance (can be "0" when sponsored)
|
|
30
|
+
* @returns Array of operations
|
|
31
|
+
*/
|
|
32
|
+
buildSponsoredAccountCreation(sponsorPublicKey, newAccountPublicKey, startingBalance = '0') {
|
|
33
|
+
if (!validatePublicKey(sponsorPublicKey)) {
|
|
34
|
+
throw new Error('Invalid sponsor public key');
|
|
35
|
+
}
|
|
36
|
+
if (!validatePublicKey(newAccountPublicKey)) {
|
|
37
|
+
throw new Error('Invalid new account public key');
|
|
38
|
+
}
|
|
39
|
+
if (!validateAmount(startingBalance, true)) {
|
|
40
|
+
throw new Error('Invalid starting balance');
|
|
41
|
+
}
|
|
42
|
+
const operations = [];
|
|
43
|
+
// Begin sponsoring
|
|
44
|
+
operations.push(Operation.beginSponsoringFutureReserves({
|
|
45
|
+
sponsoredId: newAccountPublicKey,
|
|
46
|
+
}));
|
|
47
|
+
// Create account operation
|
|
48
|
+
operations.push(Operation.createAccount({
|
|
49
|
+
destination: newAccountPublicKey,
|
|
50
|
+
startingBalance: startingBalance,
|
|
51
|
+
}));
|
|
52
|
+
// End sponsoring (source must be the new account)
|
|
53
|
+
operations.push(Operation.endSponsoringFutureReserves({
|
|
54
|
+
source: newAccountPublicKey,
|
|
55
|
+
}));
|
|
56
|
+
return operations;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Creates a sponsored account with full transaction execution
|
|
60
|
+
* @param sponsorSecret - Sponsor's secret key
|
|
61
|
+
* @param newAccountSecret - New account's secret key
|
|
62
|
+
* @param startingBalance - Starting balance
|
|
63
|
+
* @returns Promise<SponsorshipResult>
|
|
64
|
+
*/
|
|
65
|
+
async createSponsoredAccount(sponsorSecret, newAccountSecret, startingBalance = '0') {
|
|
66
|
+
if (!validateSecretKey(sponsorSecret)) {
|
|
67
|
+
throw new Error('Invalid sponsor secret key');
|
|
68
|
+
}
|
|
69
|
+
if (!validateSecretKey(newAccountSecret)) {
|
|
70
|
+
throw new Error('Invalid new account secret key');
|
|
71
|
+
}
|
|
72
|
+
const sponsorKeypair = Keypair.fromSecret(sponsorSecret);
|
|
73
|
+
const newAccountKeypair = Keypair.fromSecret(newAccountSecret);
|
|
74
|
+
// Load sponsor account
|
|
75
|
+
const sponsorAccount = await this.server.loadAccount(sponsorKeypair.publicKey());
|
|
76
|
+
// Build transaction with sponsored account creation
|
|
77
|
+
const transaction = new TransactionBuilder(sponsorAccount, {
|
|
78
|
+
fee: await this.estimateFee(3),
|
|
79
|
+
networkPassphrase: this.networkConfig.passphrase,
|
|
80
|
+
})
|
|
81
|
+
.addOperation(Operation.beginSponsoringFutureReserves({
|
|
82
|
+
sponsoredId: newAccountKeypair.publicKey(),
|
|
83
|
+
}))
|
|
84
|
+
.addOperation(Operation.createAccount({
|
|
85
|
+
destination: newAccountKeypair.publicKey(),
|
|
86
|
+
startingBalance: startingBalance,
|
|
87
|
+
}))
|
|
88
|
+
.addOperation(Operation.endSponsoringFutureReserves({
|
|
89
|
+
source: newAccountKeypair.publicKey(),
|
|
90
|
+
}))
|
|
91
|
+
.setTimeout(180)
|
|
92
|
+
.build();
|
|
93
|
+
// Sign with both keypairs
|
|
94
|
+
transaction.sign(sponsorKeypair);
|
|
95
|
+
transaction.sign(newAccountKeypair);
|
|
96
|
+
// Submit transaction
|
|
97
|
+
const result = await this.server.submitTransaction(transaction);
|
|
98
|
+
return {
|
|
99
|
+
hash: result.hash,
|
|
100
|
+
status: result.successful ? 'success' : 'failed',
|
|
101
|
+
ledger: result.ledger.toString(),
|
|
102
|
+
createdAt: new Date(),
|
|
103
|
+
sponsoredEntries: [{ type: 'account', id: newAccountKeypair.publicKey() }],
|
|
104
|
+
feePaid: transaction.fee.toString(),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Builds an unsigned transaction for sponsored account creation
|
|
109
|
+
* @param sponsorPublicKey - Sponsor's public key
|
|
110
|
+
* @param newAccountPublicKey - New account's public key
|
|
111
|
+
* @param startingBalance - Starting balance
|
|
112
|
+
* @returns Promise with transaction XDR and required signers
|
|
113
|
+
*/
|
|
114
|
+
async buildUnsignedTransaction(sponsorPublicKey, newAccountPublicKey, startingBalance = '0') {
|
|
115
|
+
if (!validatePublicKey(sponsorPublicKey)) {
|
|
116
|
+
throw new Error('Invalid sponsor public key');
|
|
117
|
+
}
|
|
118
|
+
if (!validatePublicKey(newAccountPublicKey)) {
|
|
119
|
+
throw new Error('Invalid new account public key');
|
|
120
|
+
}
|
|
121
|
+
const sponsorAccount = await this.server.loadAccount(sponsorPublicKey);
|
|
122
|
+
const transaction = new TransactionBuilder(sponsorAccount, {
|
|
123
|
+
fee: await this.estimateFee(3),
|
|
124
|
+
networkPassphrase: this.networkConfig.passphrase,
|
|
125
|
+
})
|
|
126
|
+
.addOperation(Operation.beginSponsoringFutureReserves({
|
|
127
|
+
sponsoredId: newAccountPublicKey,
|
|
128
|
+
}))
|
|
129
|
+
.addOperation(Operation.createAccount({
|
|
130
|
+
destination: newAccountPublicKey,
|
|
131
|
+
startingBalance: startingBalance,
|
|
132
|
+
}))
|
|
133
|
+
.addOperation(Operation.endSponsoringFutureReserves({
|
|
134
|
+
source: newAccountPublicKey,
|
|
135
|
+
}))
|
|
136
|
+
.setTimeout(180)
|
|
137
|
+
.build();
|
|
138
|
+
return {
|
|
139
|
+
xdr: transaction.toXDR(),
|
|
140
|
+
requiredSigners: [sponsorPublicKey, newAccountPublicKey],
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Estimates transaction fee
|
|
145
|
+
* @param operationCount - Number of operations
|
|
146
|
+
* @returns Fee in stroops as string
|
|
147
|
+
*/
|
|
148
|
+
async estimateFee(operationCount = 1) {
|
|
149
|
+
try {
|
|
150
|
+
const feeStats = await this.server.feeStats();
|
|
151
|
+
const baseFee = parseInt(feeStats.max_fee.mode, 10);
|
|
152
|
+
return (baseFee * operationCount).toString();
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return (100 * operationCount).toString();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=sponsored-account-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sponsored-account-builder.js","sourceRoot":"","sources":["../../../src/sponsored-reserves/builders/sponsored-account-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,OAAO,GAER,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAKlC;;;OAGG;IACH,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,6BAA6B,CAC3B,gBAAwB,EACxB,mBAA2B,EAC3B,kBAA0B,GAAG;QAE7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,UAAU,GAAoB,EAAE,CAAC;QAEvC,mBAAmB;QACnB,UAAU,CAAC,IAAI,CACb,SAAS,CAAC,6BAA6B,CAAC;YACtC,WAAW,EAAE,mBAAmB;SACjC,CAAC,CACH,CAAC;QAEF,2BAA2B;QAC3B,UAAU,CAAC,IAAI,CACb,SAAS,CAAC,aAAa,CAAC;YACtB,WAAW,EAAE,mBAAmB;YAChC,eAAe,EAAE,eAAe;SACjC,CAAC,CACH,CAAC;QAEF,kDAAkD;QAClD,UAAU,CAAC,IAAI,CACb,SAAS,CAAC,2BAA2B,CAAC;YACpC,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CACH,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,aAAqB,EACrB,gBAAwB,EACxB,kBAA0B,GAAG;QAE7B,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE/D,uBAAuB;QACvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAEjF,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,cAAc,EAAE;YACzD,GAAG,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9B,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;SACjD,CAAC;aACC,YAAY,CACX,SAAS,CAAC,6BAA6B,CAAC;YACtC,WAAW,EAAE,iBAAiB,CAAC,SAAS,EAAE;SAC3C,CAAC,CACH;aACA,YAAY,CACX,SAAS,CAAC,aAAa,CAAC;YACtB,WAAW,EAAE,iBAAiB,CAAC,SAAS,EAAE;YAC1C,eAAe,EAAE,eAAe;SACjC,CAAC,CACH;aACA,YAAY,CACX,SAAS,CAAC,2BAA2B,CAAC;YACpC,MAAM,EAAE,iBAAiB,CAAC,SAAS,EAAE;SACtC,CAAC,CACH;aACA,UAAU,CAAC,GAAG,CAAC;aACf,KAAK,EAAE,CAAC;QAEX,0BAA0B;QAC1B,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEpC,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEhE,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAChD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1E,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;SACpC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,wBAAwB,CAC5B,gBAAwB,EACxB,mBAA2B,EAC3B,kBAA0B,GAAG;QAE7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAEvE,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,cAAc,EAAE;YACzD,GAAG,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9B,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;SACjD,CAAC;aACC,YAAY,CACX,SAAS,CAAC,6BAA6B,CAAC;YACtC,WAAW,EAAE,mBAAmB;SACjC,CAAC,CACH;aACA,YAAY,CACX,SAAS,CAAC,aAAa,CAAC;YACtB,WAAW,EAAE,mBAAmB;YAChC,eAAe,EAAE,eAAe;SACjC,CAAC,CACH;aACA,YAAY,CACX,SAAS,CAAC,2BAA2B,CAAC;YACpC,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CACH;aACA,UAAU,CAAC,GAAG,CAAC;aACf,KAAK,EAAE,CAAC;QAEX,OAAO;YACL,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE;YACxB,eAAe,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;SACzD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,WAAW,CAAC,iBAAyB,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
|