@wuwei-labs/srsly 2.0.0-beta.37 → 2.0.0-beta.41
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 +2 -1
- package/dist/cjs/codama/accounts/config.js +0 -2
- package/dist/cjs/codama/accounts/config.js.map +1 -1
- package/dist/cjs/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/codama/accounts/rentalState.js +1 -3
- package/dist/cjs/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/codama/errors/srsly.js +13 -1
- package/dist/cjs/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/codama/instructions/acceptRental.js +1 -28
- package/dist/cjs/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/codama/instructions/closeRental.js +28 -13
- package/dist/cjs/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/codama/instructions/index.js +1 -0
- package/dist/cjs/codama/instructions/index.js.map +1 -1
- package/dist/cjs/codama/instructions/payRental.js +1 -18
- package/dist/cjs/codama/instructions/payRental.js.map +1 -1
- package/dist/cjs/codama/instructions/resetContractTemp.js +146 -0
- package/dist/cjs/codama/instructions/resetContractTemp.js.map +1 -0
- package/dist/cjs/codama/instructions/resetRental.js +6 -1
- package/dist/cjs/codama/instructions/resetRental.js.map +1 -1
- package/dist/cjs/codama/instructions/updateConfig.js +0 -2
- package/dist/cjs/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/codama/programs/srsly.js +6 -2
- package/dist/cjs/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/codama/types/paymentFrequency.js +31 -0
- package/dist/cjs/codama/types/paymentFrequency.js.map +1 -1
- package/dist/cjs/contract/close.js +71 -11
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +88 -21
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/contract/index.js +45 -0
- package/dist/cjs/contract/index.js.map +1 -1
- package/dist/cjs/index.js +110 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +4 -4
- package/dist/cjs/rental/accept.js +164 -45
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +82 -16
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +152 -27
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/index.js +85 -0
- package/dist/cjs/rental/index.js.map +1 -1
- package/dist/cjs/rental/reset-contract-temp.js +103 -0
- package/dist/cjs/rental/reset-contract-temp.js.map +1 -0
- package/dist/cjs/rental/reset.js +102 -19
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/utils/config.js +44 -9
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/constants.js +16 -6
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instruction-converter.js +60 -5
- package/dist/cjs/utils/instruction-converter.js.map +1 -1
- package/dist/cjs/utils/paymentFrequency.js +7 -2
- package/dist/cjs/utils/paymentFrequency.js.map +1 -1
- package/dist/cjs/utils/pda.js +191 -0
- package/dist/cjs/utils/pda.js.map +1 -0
- package/dist/esm/codama/accounts/config.js +0 -2
- package/dist/esm/codama/accounts/config.js.map +1 -1
- package/dist/esm/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/codama/accounts/rentalState.js +1 -3
- package/dist/esm/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/codama/errors/srsly.js +12 -0
- package/dist/esm/codama/errors/srsly.js.map +1 -1
- package/dist/esm/codama/instructions/acceptRental.js +1 -28
- package/dist/esm/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/codama/instructions/closeRental.js +28 -13
- package/dist/esm/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/codama/instructions/index.js +1 -0
- package/dist/esm/codama/instructions/index.js.map +1 -1
- package/dist/esm/codama/instructions/payRental.js +1 -18
- package/dist/esm/codama/instructions/payRental.js.map +1 -1
- package/dist/esm/codama/instructions/resetContractTemp.js +136 -0
- package/dist/esm/codama/instructions/resetContractTemp.js.map +1 -0
- package/dist/esm/codama/instructions/resetRental.js +6 -1
- package/dist/esm/codama/instructions/resetRental.js.map +1 -1
- package/dist/esm/codama/instructions/updateConfig.js +0 -2
- package/dist/esm/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/codama/programs/srsly.js +6 -2
- package/dist/esm/codama/programs/srsly.js.map +1 -1
- package/dist/esm/codama/types/paymentFrequency.js +31 -0
- package/dist/esm/codama/types/paymentFrequency.js.map +1 -1
- package/dist/esm/contract/close.js +72 -12
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +89 -22
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/contract/index.js +45 -0
- package/dist/esm/contract/index.js.map +1 -1
- package/dist/esm/index.js +110 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +4 -4
- package/dist/esm/rental/accept.js +166 -47
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +83 -17
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +152 -27
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/index.js +85 -0
- package/dist/esm/rental/index.js.map +1 -1
- package/dist/esm/rental/reset-contract-temp.js +100 -0
- package/dist/esm/rental/reset-contract-temp.js.map +1 -0
- package/dist/esm/rental/reset.js +102 -19
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/utils/config.js +44 -9
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/constants.js +16 -6
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instruction-converter.js +59 -5
- package/dist/esm/utils/instruction-converter.js.map +1 -1
- package/dist/esm/utils/paymentFrequency.js +7 -2
- package/dist/esm/utils/paymentFrequency.js.map +1 -1
- package/dist/esm/utils/pda.js +185 -0
- package/dist/esm/utils/pda.js.map +1 -0
- package/dist/types/codama/accounts/config.d.ts +24 -2
- package/dist/types/codama/accounts/config.d.ts.map +1 -1
- package/dist/types/codama/accounts/contractState.d.ts +26 -0
- package/dist/types/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/codama/accounts/rentalState.d.ts +20 -2
- package/dist/types/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/codama/errors/srsly.d.ts +9 -1
- package/dist/types/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/codama/instructions/acceptRental.d.ts +13 -20
- package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/closeRental.d.ts +33 -13
- package/dist/types/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/index.d.ts +1 -0
- package/dist/types/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/codama/instructions/payRental.d.ts +11 -18
- package/dist/types/codama/instructions/payRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/resetContractTemp.d.ts +71 -0
- package/dist/types/codama/instructions/resetContractTemp.d.ts.map +1 -0
- package/dist/types/codama/instructions/resetRental.d.ts +21 -17
- package/dist/types/codama/instructions/resetRental.d.ts.map +1 -1
- package/dist/types/codama/instructions/updateConfig.d.ts +20 -4
- package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/codama/programs/srsly.d.ts +6 -3
- package/dist/types/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/codama/types/paymentFrequency.d.ts +31 -0
- package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -1
- package/dist/types/contract/close.d.ts +77 -16
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +114 -17
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/contract/index.d.ts +45 -0
- package/dist/types/contract/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +111 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +121 -50
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +80 -16
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +86 -26
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/index.d.ts +85 -0
- package/dist/types/rental/index.d.ts.map +1 -1
- package/dist/types/rental/reset-contract-temp.d.ts +77 -0
- package/dist/types/rental/reset-contract-temp.d.ts.map +1 -0
- package/dist/types/rental/reset.d.ts +114 -24
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +14 -2
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +1 -1
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instruction-converter.d.ts +70 -20
- package/dist/types/utils/instruction-converter.d.ts.map +1 -1
- package/dist/types/utils/paymentFrequency.d.ts +3 -3
- package/dist/types/utils/paymentFrequency.d.ts.map +1 -1
- package/dist/types/utils/pda.d.ts +120 -0
- package/dist/types/utils/pda.d.ts.map +1 -0
- package/package.json +5 -5
- package/target/idl/srsly.json +318 -94
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fluent instruction interface for format conversion between @solana/kit and @solana/web3.js
|
|
3
3
|
*/
|
|
4
|
+
import { getEffectiveConfig } from './config';
|
|
4
5
|
/**
|
|
5
|
-
* Create a fluent instruction
|
|
6
|
+
* Create a fluent instruction from a kit instruction using non-polluting design
|
|
6
7
|
* @param kitInstruction The base instruction in kit format
|
|
7
|
-
* @returns Fluent instruction with conversion methods
|
|
8
|
+
* @returns Fluent instruction with separate instruction property and conversion methods
|
|
8
9
|
*/
|
|
9
10
|
export function createFluentInstruction(kitInstruction) {
|
|
11
|
+
function kit() {
|
|
12
|
+
return kitInstruction;
|
|
13
|
+
}
|
|
10
14
|
function web3js(PublicKeyConstructor) {
|
|
15
|
+
const accounts = kitInstruction.accounts || [];
|
|
11
16
|
if (PublicKeyConstructor) {
|
|
12
17
|
// Return instruction with PublicKey instances
|
|
13
18
|
return {
|
|
14
|
-
keys:
|
|
19
|
+
keys: accounts.map(account => ({
|
|
15
20
|
pubkey: new PublicKeyConstructor(account.address),
|
|
16
21
|
isWritable: (account.role & 1) === 1, // Check if writable bit is set
|
|
17
22
|
isSigner: (account.role & 2) === 2, // Check if signer bit is set
|
|
@@ -23,7 +28,7 @@ export function createFluentInstruction(kitInstruction) {
|
|
|
23
28
|
else {
|
|
24
29
|
// Return instruction with string addresses
|
|
25
30
|
return {
|
|
26
|
-
keys:
|
|
31
|
+
keys: accounts.map(account => ({
|
|
27
32
|
pubkey: account.address,
|
|
28
33
|
isWritable: (account.role & 1) === 1, // Check if writable bit is set
|
|
29
34
|
isSigner: (account.role & 2) === 2, // Check if signer bit is set
|
|
@@ -34,12 +39,14 @@ export function createFluentInstruction(kitInstruction) {
|
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
return {
|
|
37
|
-
|
|
42
|
+
instruction: kitInstruction, // Pure, unpolluted instruction data
|
|
43
|
+
kit,
|
|
38
44
|
web3js
|
|
39
45
|
};
|
|
40
46
|
}
|
|
41
47
|
/**
|
|
42
48
|
* Create a fluent config selector that adds format conversion methods
|
|
49
|
+
* @deprecated Use createSmartFluentConfigSelector instead
|
|
43
50
|
* @param baseSelector The base ConfigSelector
|
|
44
51
|
* @returns FluentConfigSelector with additional format conversion methods
|
|
45
52
|
*/
|
|
@@ -59,4 +66,51 @@ export function createFluentConfigSelector(baseSelector) {
|
|
|
59
66
|
web3js
|
|
60
67
|
};
|
|
61
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Create a smart fluent config selector with library-aware return types
|
|
71
|
+
* @param baseSelector The base ConfigSelector
|
|
72
|
+
* @returns SmartFluentConfigSelector with smart return behavior
|
|
73
|
+
*/
|
|
74
|
+
export function createSmartFluentConfigSelector(baseSelector) {
|
|
75
|
+
return {
|
|
76
|
+
set(options) {
|
|
77
|
+
const newBaseSelector = baseSelector.set(options);
|
|
78
|
+
return createSmartFluentConfigSelector(newBaseSelector);
|
|
79
|
+
},
|
|
80
|
+
build: baseSelector.build,
|
|
81
|
+
// The magic happens in then() - smart return based on config
|
|
82
|
+
then(onfulfilled, onrejected) {
|
|
83
|
+
const promise = (async () => {
|
|
84
|
+
const fluentInstruction = await baseSelector.build();
|
|
85
|
+
const effectiveConfig = getEffectiveConfig(); // Get merged global + local config
|
|
86
|
+
// Smart return based on library preference
|
|
87
|
+
if (effectiveConfig.library === 'kit') {
|
|
88
|
+
return fluentInstruction.kit();
|
|
89
|
+
}
|
|
90
|
+
else if (effectiveConfig.library === 'web3js') {
|
|
91
|
+
if (effectiveConfig.PublicKeyConstructor) {
|
|
92
|
+
return fluentInstruction.web3js(effectiveConfig.PublicKeyConstructor);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return fluentInstruction.web3js(); // String addresses
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// No preference set - return full FluentInstruction
|
|
100
|
+
return fluentInstruction;
|
|
101
|
+
}
|
|
102
|
+
})();
|
|
103
|
+
return promise.then(onfulfilled, onrejected);
|
|
104
|
+
},
|
|
105
|
+
// Explicit conversion methods (always available)
|
|
106
|
+
async kit() {
|
|
107
|
+
const fluentInstruction = await baseSelector.build();
|
|
108
|
+
return fluentInstruction.kit();
|
|
109
|
+
},
|
|
110
|
+
async web3js(PublicKeyConstructor) {
|
|
111
|
+
const fluentInstruction = await baseSelector.build();
|
|
112
|
+
return fluentInstruction.web3js(PublicKeyConstructor);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
62
116
|
//# sourceMappingURL=instruction-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-converter.js","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"instruction-converter.js","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAiC,kBAAkB,EAAwB,MAAM,UAAU,CAAC;AA8JnG;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,cAA8B;IACpE,SAAS,GAAG;QACV,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,SAAS,MAAM,CAAa,oBAAuD;QACjF,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;QAE/C,IAAI,oBAAoB,EAAE,CAAC;YACzB,8CAA8C;YAC9C,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC7B,MAAM,EAAE,IAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;oBACjD,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,+BAA+B;oBACrE,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAI,6BAA6B;iBACpE,CAAC,CAAC;gBACH,SAAS,EAAE,IAAI,oBAAoB,CAAC,cAAc,CAAC,cAAc,CAAC;gBAClE,IAAI,EAAE,cAAc,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC7B,MAAM,EAAE,OAAO,CAAC,OAAO;oBACvB,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,+BAA+B;oBACrE,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAI,6BAA6B;iBACpE,CAAC,CAAC;gBACH,SAAS,EAAE,cAAc,CAAC,cAAc;gBACxC,IAAI,EAAE,cAAc,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,cAAc,EAAG,oCAAoC;QAClE,GAAG;QACH,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,YAA+B;IAE/B,KAAK,UAAU,MAAM,CAAa,oBAAuD;QACvF,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QACrD,OAAO,iBAAiB,CAAC,MAAM,CAAC,oBAA2B,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,8CAA8C;QAC9C,GAAG,CAAC,OAAY;YACd,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,0BAA0B,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,MAAM;KACoB,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,YAA+B;IAG/B,OAAO;QACL,GAAG,CAAC,OAAsB;YACxB,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,+BAA+B,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,EAAE,YAAY,CAAC,KAAK;QAEzB,6DAA6D;QAC7D,IAAI,CACF,WAAuE,EACvE,UAAuE;YAGvE,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC1B,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrD,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC,CAAC,mCAAmC;gBAEjF,2CAA2C;gBAC3C,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBACtC,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBACjC,CAAC;qBAAM,IAAI,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChD,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;wBACzC,OAAO,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACxE,CAAC;yBAAM,CAAC;wBACN,OAAO,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,mBAAmB;oBACxD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,OAAO,iBAAiB,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,iDAAiD;QACjD,KAAK,CAAC,GAAG;YACP,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YACrD,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,MAAM,CAAa,oBAAuD;YAC9E,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YACrD,OAAO,iBAAiB,CAAC,MAAM,CAAC,oBAA2B,CAAC,CAAC;QAC/D,CAAC;KAC8B,CAAC;AACpC,CAAC"}
|
|
@@ -33,11 +33,16 @@ export function paymentFrequencyToSeconds(frequency) {
|
|
|
33
33
|
/**
|
|
34
34
|
* Converts a payment frequency string to seconds
|
|
35
35
|
* Uses auto-generated mapping from Rust PaymentFrequency enum
|
|
36
|
+
* Handles both "@daily" format (from contracts) and "daily" format (from mapping)
|
|
36
37
|
*/
|
|
37
38
|
export function paymentFrequencyStringToSeconds(frequencyString) {
|
|
38
|
-
|
|
39
|
+
// Strip @ prefix if present (contracts store as "@daily", "@hourly", etc.)
|
|
40
|
+
const normalizedFrequency = frequencyString.startsWith('@')
|
|
41
|
+
? frequencyString.slice(1)
|
|
42
|
+
: frequencyString;
|
|
43
|
+
const frequency = PAYMENT_FREQUENCY_MAP[normalizedFrequency];
|
|
39
44
|
if (frequency === undefined) {
|
|
40
|
-
throw new Error(`Invalid payment frequency string: ${frequencyString}`);
|
|
45
|
+
throw new Error(`Invalid payment frequency string: ${frequencyString} (normalized: ${normalizedFrequency})`);
|
|
41
46
|
}
|
|
42
47
|
return paymentFrequencyToSeconds(frequency);
|
|
43
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentFrequency.js","sourceRoot":"","sources":["../../../src/utils/paymentFrequency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAEL,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AAEH,+CAA+C;AAC/C,MAAM,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,2BAA2B,CAAC;AAEhC;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAA2B;IACnE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,UAAU;YAC9B,OAAO,sBAAsB,CAAC;QAChC,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,kBAAkB,CAAC;QAC5B,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,OAAO,eAAe,CAAC;QACzB,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,iBAAiB,CAAC;QAC3B;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"paymentFrequency.js","sourceRoot":"","sources":["../../../src/utils/paymentFrequency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAEL,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AAEH,+CAA+C;AAC/C,MAAM,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,2BAA2B,CAAC;AAEhC;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAA2B;IACnE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,UAAU;YAC9B,OAAO,sBAAsB,CAAC;QAChC,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,kBAAkB,CAAC;QAC5B,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,OAAO,eAAe,CAAC;QACzB,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,iBAAiB,CAAC;QAC3B;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,eAAuB;IACrE,2EAA2E;IAC3E,MAAM,mBAAmB,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;QACzD,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAA2B;QACpD,CAAC,CAAC,eAAyC,CAAC;IAE9C,MAAM,SAAS,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC7D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,iBAAiB,mBAAmB,GAAG,CAAC,CAAC;IAC/G,CAAC;IAED,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAyB,EACzB,eAAuB;IAEvB,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAE1E,IAAI,cAAc,GAAG,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,mCAAmC,eAAe,eAAe,gBAAgB,WAAW,CAClH,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # PDA Derivation Utilities for Multi-Program Architecture
|
|
3
|
+
*
|
|
4
|
+
* The SRSLY rental system integrates with multiple Solana programs, each requiring
|
|
5
|
+
* PDAs to be derived using their specific program IDs for proper cross-program
|
|
6
|
+
* invocation (CPI) and account ownership.
|
|
7
|
+
*
|
|
8
|
+
* ## Program Responsibilities:
|
|
9
|
+
* - **SRSLY Program**: Contract, Rental State, Rental Authority PDAs
|
|
10
|
+
* - **Antegen Program**: Automated payment threads via Clockwork scheduling
|
|
11
|
+
* - **Profile Program**: Star Atlas SAGE profiles and starbase management
|
|
12
|
+
* - **Player Faction Program**: Player faction enrollment in SAGE ecosystem
|
|
13
|
+
*
|
|
14
|
+
* ## Cross-Program Integration:
|
|
15
|
+
* Each program owns its respective PDAs and must be used for derivation to
|
|
16
|
+
* ensure proper account ownership and enable CPI calls between programs.
|
|
17
|
+
*
|
|
18
|
+
* @note Future Enhancement: Consider requesting codama to auto-generate PDA
|
|
19
|
+
* utilities alongside instruction code to reduce manual maintenance.
|
|
20
|
+
*/
|
|
21
|
+
import { getProgramDerivedAddress, getBytesEncoder, getAddressEncoder, address } from '@solana/kit';
|
|
22
|
+
import { resolveProgramAddresses, getEffectiveConfig } from './config';
|
|
23
|
+
/**
|
|
24
|
+
* Derives the rental contract PDA using the SRSLY program ID
|
|
25
|
+
*
|
|
26
|
+
* Contract PDAs are derived from the fleet address and provide deterministic
|
|
27
|
+
* addresses for rental contracts without requiring a private key. The SDK
|
|
28
|
+
* automatically resolves the correct SRSLY program address for the current network
|
|
29
|
+
* unless a specific program ID is provided.
|
|
30
|
+
*
|
|
31
|
+
* @param fleet - The fleet address to create a contract for
|
|
32
|
+
* @param srslyProgramId - Optional SRSLY program ID (defaults to network-resolved address)
|
|
33
|
+
* @returns The contract PDA derived using SRSLY program ID
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Use network-resolved program address (recommended)
|
|
38
|
+
* const contractAddress = await deriveContract('FleetAddress123...');
|
|
39
|
+
*
|
|
40
|
+
* // Use specific program address
|
|
41
|
+
* const contractAddress = await deriveContract(
|
|
42
|
+
* 'FleetAddress123...',
|
|
43
|
+
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
44
|
+
* );
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export async function deriveContract(fleet, srslyProgramId) {
|
|
48
|
+
// Use provided program ID or resolve from network configuration
|
|
49
|
+
let programAddress;
|
|
50
|
+
if (srslyProgramId) {
|
|
51
|
+
programAddress = typeof srslyProgramId === 'string' ? srslyProgramId : String(srslyProgramId);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const addresses = await resolveProgramAddresses(getEffectiveConfig());
|
|
55
|
+
programAddress = addresses.srslyProgramAddress.toString();
|
|
56
|
+
}
|
|
57
|
+
const [pda] = await getProgramDerivedAddress({
|
|
58
|
+
programAddress: address(programAddress),
|
|
59
|
+
seeds: [
|
|
60
|
+
// "rental_contract" seed - matches RENTAL_CONTRACT_SEED in Rust
|
|
61
|
+
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 99, 111, 110, 116, 114, 97, 99, 116])),
|
|
62
|
+
// fleet address - convert string to Address
|
|
63
|
+
getAddressEncoder().encode(address(fleet)),
|
|
64
|
+
],
|
|
65
|
+
});
|
|
66
|
+
return pda;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Derives the rental thread PDA using the Antegen program ID
|
|
70
|
+
*
|
|
71
|
+
* Thread accounts are managed by the Antegen program, so they must be derived
|
|
72
|
+
* using the Antegen program ID rather than the SRSLY program ID. The SDK
|
|
73
|
+
* automatically resolves the correct Antegen program address for the current network
|
|
74
|
+
* unless a specific program ID is provided.
|
|
75
|
+
*
|
|
76
|
+
* @param rentalAuthority - The rental authority PDA (derived with SRSLY program)
|
|
77
|
+
* @param rentalState - The rental state PDA (derived with SRSLY program)
|
|
78
|
+
* @param antegenProgramId - Optional Antegen program ID (defaults to network-resolved address)
|
|
79
|
+
* @returns The rental thread PDA derived using Antegen program ID
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* // Use network-resolved program address (recommended)
|
|
84
|
+
* const threadPda = await deriveRentalThread(rentalAuthorityPda, rentalStatePda);
|
|
85
|
+
*
|
|
86
|
+
* // Use specific program address
|
|
87
|
+
* const threadPda = await deriveRentalThread(
|
|
88
|
+
* rentalAuthorityPda,
|
|
89
|
+
* rentalStatePda,
|
|
90
|
+
* 'AgThdyi1P5RkVeZD2rQahTvs8HePJoGFFxKtvok5s2J1'
|
|
91
|
+
* );
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export async function deriveRentalThread(rentalAuthority, rentalState, antegenProgramId) {
|
|
95
|
+
// Use provided program ID or resolve from network configuration
|
|
96
|
+
const addresses = await resolveProgramAddresses(getEffectiveConfig());
|
|
97
|
+
const programAddress = antegenProgramId || addresses.antegenProgramAddress;
|
|
98
|
+
const [pda] = await getProgramDerivedAddress({
|
|
99
|
+
programAddress,
|
|
100
|
+
seeds: [
|
|
101
|
+
// "thread" seed - matches THREAD_SEED in Rust
|
|
102
|
+
getBytesEncoder().encode(new Uint8Array([116, 104, 114, 101, 97, 100])),
|
|
103
|
+
// rental authority PDA
|
|
104
|
+
getAddressEncoder().encode(rentalAuthority),
|
|
105
|
+
// rental state PDA
|
|
106
|
+
getAddressEncoder().encode(rentalState),
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
return pda;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Derives the rental state PDA using the SRSLY program ID
|
|
113
|
+
*
|
|
114
|
+
* The SDK automatically resolves the correct SRSLY program address for the current network
|
|
115
|
+
* unless a specific program ID is provided.
|
|
116
|
+
*
|
|
117
|
+
* @param contract - The rental contract address
|
|
118
|
+
* @param borrower - The borrower's public key
|
|
119
|
+
* @param srslyProgramId - Optional SRSLY program ID (defaults to network-resolved address)
|
|
120
|
+
* @returns The rental state PDA
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* // Use network-resolved program address (recommended)
|
|
125
|
+
* const rentalStateAddress = await deriveRentalState(contractAddress, borrowerAddress);
|
|
126
|
+
*
|
|
127
|
+
* // Use specific program address
|
|
128
|
+
* const rentalStateAddress = await deriveRentalState(
|
|
129
|
+
* contractAddress,
|
|
130
|
+
* borrowerAddress,
|
|
131
|
+
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
132
|
+
* );
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export async function deriveRentalState(contract, borrower, srslyProgramId) {
|
|
136
|
+
// Use provided program ID or resolve from network configuration
|
|
137
|
+
const addresses = await resolveProgramAddresses(getEffectiveConfig());
|
|
138
|
+
const programAddress = srslyProgramId || addresses.srslyProgramAddress;
|
|
139
|
+
const [pda] = await getProgramDerivedAddress({
|
|
140
|
+
programAddress,
|
|
141
|
+
seeds: [
|
|
142
|
+
// "rental_state" seed
|
|
143
|
+
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 115, 116, 97, 116, 101])),
|
|
144
|
+
// contract address
|
|
145
|
+
getAddressEncoder().encode(contract),
|
|
146
|
+
// borrower address
|
|
147
|
+
getAddressEncoder().encode(borrower),
|
|
148
|
+
],
|
|
149
|
+
});
|
|
150
|
+
return pda;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Derives the rental authority PDA using the SRSLY program ID
|
|
154
|
+
*
|
|
155
|
+
* The SDK automatically resolves the correct SRSLY program address for the current network
|
|
156
|
+
* unless a specific program ID is provided.
|
|
157
|
+
*
|
|
158
|
+
* @param srslyProgramId - Optional SRSLY program ID (defaults to network-resolved address)
|
|
159
|
+
* @returns The rental authority PDA
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* // Use network-resolved program address (recommended)
|
|
164
|
+
* const rentalAuthorityAddress = await deriveRentalAuthority();
|
|
165
|
+
*
|
|
166
|
+
* // Use specific program address
|
|
167
|
+
* const rentalAuthorityAddress = await deriveRentalAuthority(
|
|
168
|
+
* 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT'
|
|
169
|
+
* );
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
export async function deriveRentalAuthority(srslyProgramId) {
|
|
173
|
+
// Use provided program ID or resolve from network configuration
|
|
174
|
+
const addresses = await resolveProgramAddresses(getEffectiveConfig());
|
|
175
|
+
const programAddress = srslyProgramId || addresses.srslyProgramAddress;
|
|
176
|
+
const [pda] = await getProgramDerivedAddress({
|
|
177
|
+
programAddress,
|
|
178
|
+
seeds: [
|
|
179
|
+
// "rental_authority" seed
|
|
180
|
+
getBytesEncoder().encode(new Uint8Array([114, 101, 110, 116, 97, 108, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121])),
|
|
181
|
+
],
|
|
182
|
+
});
|
|
183
|
+
return pda;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=pda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/utils/pda.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,33 +11,55 @@ export declare const CONFIG_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
|
11
11
|
export declare function getConfigDiscriminatorBytes(): ReadonlyUint8Array;
|
|
12
12
|
export type Config = {
|
|
13
13
|
discriminator: ReadonlyUint8Array;
|
|
14
|
+
/** Account version for migrations */
|
|
14
15
|
version: number;
|
|
16
|
+
/** PDA bump seed */
|
|
15
17
|
bump: number;
|
|
18
|
+
/** Authority that can update configuration */
|
|
16
19
|
authority: Address;
|
|
20
|
+
/** Stardust to ATLAS conversion rate (default: 100M = 1 ATLAS) */
|
|
17
21
|
stardustToAtlas: bigint;
|
|
22
|
+
/** Service fee in basis points (default: 1000 = 10%, max: 10%) */
|
|
18
23
|
serviceFeeBps: bigint;
|
|
19
|
-
|
|
24
|
+
/** Basis points denominator (default: 10,000) */
|
|
20
25
|
baseBps: bigint;
|
|
26
|
+
/** Minimum rental duration (default: 3600s = 1 hour) */
|
|
21
27
|
rentalDurationMinSeconds: bigint;
|
|
28
|
+
/** Maximum rental duration (default: 8,035,200s ≈ 3 months) */
|
|
22
29
|
rentalDurationMaxSeconds: bigint;
|
|
30
|
+
/** Address that receives collected fees */
|
|
23
31
|
feesAccount: Address;
|
|
32
|
+
/** ATLAS token mint for payments */
|
|
24
33
|
atlasMint: Address;
|
|
34
|
+
/** Default payment frequency (default: Daily) */
|
|
25
35
|
defaultPaymentFrequency: PaymentFrequency;
|
|
36
|
+
/** Allowed payment frequencies (max 10) */
|
|
26
37
|
allowedFrequencies: Array<PaymentFrequency>;
|
|
27
38
|
};
|
|
28
39
|
export type ConfigArgs = {
|
|
40
|
+
/** Account version for migrations */
|
|
29
41
|
version: number;
|
|
42
|
+
/** PDA bump seed */
|
|
30
43
|
bump: number;
|
|
44
|
+
/** Authority that can update configuration */
|
|
31
45
|
authority: Address;
|
|
46
|
+
/** Stardust to ATLAS conversion rate (default: 100M = 1 ATLAS) */
|
|
32
47
|
stardustToAtlas: number | bigint;
|
|
48
|
+
/** Service fee in basis points (default: 1000 = 10%, max: 10%) */
|
|
33
49
|
serviceFeeBps: number | bigint;
|
|
34
|
-
|
|
50
|
+
/** Basis points denominator (default: 10,000) */
|
|
35
51
|
baseBps: number | bigint;
|
|
52
|
+
/** Minimum rental duration (default: 3600s = 1 hour) */
|
|
36
53
|
rentalDurationMinSeconds: number | bigint;
|
|
54
|
+
/** Maximum rental duration (default: 8,035,200s ≈ 3 months) */
|
|
37
55
|
rentalDurationMaxSeconds: number | bigint;
|
|
56
|
+
/** Address that receives collected fees */
|
|
38
57
|
feesAccount: Address;
|
|
58
|
+
/** ATLAS token mint for payments */
|
|
39
59
|
atlasMint: Address;
|
|
60
|
+
/** Default payment frequency (default: Daily) */
|
|
40
61
|
defaultPaymentFrequency: PaymentFrequencyArgs;
|
|
62
|
+
/** Allowed payment frequencies (max 10) */
|
|
41
63
|
allowedFrequencies: Array<PaymentFrequencyArgs>;
|
|
42
64
|
};
|
|
43
65
|
export declare function getConfigEncoder(): Encoder<ConfigArgs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/codama/accounts/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,mBAAmB,EACnB,oBAAoB,EAgBpB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,oBAAoB,yBAE/B,CAAC;AAEH,wBAAgB,2BAA2B,uBAE1C;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,aAAa,EAAE,kBAAkB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/codama/accounts/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,33 +10,59 @@ export declare const CONTRACT_STATE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
|
10
10
|
export declare function getContractStateDiscriminatorBytes(): ReadonlyUint8Array;
|
|
11
11
|
export type ContractState = {
|
|
12
12
|
discriminator: ReadonlyUint8Array;
|
|
13
|
+
/** Version number for account migrations */
|
|
13
14
|
version: number;
|
|
15
|
+
/** Whether contract is scheduled for closure */
|
|
14
16
|
toClose: boolean;
|
|
17
|
+
/** Rental rate per payment period in ATLAS tokens */
|
|
15
18
|
rate: bigint;
|
|
19
|
+
/** Minimum rental duration in seconds */
|
|
16
20
|
durationMin: bigint;
|
|
21
|
+
/** Maximum rental duration in seconds */
|
|
17
22
|
durationMax: bigint;
|
|
23
|
+
/** Payment frequency string (@hourly, @daily, etc.) */
|
|
18
24
|
paymentsFeq: string;
|
|
25
|
+
/** Fleet associated with this contract */
|
|
19
26
|
fleet: Address;
|
|
27
|
+
/** Game ID for SAGE integration */
|
|
20
28
|
gameId: Address;
|
|
29
|
+
/** Currently active rental state (system_program::ID if none) */
|
|
21
30
|
currentRentalState: Address;
|
|
31
|
+
/** Fleet owner who receives payments */
|
|
22
32
|
owner: Address;
|
|
33
|
+
/** Owner's token account for receiving payments */
|
|
23
34
|
ownerTokenAccount: Address;
|
|
35
|
+
/** Owner's Star Atlas game profile */
|
|
24
36
|
ownerProfile: Address;
|
|
37
|
+
/** PDA bump seed */
|
|
25
38
|
bump: number;
|
|
26
39
|
};
|
|
27
40
|
export type ContractStateArgs = {
|
|
41
|
+
/** Version number for account migrations */
|
|
28
42
|
version: number;
|
|
43
|
+
/** Whether contract is scheduled for closure */
|
|
29
44
|
toClose: boolean;
|
|
45
|
+
/** Rental rate per payment period in ATLAS tokens */
|
|
30
46
|
rate: number | bigint;
|
|
47
|
+
/** Minimum rental duration in seconds */
|
|
31
48
|
durationMin: number | bigint;
|
|
49
|
+
/** Maximum rental duration in seconds */
|
|
32
50
|
durationMax: number | bigint;
|
|
51
|
+
/** Payment frequency string (@hourly, @daily, etc.) */
|
|
33
52
|
paymentsFeq: string;
|
|
53
|
+
/** Fleet associated with this contract */
|
|
34
54
|
fleet: Address;
|
|
55
|
+
/** Game ID for SAGE integration */
|
|
35
56
|
gameId: Address;
|
|
57
|
+
/** Currently active rental state (system_program::ID if none) */
|
|
36
58
|
currentRentalState: Address;
|
|
59
|
+
/** Fleet owner who receives payments */
|
|
37
60
|
owner: Address;
|
|
61
|
+
/** Owner's token account for receiving payments */
|
|
38
62
|
ownerTokenAccount: Address;
|
|
63
|
+
/** Owner's Star Atlas game profile */
|
|
39
64
|
ownerProfile: Address;
|
|
65
|
+
/** PDA bump seed */
|
|
40
66
|
bump: number;
|
|
41
67
|
};
|
|
42
68
|
export declare function getContractStateEncoder(): Encoder<ContractStateArgs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractState.d.ts","sourceRoot":"","sources":["../../../../src/codama/accounts/contractState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contractState.d.ts","sourceRoot":"","sources":["../../../../src/codama/accounts/contractState.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAOL,mBAAmB,EACnB,oBAAoB,EAoBpB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,4BAA4B,yBAEvC,CAAC;AAEH,wBAAgB,kCAAkC,uBAIjD;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,kBAAkB,CAAC;IAClC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sCAAsC;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,yCAAyC;IACzC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,yCAAyC;IACzC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sCAAsC;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAoBpE;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC,CAiBhE;AAED,wBAAgB,qBAAqB,IAAI,KAAK,CAC5C,iBAAiB,EACjB,aAAa,CACd,CAEA;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAClE,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACpC,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAClE,cAAc,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAC5C,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAUzC,wBAAsB,kBAAkB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EACvE,GAAG,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAC9C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAI3C;AAED,wBAAsB,uBAAuB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAC5E,GAAG,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAC9C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAGhD;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAC/C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAQnC;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAC/C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAGxC"}
|
|
@@ -10,29 +10,47 @@ export declare const RENTAL_STATE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
|
10
10
|
export declare function getRentalStateDiscriminatorBytes(): ReadonlyUint8Array;
|
|
11
11
|
export type RentalState = {
|
|
12
12
|
discriminator: ReadonlyUint8Array;
|
|
13
|
+
/** Version number for account migrations */
|
|
13
14
|
version: number;
|
|
15
|
+
/** Borrower public key (receives refunds if cancelled) */
|
|
14
16
|
borrower: Address;
|
|
17
|
+
/** Clockwork thread for automated payments */
|
|
15
18
|
thread: Address;
|
|
19
|
+
/** Reference to the rental contract */
|
|
16
20
|
contract: Address;
|
|
21
|
+
/** Owner's token account for receiving payments */
|
|
17
22
|
ownerTokenAccount: Address;
|
|
18
|
-
|
|
23
|
+
/** Effective rental rate per payment cycle */
|
|
19
24
|
rate: number;
|
|
25
|
+
/** Rental start timestamp */
|
|
20
26
|
startTime: bigint;
|
|
27
|
+
/** Rental end timestamp */
|
|
21
28
|
endTime: bigint;
|
|
29
|
+
/** Whether rental was cancelled early */
|
|
22
30
|
cancelled: boolean;
|
|
31
|
+
/** PDA bump seed */
|
|
23
32
|
bump: number;
|
|
24
33
|
};
|
|
25
34
|
export type RentalStateArgs = {
|
|
35
|
+
/** Version number for account migrations */
|
|
26
36
|
version: number;
|
|
37
|
+
/** Borrower public key (receives refunds if cancelled) */
|
|
27
38
|
borrower: Address;
|
|
39
|
+
/** Clockwork thread for automated payments */
|
|
28
40
|
thread: Address;
|
|
41
|
+
/** Reference to the rental contract */
|
|
29
42
|
contract: Address;
|
|
43
|
+
/** Owner's token account for receiving payments */
|
|
30
44
|
ownerTokenAccount: Address;
|
|
31
|
-
|
|
45
|
+
/** Effective rental rate per payment cycle */
|
|
32
46
|
rate: number;
|
|
47
|
+
/** Rental start timestamp */
|
|
33
48
|
startTime: number | bigint;
|
|
49
|
+
/** Rental end timestamp */
|
|
34
50
|
endTime: number | bigint;
|
|
51
|
+
/** Whether rental was cancelled early */
|
|
35
52
|
cancelled: boolean;
|
|
53
|
+
/** PDA bump seed */
|
|
36
54
|
bump: number;
|
|
37
55
|
};
|
|
38
56
|
export declare function getRentalStateEncoder(): Encoder<RentalStateArgs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rentalState.d.ts","sourceRoot":"","sources":["../../../../src/codama/accounts/rentalState.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,mBAAmB,EACnB,oBAAoB,EAkBpB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,0BAA0B,yBAErC,CAAC;AAEH,wBAAgB,gCAAgC,uBAI/C;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,kBAAkB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"rentalState.d.ts","sourceRoot":"","sources":["../../../../src/codama/accounts/rentalState.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,15 @@ export declare const SRSLY_ERROR__INVALID_DURATION_MINIMUM_ALIGNMENT = 6021;
|
|
|
54
54
|
export declare const SRSLY_ERROR__INVALID_DURATION_MAXIMUM_ALIGNMENT = 6022;
|
|
55
55
|
/** RentalNotExpired: Rental has not expired yet. Cannot close contract with active rental. */
|
|
56
56
|
export declare const SRSLY_ERROR__RENTAL_NOT_EXPIRED = 6023;
|
|
57
|
-
|
|
57
|
+
/** InvalidAccountOwner: Account is owned by the wrong program. */
|
|
58
|
+
export declare const SRSLY_ERROR__INVALID_ACCOUNT_OWNER = 6024;
|
|
59
|
+
/** InvalidAccountData: Account data is invalid or corrupted. */
|
|
60
|
+
export declare const SRSLY_ERROR__INVALID_ACCOUNT_DATA = 6025;
|
|
61
|
+
/** UnauthorizedAccess: Unauthorized access to this resource. */
|
|
62
|
+
export declare const SRSLY_ERROR__UNAUTHORIZED_ACCESS = 6026;
|
|
63
|
+
/** ArithmeticOverflow: Arithmetic overflow occurred in calculation. */
|
|
64
|
+
export declare const SRSLY_ERROR__ARITHMETIC_OVERFLOW = 6027;
|
|
65
|
+
export type SrslyError = typeof SRSLY_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM | typeof SRSLY_ERROR__ARITHMETIC_OVERFLOW | typeof SRSLY_ERROR__CONTRACT_CLOSED | typeof SRSLY_ERROR__DEV_ONLY_FREQUENCY | typeof SRSLY_ERROR__EXPECTED_DAILY_FREQUENCY | typeof SRSLY_ERROR__FLEET_ALREADY_RENTED | typeof SRSLY_ERROR__INSUFFICIENT_CANCELLATION_NOTICE | typeof SRSLY_ERROR__INVALID_ACCOUNT_DATA | typeof SRSLY_ERROR__INVALID_ACCOUNT_OWNER | typeof SRSLY_ERROR__INVALID_ATLAS_CONVERSION_RATE | typeof SRSLY_ERROR__INVALID_DURATION_MAXIMUM | typeof SRSLY_ERROR__INVALID_DURATION_MAXIMUM_ALIGNMENT | typeof SRSLY_ERROR__INVALID_DURATION_MINIMUM | typeof SRSLY_ERROR__INVALID_DURATION_MINIMUM_ALIGNMENT | typeof SRSLY_ERROR__INVALID_FEE_RATE | typeof SRSLY_ERROR__INVALID_OWNER_PROFILE | typeof SRSLY_ERROR__INVALID_PAYMENT_FREQUENCY | typeof SRSLY_ERROR__INVALID_RATE | typeof SRSLY_ERROR__INVALID_RATE_CALCULATION | typeof SRSLY_ERROR__INVALID_RENTAL_DURATION | typeof SRSLY_ERROR__INVALID_SUB_PROFILE_INVALIDATOR | typeof SRSLY_ERROR__INVALID_THREAD_CONTEXT | typeof SRSLY_ERROR__RENTAL_IS_ACTIVE | typeof SRSLY_ERROR__RENTAL_NOT_EXPIRED | typeof SRSLY_ERROR__RENTAL_STATE_EXISTS | typeof SRSLY_ERROR__UNAUTHORIZED_ACCESS | typeof SRSLY_ERROR__UNAUTHORIZED_CONFIG_UPDATE | typeof SRSLY_ERROR__UNSUPPORTED_MIGRATION_VERSION;
|
|
58
66
|
export declare function getSrslyErrorMessage(code: SrslyError): string;
|
|
59
67
|
export declare function isSrslyError<TProgramErrorCode extends SrslyError>(error: unknown, transactionMessage: {
|
|
60
68
|
instructions: Record<number, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"srsly.d.ts","sourceRoot":"","sources":["../../../../src/codama/errors/srsly.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,uCAAuC,EAC5C,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAGrB,oGAAoG;AACpG,eAAO,MAAM,qCAAqC,OAAS,CAAC;AAC5D,+GAA+G;AAC/G,eAAO,MAAM,qCAAqC,OAAS,CAAC;AAC5D,mGAAmG;AACnG,eAAO,MAAM,qCAAqC,OAAS,CAAC;AAC5D,8EAA8E;AAC9E,eAAO,MAAM,iCAAiC,OAAS,CAAC;AACxD,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,OAAS,CAAC;AAChD,8GAA8G;AAC9G,eAAO,MAAM,sCAAsC,OAAS,CAAC;AAC7D,qEAAqE;AACrE,eAAO,MAAM,4CAA4C,OAAS,CAAC;AACnE,+GAA+G;AAC/G,eAAO,MAAM,6CAA6C,OAAS,CAAC;AACpE,8CAA8C;AAC9C,eAAO,MAAM,4BAA4B,OAAS,CAAC;AACnD,uEAAuE;AACvE,eAAO,MAAM,+BAA+B,OAAS,CAAC;AACtD,wFAAwF;AACxF,eAAO,MAAM,qCAAqC,OAAS,CAAC;AAC5D,4DAA4D;AAC5D,eAAO,MAAM,mCAAmC,OAAS,CAAC;AAC1D,8CAA8C;AAC9C,eAAO,MAAM,6BAA6B,OAAS,CAAC;AACpD,0EAA0E;AAC1E,eAAO,MAAM,gCAAgC,OAAS,CAAC;AACvD,8EAA8E;AAC9E,eAAO,MAAM,0CAA0C,OAAS,CAAC;AACjE,wGAAwG;AACxG,eAAO,MAAM,6BAA6B,OAAS,CAAC;AACpD,yFAAyF;AACzF,eAAO,MAAM,oCAAoC,OAAS,CAAC;AAC3D,+EAA+E;AAC/E,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAC9D,yFAAyF;AACzF,eAAO,MAAM,0CAA0C,OAAS,CAAC;AACjE,yFAAyF;AACzF,eAAO,MAAM,2CAA2C,OAAS,CAAC;AAClE,0FAA0F;AAC1F,eAAO,MAAM,kCAAkC,OAAS,CAAC;AACzD,8GAA8G;AAC9G,eAAO,MAAM,+CAA+C,OAAS,CAAC;AACtE,8GAA8G;AAC9G,eAAO,MAAM,+CAA+C,OAAS,CAAC;AACtE,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B,OAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"srsly.d.ts","sourceRoot":"","sources":["../../../../src/codama/errors/srsly.ts"],"names":[],"mappings":"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"}
|