Diff
checker
文本
文本
圖像
文檔
Excel
文件夾
Legal
Enterprise
桌面版
定價
登入
下載 Diffchecker 桌面版
比較文本
尋找兩個文字檔案之間的差異
工具
歷史
即時編輯器
隱藏空白變更
摺疊未變更行
關閉換行
檢視
拆分
統一
比對精度
智能
單詞
字符
文字樣式
變更外觀
語法突出顯示
選擇語法
忽略
文字轉換
前往第一個差異
編輯輸入
Diffchecker Desktop
執行Diffchecker最安全的方式。取得Diffchecker桌面應用程式:您的差異永遠不會離開您的電腦!
取得桌面版
IDL diff
建立於
2 年前
差異永不過期
清除
匯出
分享
解釋
383 刪除
行
總計
刪除
字符
總計
刪除
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
755 行
全部複製
559 新增
行
總計
新增
字符
總計
新增
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
900 行
全部複製
{
{
複製
已複製
複製
已複製
"version": "0.1.0",
"address": "id11111111111111111111111111111111111111111",
"
name
": "
idl"
,
"metadata": {
"name": "idl",
"version": "0.1.0",
"
description
": "
Created with Anchor"
}
,
"docs": [
"docs": [
"IDL test program documentation."
"IDL test program documentation."
],
],
複製
已複製
複製
已複製
"
constants": [
"
instructions": [
{
Text moved to lines 895-897
"name": "U8",
"type": "u8",
"value": "6"
},
{
"name": "I128",
"type": "i128",
"value": "1_000_000"
},
{
{
複製
已複製
複製
已複製
Text moved to lines 885-887
"name": "
BYTE_STR
",
"name": "
cause_error
",
"
type": "u8",
"
discriminator": [
"
value
":
"116"
67,
104,
37,
17,
2,
155,
68,
17
],
"
accounts
":
[],
"args": []
},
},
{
{
複製
已複製
複製
已複製
Text moved with changes to lines 880-883 (97.7% similarity)
"name": "BYTES_STR",
"type": "bytes",
"value": "[116, 101, 115, 116]"
}
],
"instructions": [
{
"name": "initialize",
"name": "initialize",
複製
已複製
複製
已複製
"discriminator": [
175,
175,
109,
31,
13,
152,
155,
237
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
複製
已複製
複製
已複製
"isMut": true,
"isSigner": true,
"docs": [
"docs": [
"State account"
"State account"
複製
已複製
複製
已複製
]
]
,
"writable": true,
"signer": true
},
},
{
{
"name": "nested",
"name": "nested",
"accounts": [
"accounts": [
{
{
"name": "clock",
"name": "clock",
複製
已複製
複製
已複製
"isMut": false,
"isSigner": false,
"docs": [
"docs": [
"Sysvar clock"
"Sysvar clock"
複製
已複製
複製
已複製
]
]
,
"address": "SysvarC1ock11111111111111111111111111111111"
},
},
{
{
"name": "rent",
"name": "rent",
複製
已複製
複製
已複製
"
isMut": false,
"
address
":
"SysvarRent111111111111111111111111111111111"
"isSigner
":
false
}
}
]
]
},
},
{
{
複製
已複製
複製
已複製
"name": "zc
A
ccount"
,
"name": "zc
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
A
ccount"
,
"name": "token
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
A
ccount"
,
"name": "mint
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
I
nterface
A
ccount"
,
"name": "token
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
I
nterface
A
ccount"
,
"name": "mint
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
"name": "payer",
"name": "payer",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
複製
已複製
複製
已複製
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": []
"args": []
},
},
{
{
複製
已複製
複製
已複製
"name": "initialize
W
ith
V
alues",
"name": "initialize
_w
ith
_v
alues",
"docs": [
"docs": [
"Initializes an account with specified values"
"Initializes an account with specified values"
],
],
複製
已複製
複製
已複製
"discriminator": [
220,
73,
8,
213,
178,
69,
181,
141
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
複製
已複製
複製
已複製
"isMut": true,
"isSigner": true,
"docs": [
"docs": [
"State account"
"State account"
複製
已複製
複製
已複製
]
]
,
"writable": true,
"signer": true
},
},
{
{
"name": "nested",
"name": "nested",
"accounts": [
"accounts": [
{
{
"name": "clock",
"name": "clock",
複製
已複製
複製
已複製
"isMut": false,
"isSigner": false,
"docs": [
"docs": [
"Sysvar clock"
"Sysvar clock"
複製
已複製
複製
已複製
]
]
,
"address": "SysvarC1ock11111111111111111111111111111111"
},
},
{
{
"name": "rent",
"name": "rent",
複製
已複製
複製
已複製
"
isMut": false,
"
address
":
"SysvarRent111111111111111111111111111111111"
"isSigner
":
false
}
}
]
]
},
},
{
{
複製
已複製
複製
已複製
"name": "zc
A
ccount"
,
"name": "zc
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
A
ccount"
,
"name": "token
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
A
ccount"
,
"name": "mint
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
I
nterface
A
ccount"
,
"name": "token
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
I
nterface
A
ccount"
,
"name": "mint
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
"name": "payer",
"name": "payer",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
複製
已複製
複製
已複製
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": [
"args": [
{
{
複製
已複製
複製
已複製
"name": "bool
F
ield",
"name": "bool
_f
ield",
"type": "bool"
"type": "bool"
},
},
{
{
複製
已複製
複製
已複製
"name": "u8
F
ield",
"name": "u8
_f
ield",
"type": "u8"
"type": "u8"
},
},
{
{
複製
已複製
複製
已複製
"name": "i8
F
ield",
"name": "i8
_f
ield",
"type": "i8"
"type": "i8"
},
},
{
{
複製
已複製
複製
已複製
"name": "u16
F
ield",
"name": "u16
_f
ield",
"type": "u16"
"type": "u16"
},
},
{
{
複製
已複製
複製
已複製
"name": "i16
F
ield",
"name": "i16
_f
ield",
"type": "i16"
"type": "i16"
},
},
{
{
複製
已複製
複製
已複製
"name": "u32
F
ield",
"name": "u32
_f
ield",
"type": "u32"
"type": "u32"
},
},
{
{
複製
已複製
複製
已複製
"name": "i32
F
ield",
"name": "i32
_f
ield",
"type": "i32"
"type": "i32"
},
},
{
{
複製
已複製
複製
已複製
"name": "f32
F
ield",
"name": "f32
_f
ield",
"type": "f32"
"type": "f32"
},
},
{
{
複製
已複製
複製
已複製
"name": "u64
F
ield",
"name": "u64
_f
ield",
"type": "u64"
"type": "u64"
},
},
{
{
複製
已複製
複製
已複製
"name": "i64
F
ield",
"name": "i64
_f
ield",
"type": "i64"
"type": "i64"
},
},
{
{
複製
已複製
複製
已複製
"name": "f64
F
ield",
"name": "f64
_f
ield",
"type": "f64"
"type": "f64"
},
},
{
{
複製
已複製
複製
已複製
"name": "u128
F
ield",
"name": "u128
_f
ield",
"type": "u128"
"type": "u128"
},
},
{
{
複製
已複製
複製
已複製
"name": "i128
F
ield",
"name": "i128
_f
ield",
"type": "i128"
"type": "i128"
},
},
{
{
複製
已複製
複製
已複製
"name": "bytes
F
ield",
"name": "bytes
_f
ield",
"type": "bytes"
"type": "bytes"
},
},
{
{
複製
已複製
複製
已複製
"name": "string
F
ield",
"name": "string
_f
ield",
"type": "string"
"type": "string"
},
},
{
{
複製
已複製
複製
已複製
"name": "pubkey
F
ield",
"name": "pubkey
_f
ield",
"type": "pub
licK
ey"
"type": "pub
k
ey"
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
F
ield",
"name": "vec
_f
ield",
"type": {
"type": {
"vec": "u64"
"vec": "u64"
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
S
truct
F
ield",
"name": "vec
_s
truct
_f
ield",
"type": {
"type": {
"vec": {
"vec": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
F
ield",
"name": "option
_f
ield",
"type": {
"type": {
"option": "bool"
"option": "bool"
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
S
truct
F
ield",
"name": "option
_s
truct
_f
ield",
"type": {
"type": {
"option": {
"option": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "struct
F
ield",
"name": "struct
_f
ield",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "array
F
ield",
"name": "array
_f
ield",
"type": {
"type": {
"array": [
"array": [
"bool",
"bool",
3
3
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
1",
"name": "enum
_f
ield
_
1",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
2",
"name": "enum
_f
ield
_
2",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
3",
"name": "enum
_f
ield
_
3",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
4",
"name": "enum
_f
ield
_
4",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
}
}
]
]
},
},
{
{
複製
已複製
複製
已複製
"name": "initialize
W
ith
V
alues2",
"name": "initialize
_w
ith
_v
alues2",
"docs": [
"docs": [
"a separate instruction due to initialize_with_values having too many arguments",
"a separate instruction due to initialize_with_values having too many arguments",
"https://github.com/solana-labs/solana/issues/23978"
"https://github.com/solana-labs/solana/issues/23978"
],
],
複製
已複製
複製
已複製
"discriminator": [
248,
190,
21,
97,
239,
148,
39,
181
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
"name": "payer",
"name": "payer",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
複製
已複製
複製
已複製
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": [
"args": [
{
{
複製
已複製
複製
已複製
"name": "vec
OfO
ption",
"name": "vec
_of_o
ption",
"type": {
"type": {
"vec": {
"vec": {
"option": "u64"
"option": "u64"
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "box
F
ield",
"name": "box
_f
ield",
"type": "bool"
"type": "bool"
}
}
],
],
"returns": {
"returns": {
複製
已複製
複製
已複製
"defined"
: "SomeRetStruct"
"defined"
: {
"name"
: "SomeRetStruct"
}
}
}
複製
已複製
複製
已複製
},
{
"name": "causeError",
"accounts": [],
"args": []
}
}
],
],
"accounts": [
"accounts": [
{
{
複製
已複製
複製
已複製
"name": "SomeZcAccount",
"discriminator": [
56,
72,
82,
194,
210,
35,
17,
191
]
},
{
"name": "State",
"discriminator": [
216,
146,
107,
94,
104,
75,
182,
177
]
},
{
"name": "State2",
"discriminator": [
106,
97,
255,
161,
250,
205,
185,
192
]
}
],
"events": [
{
"name": "SomeEvent",
"discriminator": [
39,
221,
150,
148,
91,
206,
29,
Text moved with changes from lines 735-739 (97.9% similarity)
93
]
}
],
"errors": [
{
Text moved from lines 741-743
"code": 6000,
"name": "SomeError",
"msg": "Example error."
},
{
Text moved from lines 746-748
"code": 6001,
"name": "OtherError",
"msg": "Another error."
},
{
"code": 6002,
"name": "ErrorWithoutMsg"
Text moved with changes from lines 525-529 (98.4% similarity)
}
],
"types": [
{
"name": "BarStruct",
"docs": [
"Bar struct type"
],
"type": {
"kind": "struct",
"fields": [
{
Text moved with changes from lines 549-556 (99.2% similarity)
"name": "some_field",
"docs": [
"Some field"
],
"type": "bool"
},
{
"name": "other_field",
"type": "u8"
}
]
}
Text moved with changes from lines 629-644 (99.0% similarity)
},
{
"name": "FooEnum",
"docs": [
"Enum type"
],
"type": {
"kind": "enum",
"variants": [
{
"name": "Unnamed",
"fields": [
"bool",
"u8",
{
"defined": {
"name": "BarStruct"
}
}
]
},
{
"name": "UnnamedSingle",
"fields": [
{
"defined": {
"name": "BarStruct"
}
}
]
},
{
"name": "Named",
Text moved with changes from lines 656-682 (78.9% similarity)
"fields": [
{
"name": "bool_field",
"docs": [
"A bool field inside a struct tuple kind"
],
"type": "bool"
},
{
"name": "u8_field",
"type": "u8"
},
{
"name": "nested",
"type": {
"defined": {
"name": "BarStruct"
}
}
}
]
},
{
"name": "Struct",
"fields": [
{
"defined": {
"name": "BarStruct"
}
}
]
},
{
"name": "OptionStruct",
"fields": [
{
Text moved with changes from lines 688-701 (90.6% similarity)
"option": {
"defined": {
"name": "BarStruct"
}
}
}
]
},
{
"name": "VecStruct",
"fields": [
{
"vec": {
"defined": {
"name": "BarStruct"
}
}
}
]
},
{
"name": "NoFields"
}
]
}
},
{
Text moved with changes from lines 563-578 (98.9% similarity)
"name": "FooStruct",
"type": {
"kind": "struct",
"fields": [
{
"name": "field1",
"type": "u8"
},
{
"name": "field2",
"type": "u16"
},
{
"name": "nested",
"type": {
"defined": {
"name": "BarStruct"
}
Text moved with changes from lines 579-585 (97.2% similarity)
}
},
{
"name": "vec_nested",
"type": {
"vec": {
"defined": {
"name": "BarStruct"
}
}
}
},
{
"name": "option_nested",
"type": {
"option": {
"defined": {
"name": "BarStruct"
}
}
}
},
{
"name": "enum_field",
"type": {
"defined": {
"name": "FooEnum"
}
Text moved with changes from lines 601-615 (96.2% similarity)
}
}
]
}
},
{
"name": "SomeEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "bool_field",
"type": "bool"
},
{
"name": "external_my_struct",
"type": {
"defined": {
"name": "external::MyStruct"
}
}
},
{
"name": "other_module_my_struct",
"type": {
"defined": {
"name": "idl::some_other_module::MyStruct"
}
}
}
]
}
},
{
"name": "SomeRetStruct",
"type": {
"kind": "struct",
"fields": [
{
"name": "some_field",
"type": "u8"
}
]
}
},
{
"name": "SomeZcAccount",
"serialization": "bytemuck",
"repr": {
"kind": "c"
},
Text moved with changes from lines 514-520 (97.7% similarity)
"type": {
"kind": "struct",
"fields": [
{
"name": "field",
"type": {
"defined": {
"name": "ZcStruct"
}
}
}
]
}
},
{
"name": "State",
"name": "State",
"docs": [
"docs": [
"An account containing various fields"
"An account containing various fields"
],
],
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "bool
F
ield",
"name": "bool
_f
ield",
"docs": [
"docs": [
"A boolean field"
"A boolean field"
],
],
"type": "bool"
"type": "bool"
},
},
{
{
複製
已複製
複製
已複製
"name": "u8
F
ield",
"name": "u8
_f
ield",
"type": "u8"
"type": "u8"
},
},
{
{
複製
已複製
複製
已複製
"name": "i8
F
ield",
"name": "i8
_f
ield",
"type": "i8"
"type": "i8"
},
},
{
{
複製
已複製
複製
已複製
"name": "u16
F
ield",
"name": "u16
_f
ield",
"type": "u16"
"type": "u16"
},
},
{
{
複製
已複製
複製
已複製
"name": "i16
F
ield",
"name": "i16
_f
ield",
"type": "i16"
"type": "i16"
},
},
{
{
複製
已複製
複製
已複製
"name": "u32
F
ield",
"name": "u32
_f
ield",
"type": "u32"
"type": "u32"
},
},
{
{
複製
已複製
複製
已複製
"name": "i32
F
ield",
"name": "i32
_f
ield",
"type": "i32"
"type": "i32"
},
},
{
{
複製
已複製
複製
已複製
"name": "f32
F
ield",
"name": "f32
_f
ield",
"type": "f32"
"type": "f32"
},
},
{
{
複製
已複製
複製
已複製
"name": "u64
F
ield",
"name": "u64
_f
ield",
"type": "u64"
"type": "u64"
},
},
{
{
複製
已複製
複製
已複製
"name": "i64
F
ield",
"name": "i64
_f
ield",
"type": "i64"
"type": "i64"
},
},
{
{
複製
已複製
複製
已複製
"name": "f64
F
ield",
"name": "f64
_f
ield",
"type": "f64"
"type": "f64"
},
},
{
{
複製
已複製
複製
已複製
"name": "u128
F
ield",
"name": "u128
_f
ield",
"type": "u128"
"type": "u128"
},
},
{
{
複製
已複製
複製
已複製
"name": "i128
F
ield",
"name": "i128
_f
ield",
"type": "i128"
"type": "i128"
},
},
{
{
複製
已複製
複製
已複製
"name": "bytes
F
ield",
"name": "bytes
_f
ield",
"type": "bytes"
"type": "bytes"
},
},
{
{
複製
已複製
複製
已複製
"name": "string
F
ield",
"name": "string
_f
ield",
"type": "string"
"type": "string"
},
},
{
{
複製
已複製
複製
已複製
"name": "pubkey
F
ield",
"name": "pubkey
_f
ield",
"type": "pub
licK
ey"
"type": "pub
k
ey"
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
F
ield",
"name": "vec
_f
ield",
"type": {
"type": {
"vec": "u64"
"vec": "u64"
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
S
truct
F
ield",
"name": "vec
_s
truct
_f
ield",
"type": {
"type": {
"vec": {
"vec": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
F
ield",
"name": "option
_f
ield",
"type": {
"type": {
"option": "bool"
"option": "bool"
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
S
truct
F
ield",
"name": "option
_s
truct
_f
ield",
"type": {
"type": {
"option": {
"option": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "struct
F
ield",
"name": "struct
_f
ield",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "array
F
ield",
"name": "array
_f
ield",
"type": {
"type": {
"array": [
"array": [
"bool",
"bool",
3
3
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
1",
"name": "enum
_f
ield
_
1",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
2",
"name": "enum
_f
ield
_
2",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
3",
"name": "enum
_f
ield
_
3",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
4",
"name": "enum
_f
ield
_
4",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
}
}
]
]
}
}
},
},
{
{
"name": "State2",
"name": "State2",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "vec
OfO
ption",
"name": "vec
_of_o
ption",
"type": {
"type": {
"vec": {
"vec": {
"option": "u64"
"option": "u64"
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "box
F
ield",
"name": "box
_f
ield",
"type": "bool"
"type": "bool"
}
}
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "
SomeZcAccount
",
"name": "
ZcStruct
",
Text moved with changes to lines 644-650 (97.7% similarity)
"
type
": {
"
serialization": "bytemuck",
"kind": "
struct",
"repr
": {
"fields": [
"kind": "
c"
{
},
"name": "field",
"type": {
"defined": "ZcStruct"
}
}
]
}
Text moved with changes to lines 427-431 (98.4% similarity)
}
],
"types": [
{
"name": "MyStruct",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "some
U8
",
"name": "some
_field
",
"type": "
u8
"
"type": "
u16
"
}
}
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "
BarStruct",
"name": "
external::MyStruct",
"docs": [
"Bar struct type"
],
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
Text moved with changes to lines 439-446 (99.2% similarity)
"name": "
someField",
"name": "
some_field",
"docs": [
"Some field"
],
"type": "bool"
},
{
"name": "otherField",
"type": "u8"
"type": "u8"
}
}
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
Text moved with changes to lines 547-562 (98.9% similarity)
"name": "
FooStruct",
"name": "
idl::some_other_module::MyStruct",
"type": {
"kind": "struct",
"fields": [
{
"name": "field1",
"type": "u8"
},
{
"name": "field2",
"type": "u16"
},
{
"name": "nested",
"type": {
"defined": "BarStruct"
Text moved with changes to lines 565-571 (97.2% similarity)
}
},
{
"name": "vecNested",
"type": {
"vec": {
"defined": "BarStruct"
}
}
},
{
"name": "optionNested",
"type": {
"option": {
"defined": "BarStruct"
}
}
},
{
"name": "enumField",
"type": {
"defined": "FooEnum"
Text moved with changes to lines 593-607 (96.2% similarity)
}
}
]
}
},
{
"name": "ZcStruct",
"type": {
"kind": "struct",
"fields": [
{
"name": "someField",
"type": "u16"
}
]
}
},
{
"name": "SomeRetStruct",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "
someField
",
"name": "
some_u8
",
"type": "u8"
"type": "u8"
}
}
]
]
}
}
複製
已複製
複製
已複製
Text moved with changes to lines 451-466 (99.0% similarity)
},
{
"name": "FooEnum",
"docs": [
"Enum type"
],
"type": {
"kind": "enum",
"variants": [
{
"name": "Unnamed",
"fields": [
"bool",
"u8",
{
"defined": "BarStruct"
}
]
},
{
"name": "UnnamedSingle",
"fields": [
{
"defined": "BarStruct"
}
]
},
Text moved with changes to lines 484-510 (78.9% similarity)
{
"name": "Named",
"fields": [
{
"name": "boolField",
"docs": [
"A bool field inside a struct tuple kind"
],
"type": "bool"
},
{
"name": "u8Field",
"type": "u8"
},
{
"name": "nested",
"type": {
"defined": "BarStruct"
}
}
]
},
{
"name": "Struct",
"fields": [
{
"defined": "BarStruct"
}
]
},
{
"name": "OptionStruct",
Text moved with changes to lines 520-533 (90.6% similarity)
"fields": [
{
"option": {
"defined": "BarStruct"
}
}
]
},
{
"name": "VecStruct",
"fields": [
{
"vec": {
"defined": "BarStruct"
}
}
]
},
{
"name": "NoFields"
}
]
}
}
}
],
],
複製
已複製
複製
已複製
"
events
": [
"
constants
": [
{
{
複製
已複製
複製
已複製
Text moved with changes from lines 24-27 (97.7% similarity)
"name": "
SomeEvent
",
"name": "
BYTES_STR
",
"fields": [
"type": "bytes",
{
"value": "[116, 101, 115, 116]"
"name": "boolField",
},
"type": "bool",
"index": false
},
{
"name": "externalMyStruct",
"type": {
"defined": "external::MyStruct"
},
"index": false
},
{
"name": "otherModuleMyStruct",
"type": {
"defined": "some_other_module::MyStruct"
},
"index": false
Text moved with changes to lines 409-413 (97.9% similarity)
}
]
}
],
"errors": [
{
{
複製
已複製
複製
已複製
Text moved to lines 415-417
Text moved from lines 19-21
"code": 6000,
"name": "
BYTE_STR
",
"name": "
SomeError
",
"
type
": "
u8",
"
msg
": "
Example error.
"
"value": "116
"
},
},
{
{
複製
已複製
複製
已複製
Text moved to lines 420-422
"code": 6001,
"name": "
I128
",
"name": "
OtherError
",
"
type
": "
i128",
"
msg
": "
Another error.
"
"value": "1000000
"
},
},
{
{
複製
已複製
複製
已複製
Text moved from lines 9-11
"code": 6002,
"name": "
U8",
"name": "
ErrorWithoutMsg
"
"type": "u8",
"value": "6
"
}
}
]
]
}
}
已保存差異
原始文本
開啟檔案
{ "version": "0.1.0", "name": "idl", "docs": [ "IDL test program documentation." ], "constants": [ { "name": "U8", "type": "u8", "value": "6" }, { "name": "I128", "type": "i128", "value": "1_000_000" }, { "name": "BYTE_STR", "type": "u8", "value": "116" }, { "name": "BYTES_STR", "type": "bytes", "value": "[116, 101, 115, 116]" } ], "instructions": [ { "name": "initialize", "accounts": [ { "name": "state", "isMut": true, "isSigner": true, "docs": [ "State account" ] }, { "name": "nested", "accounts": [ { "name": "clock", "isMut": false, "isSigner": false, "docs": [ "Sysvar clock" ] }, { "name": "rent", "isMut": false, "isSigner": false } ] }, { "name": "zcAccount", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": false, "isSigner": false }, { "name": "mintAccount", "isMut": false, "isSigner": false }, { "name": "tokenInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "mintInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "initializeWithValues", "docs": [ "Initializes an account with specified values" ], "accounts": [ { "name": "state", "isMut": true, "isSigner": true, "docs": [ "State account" ] }, { "name": "nested", "accounts": [ { "name": "clock", "isMut": false, "isSigner": false, "docs": [ "Sysvar clock" ] }, { "name": "rent", "isMut": false, "isSigner": false } ] }, { "name": "zcAccount", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": false, "isSigner": false }, { "name": "mintAccount", "isMut": false, "isSigner": false }, { "name": "tokenInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "mintInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "boolField", "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "i8Field", "type": "i8" }, { "name": "u16Field", "type": "u16" }, { "name": "i16Field", "type": "i16" }, { "name": "u32Field", "type": "u32" }, { "name": "i32Field", "type": "i32" }, { "name": "f32Field", "type": "f32" }, { "name": "u64Field", "type": "u64" }, { "name": "i64Field", "type": "i64" }, { "name": "f64Field", "type": "f64" }, { "name": "u128Field", "type": "u128" }, { "name": "i128Field", "type": "i128" }, { "name": "bytesField", "type": "bytes" }, { "name": "stringField", "type": "string" }, { "name": "pubkeyField", "type": "publicKey" }, { "name": "vecField", "type": { "vec": "u64" } }, { "name": "vecStructField", "type": { "vec": { "defined": "FooStruct" } } }, { "name": "optionField", "type": { "option": "bool" } }, { "name": "optionStructField", "type": { "option": { "defined": "FooStruct" } } }, { "name": "structField", "type": { "defined": "FooStruct" } }, { "name": "arrayField", "type": { "array": [ "bool", 3 ] } }, { "name": "enumField1", "type": { "defined": "FooEnum" } }, { "name": "enumField2", "type": { "defined": "FooEnum" } }, { "name": "enumField3", "type": { "defined": "FooEnum" } }, { "name": "enumField4", "type": { "defined": "FooEnum" } } ] }, { "name": "initializeWithValues2", "docs": [ "a separate instruction due to initialize_with_values having too many arguments", "https://github.com/solana-labs/solana/issues/23978" ], "accounts": [ { "name": "state", "isMut": true, "isSigner": true }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "vecOfOption", "type": { "vec": { "option": "u64" } } }, { "name": "boxField", "type": "bool" } ], "returns": { "defined": "SomeRetStruct" } }, { "name": "causeError", "accounts": [], "args": [] } ], "accounts": [ { "name": "State", "docs": [ "An account containing various fields" ], "type": { "kind": "struct", "fields": [ { "name": "boolField", "docs": [ "A boolean field" ], "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "i8Field", "type": "i8" }, { "name": "u16Field", "type": "u16" }, { "name": "i16Field", "type": "i16" }, { "name": "u32Field", "type": "u32" }, { "name": "i32Field", "type": "i32" }, { "name": "f32Field", "type": "f32" }, { "name": "u64Field", "type": "u64" }, { "name": "i64Field", "type": "i64" }, { "name": "f64Field", "type": "f64" }, { "name": "u128Field", "type": "u128" }, { "name": "i128Field", "type": "i128" }, { "name": "bytesField", "type": "bytes" }, { "name": "stringField", "type": "string" }, { "name": "pubkeyField", "type": "publicKey" }, { "name": "vecField", "type": { "vec": "u64" } }, { "name": "vecStructField", "type": { "vec": { "defined": "FooStruct" } } }, { "name": "optionField", "type": { "option": "bool" } }, { "name": "optionStructField", "type": { "option": { "defined": "FooStruct" } } }, { "name": "structField", "type": { "defined": "FooStruct" } }, { "name": "arrayField", "type": { "array": [ "bool", 3 ] } }, { "name": "enumField1", "type": { "defined": "FooEnum" } }, { "name": "enumField2", "type": { "defined": "FooEnum" } }, { "name": "enumField3", "type": { "defined": "FooEnum" } }, { "name": "enumField4", "type": { "defined": "FooEnum" } } ] } }, { "name": "State2", "type": { "kind": "struct", "fields": [ { "name": "vecOfOption", "type": { "vec": { "option": "u64" } } }, { "name": "boxField", "type": "bool" } ] } }, { "name": "SomeZcAccount", "type": { "kind": "struct", "fields": [ { "name": "field", "type": { "defined": "ZcStruct" } } ] } } ], "types": [ { "name": "MyStruct", "type": { "kind": "struct", "fields": [ { "name": "someU8", "type": "u8" } ] } }, { "name": "BarStruct", "docs": [ "Bar struct type" ], "type": { "kind": "struct", "fields": [ { "name": "someField", "docs": [ "Some field" ], "type": "bool" }, { "name": "otherField", "type": "u8" } ] } }, { "name": "FooStruct", "type": { "kind": "struct", "fields": [ { "name": "field1", "type": "u8" }, { "name": "field2", "type": "u16" }, { "name": "nested", "type": { "defined": "BarStruct" } }, { "name": "vecNested", "type": { "vec": { "defined": "BarStruct" } } }, { "name": "optionNested", "type": { "option": { "defined": "BarStruct" } } }, { "name": "enumField", "type": { "defined": "FooEnum" } } ] } }, { "name": "ZcStruct", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u16" } ] } }, { "name": "SomeRetStruct", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u8" } ] } }, { "name": "FooEnum", "docs": [ "Enum type" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ "bool", "u8", { "defined": "BarStruct" } ] }, { "name": "UnnamedSingle", "fields": [ { "defined": "BarStruct" } ] }, { "name": "Named", "fields": [ { "name": "boolField", "docs": [ "A bool field inside a struct tuple kind" ], "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "nested", "type": { "defined": "BarStruct" } } ] }, { "name": "Struct", "fields": [ { "defined": "BarStruct" } ] }, { "name": "OptionStruct", "fields": [ { "option": { "defined": "BarStruct" } } ] }, { "name": "VecStruct", "fields": [ { "vec": { "defined": "BarStruct" } } ] }, { "name": "NoFields" } ] } } ], "events": [ { "name": "SomeEvent", "fields": [ { "name": "boolField", "type": "bool", "index": false }, { "name": "externalMyStruct", "type": { "defined": "external::MyStruct" }, "index": false }, { "name": "otherModuleMyStruct", "type": { "defined": "some_other_module::MyStruct" }, "index": false } ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "Example error." }, { "code": 6001, "name": "OtherError", "msg": "Another error." }, { "code": 6002, "name": "ErrorWithoutMsg" } ] }
更改後文本
開啟檔案
{ "address": "id11111111111111111111111111111111111111111", "metadata": { "name": "idl", "version": "0.1.0", "description": "Created with Anchor" }, "docs": [ "IDL test program documentation." ], "instructions": [ { "name": "cause_error", "discriminator": [ 67, 104, 37, 17, 2, 155, 68, 17 ], "accounts": [], "args": [] }, { "name": "initialize", "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ], "accounts": [ { "name": "state", "docs": [ "State account" ], "writable": true, "signer": true }, { "name": "nested", "accounts": [ { "name": "clock", "docs": [ "Sysvar clock" ], "address": "SysvarC1ock11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ] }, { "name": "zc_account" }, { "name": "token_account" }, { "name": "mint_account" }, { "name": "token_interface_account" }, { "name": "mint_interface_account" }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [] }, { "name": "initialize_with_values", "docs": [ "Initializes an account with specified values" ], "discriminator": [ 220, 73, 8, 213, 178, 69, 181, 141 ], "accounts": [ { "name": "state", "docs": [ "State account" ], "writable": true, "signer": true }, { "name": "nested", "accounts": [ { "name": "clock", "docs": [ "Sysvar clock" ], "address": "SysvarC1ock11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ] }, { "name": "zc_account" }, { "name": "token_account" }, { "name": "mint_account" }, { "name": "token_interface_account" }, { "name": "mint_interface_account" }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "bool_field", "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "i8_field", "type": "i8" }, { "name": "u16_field", "type": "u16" }, { "name": "i16_field", "type": "i16" }, { "name": "u32_field", "type": "u32" }, { "name": "i32_field", "type": "i32" }, { "name": "f32_field", "type": "f32" }, { "name": "u64_field", "type": "u64" }, { "name": "i64_field", "type": "i64" }, { "name": "f64_field", "type": "f64" }, { "name": "u128_field", "type": "u128" }, { "name": "i128_field", "type": "i128" }, { "name": "bytes_field", "type": "bytes" }, { "name": "string_field", "type": "string" }, { "name": "pubkey_field", "type": "pubkey" }, { "name": "vec_field", "type": { "vec": "u64" } }, { "name": "vec_struct_field", "type": { "vec": { "defined": { "name": "FooStruct" } } } }, { "name": "option_field", "type": { "option": "bool" } }, { "name": "option_struct_field", "type": { "option": { "defined": { "name": "FooStruct" } } } }, { "name": "struct_field", "type": { "defined": { "name": "FooStruct" } } }, { "name": "array_field", "type": { "array": [ "bool", 3 ] } }, { "name": "enum_field_1", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_2", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_3", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_4", "type": { "defined": { "name": "FooEnum" } } } ] }, { "name": "initialize_with_values2", "docs": [ "a separate instruction due to initialize_with_values having too many arguments", "https://github.com/solana-labs/solana/issues/23978" ], "discriminator": [ 248, 190, 21, 97, 239, 148, 39, 181 ], "accounts": [ { "name": "state", "writable": true, "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "vec_of_option", "type": { "vec": { "option": "u64" } } }, { "name": "box_field", "type": "bool" } ], "returns": { "defined": { "name": "SomeRetStruct" } } } ], "accounts": [ { "name": "SomeZcAccount", "discriminator": [ 56, 72, 82, 194, 210, 35, 17, 191 ] }, { "name": "State", "discriminator": [ 216, 146, 107, 94, 104, 75, 182, 177 ] }, { "name": "State2", "discriminator": [ 106, 97, 255, 161, 250, 205, 185, 192 ] } ], "events": [ { "name": "SomeEvent", "discriminator": [ 39, 221, 150, 148, 91, 206, 29, 93 ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "Example error." }, { "code": 6001, "name": "OtherError", "msg": "Another error." }, { "code": 6002, "name": "ErrorWithoutMsg" } ], "types": [ { "name": "BarStruct", "docs": [ "Bar struct type" ], "type": { "kind": "struct", "fields": [ { "name": "some_field", "docs": [ "Some field" ], "type": "bool" }, { "name": "other_field", "type": "u8" } ] } }, { "name": "FooEnum", "docs": [ "Enum type" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ "bool", "u8", { "defined": { "name": "BarStruct" } } ] }, { "name": "UnnamedSingle", "fields": [ { "defined": { "name": "BarStruct" } } ] }, { "name": "Named", "fields": [ { "name": "bool_field", "docs": [ "A bool field inside a struct tuple kind" ], "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "nested", "type": { "defined": { "name": "BarStruct" } } } ] }, { "name": "Struct", "fields": [ { "defined": { "name": "BarStruct" } } ] }, { "name": "OptionStruct", "fields": [ { "option": { "defined": { "name": "BarStruct" } } } ] }, { "name": "VecStruct", "fields": [ { "vec": { "defined": { "name": "BarStruct" } } } ] }, { "name": "NoFields" } ] } }, { "name": "FooStruct", "type": { "kind": "struct", "fields": [ { "name": "field1", "type": "u8" }, { "name": "field2", "type": "u16" }, { "name": "nested", "type": { "defined": { "name": "BarStruct" } } }, { "name": "vec_nested", "type": { "vec": { "defined": { "name": "BarStruct" } } } }, { "name": "option_nested", "type": { "option": { "defined": { "name": "BarStruct" } } } }, { "name": "enum_field", "type": { "defined": { "name": "FooEnum" } } } ] } }, { "name": "SomeEvent", "type": { "kind": "struct", "fields": [ { "name": "bool_field", "type": "bool" }, { "name": "external_my_struct", "type": { "defined": { "name": "external::MyStruct" } } }, { "name": "other_module_my_struct", "type": { "defined": { "name": "idl::some_other_module::MyStruct" } } } ] } }, { "name": "SomeRetStruct", "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u8" } ] } }, { "name": "SomeZcAccount", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "field", "type": { "defined": { "name": "ZcStruct" } } } ] } }, { "name": "State", "docs": [ "An account containing various fields" ], "type": { "kind": "struct", "fields": [ { "name": "bool_field", "docs": [ "A boolean field" ], "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "i8_field", "type": "i8" }, { "name": "u16_field", "type": "u16" }, { "name": "i16_field", "type": "i16" }, { "name": "u32_field", "type": "u32" }, { "name": "i32_field", "type": "i32" }, { "name": "f32_field", "type": "f32" }, { "name": "u64_field", "type": "u64" }, { "name": "i64_field", "type": "i64" }, { "name": "f64_field", "type": "f64" }, { "name": "u128_field", "type": "u128" }, { "name": "i128_field", "type": "i128" }, { "name": "bytes_field", "type": "bytes" }, { "name": "string_field", "type": "string" }, { "name": "pubkey_field", "type": "pubkey" }, { "name": "vec_field", "type": { "vec": "u64" } }, { "name": "vec_struct_field", "type": { "vec": { "defined": { "name": "FooStruct" } } } }, { "name": "option_field", "type": { "option": "bool" } }, { "name": "option_struct_field", "type": { "option": { "defined": { "name": "FooStruct" } } } }, { "name": "struct_field", "type": { "defined": { "name": "FooStruct" } } }, { "name": "array_field", "type": { "array": [ "bool", 3 ] } }, { "name": "enum_field_1", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_2", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_3", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_4", "type": { "defined": { "name": "FooEnum" } } } ] } }, { "name": "State2", "type": { "kind": "struct", "fields": [ { "name": "vec_of_option", "type": { "vec": { "option": "u64" } } }, { "name": "box_field", "type": "bool" } ] } }, { "name": "ZcStruct", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u16" } ] } }, { "name": "external::MyStruct", "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u8" } ] } }, { "name": "idl::some_other_module::MyStruct", "type": { "kind": "struct", "fields": [ { "name": "some_u8", "type": "u8" } ] } } ], "constants": [ { "name": "BYTES_STR", "type": "bytes", "value": "[116, 101, 115, 116]" }, { "name": "BYTE_STR", "type": "u8", "value": "116" }, { "name": "I128", "type": "i128", "value": "1000000" }, { "name": "U8", "type": "u8", "value": "6" } ] }
尋找差異