File size: 4,455 Bytes
96dc096
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/**

 * write_worm.c

 * ู…ุซุงู„ ูƒุชุงุจุฉ WORM - ุงู„ูƒุชุงุจุฉ ุบูŠุฑ ุงู„ู‚ุงุจู„ุฉ ู„ู„ุชุบูŠูŠุฑ

 * WORM Write Example - Immutable Write Intent

 *

 * Demonstrates WORM-sealed durable write with ASOS.

 *

 * Author: Ahmad Ali Parr

 * License: Sovereign Source

 */

#include "../libasos.h"
#include <stdio.h>
#include <string.h>

int main(void)
{
    printf("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n");
    printf("  ASOS WORM Write Example\n");
    printf("  ู…ุซุงู„ ุงู„ูƒุชุงุจุฉ ุบูŠุฑ ุงู„ู‚ุงุจู„ุฉ ู„ู„ุชุบูŠูŠุฑ\n");
    printf("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n\n");

    /* Initialize */
    if (asos_init() < 0) {
        fprintf(stderr, "Failed to initialize ASOS\n");
        return 1;
    }

    /* Create write intent */
    asos_intent_t *intent = asos_intent_new(ASOS_INTENT_IO_WRITE,
                                            ASOS_PRIORITY_HIGH);
    if (!intent) {
        fprintf(stderr, "Failed to create intent\n");
        asos_cleanup();
        return 1;
    }

    /* Set goal: durable write with WORM seal and replication */
    if (asos_intent_set_goal(intent,
            "persist:durability=WORM,replication=3,fsync=true") < 0) {
        fprintf(stderr, "Failed to set goal\n");
        asos_intent_free(intent);
        asos_cleanup();
        return 1;
    }

    /* Set payload: sovereign financial data */
    const char *data =
        "TRANSACTION_ID=TX_2026_08_08_001\n"
        "AMOUNT=125000.00\n"
        "CURRENCY=USD\n"
        "FROM=ACCOUNT_A\n"
        "TO=ACCOUNT_B\n"
        "TIMESTAMP=1723142400\n"
        "SOVEREIGN_SEAL=WORM\n";

    if (asos_intent_set_payload(intent, data, strlen(data)) < 0) {
        fprintf(stderr, "Failed to set payload\n");
        asos_intent_free(intent);
        asos_cleanup();
        return 1;
    }

    printf("Intent Details:\n");
    printf("  Type: IO_WRITE\n");
    printf("  Priority: HIGH\n");
    printf("  Goal: persist:durability=WORM,replication=3,fsync=true\n");
    printf("  Payload size: %zu bytes\n", strlen(data));
    printf("\n");

    printf("Payload:\n");
    printf("%s\n", data);

    printf("Submitting to KAR for WORM sealing...\n\n");

    /* Submit */
    asos_result_t *result = asos_submit_intent(intent);
    if (!result) {
        fprintf(stderr, "Failed to submit intent\n");
        asos_intent_free(intent);
        asos_cleanup();
        return 1;
    }

    /* Check result */
    int status = asos_result_status(result);
    size_t bytes = asos_result_bytes_transferred(result);
    uint64_t exec_time = asos_result_execution_time_ns(result);

    printf("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n");
    printf("  Write Result\n");
    printf("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n");
    printf("  Status: %d (%s)\n", status,
           status == 0 ? "SUCCESS" : asos_strerror(status));
    printf("  Bytes written: %zu\n", bytes);
    printf("  Execution time: %.3f ms\n", exec_time / 1000000.0);

    /* Get WORM seal (immutable proof) */
    uint8_t seal[32];
    if (asos_result_worm_seal(result, seal) == 0) {
        printf("  WORM Seal (Blake3): ");
        for (int i = 0; i < 32; i++)
            printf("%02x", seal[i]);
        printf("\n");
    }

    printf("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n");
    printf("  Data sealed to immutable chain.\n");
    printf("  ุงู„ุจูŠุงู†ุงุช ู…ุฎุชูˆู…ุฉ ููŠ ุณู„ุณู„ุฉ ุบูŠุฑ ู‚ุงุจู„ุฉ ู„ู„ุชุบูŠูŠุฑ.\n");
    printf("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n");

    /* Cleanup */
    asos_result_free(result);
    asos_intent_free(intent);
    asos_cleanup();

    return 0;
}