@render-foundation/utils 0.0.2 → 0.0.5
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/lib/cjs/index.js +2 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/pgClient.js +108 -52
- package/lib/cjs/pgClient.js.map +1 -1
- package/lib/cjs/renderClient.js +68 -0
- package/lib/cjs/renderClient.js.map +1 -0
- package/lib/cjs/squadsV3.js +62 -0
- package/lib/cjs/squadsV3.js.map +1 -0
- package/lib/esm/src/index.js +2 -0
- package/lib/esm/src/index.js.map +1 -1
- package/lib/esm/src/pgClient.js +104 -53
- package/lib/esm/src/pgClient.js.map +1 -1
- package/lib/esm/src/renderClient.js +51 -0
- package/lib/esm/src/renderClient.js.map +1 -0
- package/lib/esm/src/squadsV3.js +46 -0
- package/lib/esm/src/squadsV3.js.map +1 -0
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/dbTypes.d.ts +12 -0
- package/lib/types/src/dbTypes.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +2 -0
- package/lib/types/src/index.d.ts.map +1 -1
- package/lib/types/src/pgClient.d.ts +9 -2
- package/lib/types/src/pgClient.d.ts.map +1 -1
- package/lib/types/src/renderClient.d.ts +9 -0
- package/lib/types/src/renderClient.d.ts.map +1 -0
- package/lib/types/src/squadsV3.d.ts +7 -0
- package/lib/types/src/squadsV3.d.ts.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export const renderClient = (authToken) => {
|
|
2
|
+
const host = `rndr.x.io`;
|
|
3
|
+
return {
|
|
4
|
+
async fetchNodeOperatorRewards(startTime, endTime) {
|
|
5
|
+
const startTimeStr = startTime.toISOString().split('T')[0];
|
|
6
|
+
const endTimeStr = endTime.toISOString().split('T')[0];
|
|
7
|
+
const url = `https://${host}/api/v3/services/solana/payments?finished_after=${startTimeStr}&finished_before=${endTimeStr}`;
|
|
8
|
+
console.log(`fetching ${url}`);
|
|
9
|
+
const res = await fetch(url, { headers: { Authorization: `${authToken}` } }).then(async (res) => {
|
|
10
|
+
if (res.status != 200) {
|
|
11
|
+
throw new Error(`failed fetching node operator rewards. code: ${res.status} body: ${JSON.stringify(await res.text())}`);
|
|
12
|
+
}
|
|
13
|
+
return (await res.json());
|
|
14
|
+
});
|
|
15
|
+
const solKeyToDue = {};
|
|
16
|
+
for (const r of res.data.attributes.paymentsOwned) {
|
|
17
|
+
const [addr, amt] = Object.entries(r)[0];
|
|
18
|
+
solKeyToDue[addr] = amt;
|
|
19
|
+
}
|
|
20
|
+
return { solKeyToDue, jobIds: res.meta.jobIds };
|
|
21
|
+
},
|
|
22
|
+
async markJobsPayed(ids, finishedAfter, finishedBefore, totalDistributed) {
|
|
23
|
+
const payload = {
|
|
24
|
+
data: {
|
|
25
|
+
attributes: {
|
|
26
|
+
finished_after: finishedAfter.toISOString().split('T')[0],
|
|
27
|
+
finished_before: finishedBefore.toISOString().split('T')[0],
|
|
28
|
+
job_ids: ids,
|
|
29
|
+
total_distributed: totalDistributed
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const res = await fetch(`https://${host}/api/v3/services/solana/payments`, {
|
|
34
|
+
method: 'POST',
|
|
35
|
+
headers: {
|
|
36
|
+
'Authorization': `${authToken}`,
|
|
37
|
+
'Content-Type': `application/json`
|
|
38
|
+
},
|
|
39
|
+
body: JSON.stringify(payload)
|
|
40
|
+
}).then(async (res) => {
|
|
41
|
+
if (res.status != 201) {
|
|
42
|
+
throw new Error(`failed posting node operator rewards. code: ${res.status} body: ${JSON.stringify(await res.text())}`);
|
|
43
|
+
}
|
|
44
|
+
return (await res.text());
|
|
45
|
+
});
|
|
46
|
+
console.log(`markJobsPayed ${res}`);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=renderClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderClient.js","sourceRoot":"","sources":["../../../src/renderClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DEFAULT_MULTISIG_PROGRAM_ID, getAuthorityPDA, getTxPDA } from "@sqds/sdk";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import { Transaction } from "@solana/web3.js";
|
|
4
|
+
import { sendAndConfirmWithRetry } from "@render-foundation/spl-utils";
|
|
5
|
+
export const executeSqV3Transaction = async (connection, squadsMsKey, clients, instrs) => {
|
|
6
|
+
const msAuthorityK = getAuthorityPDA(squadsMsKey, new BN(1), DEFAULT_MULTISIG_PROGRAM_ID)[0];
|
|
7
|
+
let txPDA;
|
|
8
|
+
const primClient = clients[0];
|
|
9
|
+
const txIdx = await primClient.getNextTransactionIndex(squadsMsKey);
|
|
10
|
+
txPDA = getTxPDA(squadsMsKey, new BN(txIdx), DEFAULT_MULTISIG_PROGRAM_ID)[0];
|
|
11
|
+
let createTx = new Transaction()
|
|
12
|
+
.add(await primClient.buildCreateTransaction(squadsMsKey, 1, txIdx));
|
|
13
|
+
let instrIdx = 1;
|
|
14
|
+
for (const i of instrs) {
|
|
15
|
+
createTx.add(await primClient.buildAddInstruction(squadsMsKey, txPDA, i, instrIdx));
|
|
16
|
+
instrIdx += 1;
|
|
17
|
+
}
|
|
18
|
+
createTx.add(await primClient.buildActivateTransaction(squadsMsKey, txPDA));
|
|
19
|
+
for (const c of clients) {
|
|
20
|
+
createTx.add(await c.buildApproveTransaction(squadsMsKey, txPDA));
|
|
21
|
+
}
|
|
22
|
+
createTx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
|
|
23
|
+
createTx.feePayer = primClient.wallet.publicKey;
|
|
24
|
+
for (const c of clients) {
|
|
25
|
+
createTx = await c.wallet.signTransaction(createTx);
|
|
26
|
+
}
|
|
27
|
+
//createTx.sign(sharedMsKp, authorityKp)
|
|
28
|
+
await sendAndConfirmWithRetry(connection, createTx.serialize(), {
|
|
29
|
+
skipPreflight: true,
|
|
30
|
+
maxRetries: 10,
|
|
31
|
+
}, 'finalized');
|
|
32
|
+
console.log(`created tx ${txPDA}`);
|
|
33
|
+
console.log(`executing tx ${txPDA}`);
|
|
34
|
+
let execTx = new Transaction().add(await primClient.buildExecuteTransaction(txPDA, primClient.wallet.publicKey));
|
|
35
|
+
execTx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
|
|
36
|
+
execTx.feePayer = primClient.wallet.publicKey;
|
|
37
|
+
execTx = await primClient.wallet.signTransaction(execTx);
|
|
38
|
+
//execTx.sign(args.solFeePayerKp)
|
|
39
|
+
const { txid } = await sendAndConfirmWithRetry(connection, execTx.serialize(), {
|
|
40
|
+
skipPreflight: true,
|
|
41
|
+
maxRetries: 10,
|
|
42
|
+
}, 'confirmed');
|
|
43
|
+
console.log(`executed ${txid}`);
|
|
44
|
+
return { txSig: txid, txPDA };
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=squadsV3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"squadsV3.js","sourceRoot":"","sources":["../../../src/squadsV3.ts"],"names":[],"mappings":"AAAA,OAAe,EAAC,2BAA2B,EAAE,eAAe,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAgC,WAAW,EAAyB,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,UAAsB,EACtB,WAAsB,EACtB,OAAiB,EACjB,MAAgC,EACY,EAAE;IAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5F,IAAI,KAAgB,CAAC;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAA;IACnE,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5E,IAAI,QAAQ,GAAG,IAAI,WAAW,EAAE;SAC7B,GAAG,CAAC,MAAM,UAAU,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAEtE,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;QACtB,QAAQ,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACnF,QAAQ,IAAI,CAAC,CAAA;KACd;IACD,QAAQ,CAAC,GAAG,CACV,MAAM,UAAU,CAAC,wBAAwB,CAAC,WAAW,EAAE,KAAK,CAAC,CAC9D,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACxB,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;KACjE;IACD,QAAQ,CAAC,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAA;IAC5E,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAA;IAC/C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACvB,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;KACpD;IACD,wCAAwC;IACxC,MAAM,uBAAuB,CAC3B,UAAU,EACV,QAAQ,CAAC,SAAS,EAAE,EACpB;QACE,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,EAAE;KACf,EACD,WAAW,CACZ,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAA;IACpC,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAChH,MAAM,CAAC,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAA;IAC1E,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAA;IAC7C,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACxD,iCAAiC;IACjC,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,uBAAuB,CAC1C,UAAU,EACV,MAAM,CAAC,SAAS,EAAE,EAClB;QACE,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,EAAE;KACf,EACD,WAAW,CACZ,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;IAC/B,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,CAAA;AAC7B,CAAC,CAAA"}
|