Tilausten delegointiohjelman avulla kehittäjät voivat antaa käyttäjien valtuuttaa tulevia token-siirtoja lompakostaan selkein rajoituksin. Se on suunniteltu toistuville maksuille, tilauksille, kauppiaslaskutukselle ja muille toimintamalleille, joissa käyttäjän ei pitäisi joutua allekirjoittamaan jokaista siirtoa manuaalisesti.
Tarkoitus
Solanan token-tilit voivat hyväksyä toisen valtuuden siirtämään tokeneita, mutta jokaisella token-tilillä voi olla vain yksi hyväksytty valtuus kerrallaan. Tämä tekee vaikeaksi yhden lompakon turvallisen tukemisen useille saman tokenin kulutussopimuksille, kuten kuukausittaiselle tilaukselle, kiinteälle kulutusrajalle ja kauppiaslaskutussopimukselle.
Tämä ohjelma ratkaisee tämän antamalla jokaiselle (user, token mint)-parille
ohjelman hallitseman tilausvaltuuden. Käyttäjän token-tili hyväksyy kyseisen
valtuuden kerran. Ohjelma tarkistaa sitten jokaisen pyydetyn siirron erillisestä
tietueesta, joka määrittelee kuka voi nostaa varoja, kuinka paljon he voivat
nostaa ja milloin valtuutus vanhenee tai nollautuu.
Tilausvaltuus ei voi siirtää varoja itse. Siirto onnistuu vain, kun se vastaa yhtä käyttäjän aktiivisista valtuutuksista.
Ohjelmatunnus
De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44
Ohjelmatunnus on määritelty tiedostossa program/src/lib.rs. Paikalliset
Surfpool-työnkulut asentavat ohjelman tähän kanoniseen osoitteeseen.
Delegointimallit
Ohjelma tukee kolmea valtuutusmallia:
| Malli | Tarkoitus |
|---|---|
| Kiinteä delegointi | Anna toisen lompakon tai palvelun käyttää enintään kiinteä kokonaisumma, valinnaisesti vanhenemisaikaan asti. |
| Toistuva delegointi | Anna toisen lompakon tai palvelun käyttää enintään raja, joka nollautuu joka jakso, kuten päivittäin, viikoittain tai kuukausittain. |
| Tilaussuunnitelma | Anna kauppiaan julkaista laskutusehdot, jotka käyttäjät voivat hyväksyä, ja salli hyväksyttyjen keräilijöiden veloittaa tilaajia joka laskutusjakso. |
Tuetut tokenit
Ohjelma tukee sekä SPL Token- että Token-2022-standardeilla luotuja tokeneita.
Ainoa Token-2022-laajennus, jonka se hylkää, on määritetty TransferHook (jossa
koukku authority tai program_id on asetettu). Passiivinen TransferHook
(molemmat asettamatta, ja siten pysyvästi muuttumaton) sekä kaikki muut
laajennukset ovat sallittuja.
Lohkoketjutapahtumat
Ohjelma lähettää lohkoketjutapahtumia, jotta indeksoijat ja sovellukset voivat seurata tärkeää toimintaa. Nämä tapahtumat kattavat tilausmuutokset ja siirrot, jotka on tehty kiinteiden, toistuivien ja tilaussuunnitelmatyönkulkujen kautta.
Versiointi
Ohjelman omistamat tietueet sisältävät versiotiedon. Tämä antaa ohjelmalle tavan päivittää tilitietoja ajan mittaan rikkomatta olemassa olevia käyttäjiä. Migraatiostrategia tukee:
- Laiskaa paikan päällä tapahtuvaa päivitystä
- Eksplisiittistä siirto-ohjetta
- Kumoamisen ja uudelleenluonnin varatoimintoa
Osallistujat
Projektia ylläpitävät
solana-program/subscriptions-repositorion
osallistujat.
Auditoinnin tila
Ohjelman on auditoinut Cantina. Auditoinnin tilaa, lähtökohtaista committia,
korjauksen varmistettua committia ja nykyistä auditoimatonta muutosta seurataan
repositorion
audits/-hakemistossa.
Demosovellus
Jos haluat kokeilla ohjelmaa itse, voit tarkastella esimerkkisovellusta täältä nähdäksesi tässä osiossa käsiteltyjen käsitteiden päästä päähän -toteutuksen.
Is this page helpful?